> ## Documentation Index
> Fetch the complete documentation index at: https://docs.audixa.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Generate your first audio with Audixa in under 5 minutes

This guide walks you through generating speech with the Audixa API, from creating your account to downloading your first audio file.

## Step 1: Get Your API Key

<Steps>
  <Step title="Create an Account">
    [Sign up for a free Audixa account](https://audixa.ai/auth/signup?utm_source=docs). New accounts receive **10,000 free credits**.
  </Step>

  <Step title="Generate API Key">
    Navigate to [Dashboard → API Keys](https://audixa.ai/dashboard/api) and create a new API key.
  </Step>

  <Step title="Copy Your Key">
    Copy your API key and store it securely. You'll need it for all API requests.
  </Step>
</Steps>

<Warning>
  Keep your API key secret. Never expose it in client-side code or public repositories.
</Warning>

## Step 2: Install the SDK

<CodeGroup>
  ```bash Python theme={null}
  pip install audixa
  ```

  ```bash Node.js theme={null}
  npm install audixa
  ```
</CodeGroup>

## Step 3: Generate Your First Audio

The simplest way to generate audio is using the convenience methods that handle the entire async workflow for you:

<CodeGroup>
  ```python Python theme={null}
  import audixa

  # Set your API key (or use AUDIXA_API_KEY env variable)
  audixa.set_api_key("YOUR_API_KEY")

  # Generate TTS and get audio URL
  audio_url = audixa.tts_and_wait(
      "Hello! Welcome to Audixa, the best text-to-speech API.",
      voice_id="am_ethan",
  )
  print(f"Audio URL: {audio_url}")

  # Or save directly to file
  audixa.tts_to_file(
      "Hello! Welcome to Audixa.",
      "output.wav",
      voice_id="am_ethan",
  )
  ```

  ```typescript TypeScript theme={null}
  import Audixa from 'audixa';

  const audixa = new Audixa('YOUR_API_KEY');

  // Generate TTS and wait for completion
  const audioUrl = await audixa.generateTTS({
    text: 'Hello! Welcome to Audixa, the best text-to-speech API.',
    voice_id: 'am_ethan',
    model: 'base'
  });

  console.log('Audio URL:', audioUrl);
  ```

  ```javascript JavaScript theme={null}
  import Audixa from 'audixa';

  const audixa = new Audixa('YOUR_API_KEY');

  const audioUrl = await audixa.generateTTS({
    text: 'Hello! Welcome to Audixa, the best text-to-speech API.',
    voice_id: 'am_ethan',
    model: 'base'
  });

  console.log('Audio URL:', audioUrl);
  ```

  ```bash cURL theme={null}
  # Step 1: Start TTS job
  curl -X POST "https://api.audixa.ai/v3/tts" \
    -H "Content-Type: application/json" \
    -H "x-api-key: YOUR_API_KEY" \
    -d '{
      "text": "Hello! Welcome to Audixa, the best text-to-speech API.",
      "voice_id": "am_ethan",
      "model": "base"
    }'

  # Response: {"generation_id": "gen_abc123xyz789"}

  # Step 2: Poll for status
  curl -X GET "https://api.audixa.ai/v3/tts?generation_id=gen_abc123xyz789" \
    -H "x-api-key: YOUR_API_KEY"

  # Response when complete: {"status": "Completed", "audio_url": "https://..."}
  ```
</CodeGroup>

<ResponseExample>
  ```json Response theme={null}
  {
    "status": "Completed",
    "audio_url": "https://cdn.audixa.ai/audio/gen_abc123xyz789.wav"
  }
  ```
</ResponseExample>

## Using Advanced Features

<CodeGroup>
  ```python Python theme={null}
  import audixa

  audixa.set_api_key("YOUR_API_KEY")

  # Base model with speed adjustment
  audio_url = audixa.tts_and_wait(
      "Welcome to Audixa AI, your text-to-speech solution.",
      voice_id="am_ethan",
      model="base",
      speed=1.1,  # Slightly faster (0.5 to 2.0)
  )

  # Advanced model with expressiveness controls
  audio_url = audixa.tts_and_wait(
      "This is exciting news! We have launched.",
      voice_id="am_ethan",
      model="advanced",
      cfg_weight=3.5,       # Controls how strictly the model follows the style (1.0-5.0)
      exaggeration=0.7,     # Controls emotional expressiveness (0.0-1.0)
      audio_format="mp3",   # Output format: "wav" or "mp3"
  )
  ```

  ```typescript TypeScript theme={null}
  import Audixa from 'audixa';

  const audixa = new Audixa('YOUR_API_KEY');

  // Base model with speed adjustment
  const audioUrl = await audixa.generateTTS({
    text: 'Welcome to Audixa AI, your text-to-speech solution.',
    voice_id: 'am_ethan',
    model: 'base',
    speed: 1.1  // Slightly faster (0.5 to 2.0)
  });

  // Advanced model with expressiveness controls
  const expressiveUrl = await audixa.generateTTS({
    text: 'This is exciting news! We have launched.',
    voice_id: 'am_ethan',
    model: 'advanced',
    cfg_weight: 3.5,       // Controls how strictly the model follows the style (1.0-5.0)
    exaggeration: 0.7,     // Controls emotional expressiveness (0.0-1.0)
    audio_format: 'mp3'    // Output format: "wav" or "mp3"
  });
  ```

  ```javascript JavaScript theme={null}
  import Audixa from 'audixa';

  const audixa = new Audixa('YOUR_API_KEY');

  // Base model with speed adjustment
  const audioUrl = await audixa.generateTTS({
    text: 'Welcome to Audixa AI, your text-to-speech solution.',
    voice_id: 'am_ethan',
    model: 'base',
    speed: 1.1
  });

  // Advanced model with expressiveness controls
  const expressiveUrl = await audixa.generateTTS({
    text: 'This is exciting news! We have launched.',
    voice_id: 'am_ethan',
    model: 'advanced',
    cfg_weight: 3.5,
    exaggeration: 0.7,
    audio_format: 'mp3'
  });
  ```
</CodeGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Python SDK" icon="python" href="/sdks/python">
    Full SDK documentation with async support and error handling.
  </Card>

  <Card title="Node.js SDK" icon="node-js" href="/sdks/nodejs">
    TypeScript SDK with full type definitions.
  </Card>

  <Card title="Explore Voices" icon="users" href="/guides/voice-library">
    Browse the voice library to find the perfect voice for your project.
  </Card>

  <Card title="API Reference" icon="book" href="/api-reference/introduction">
    Learn about all available parameters and options.
  </Card>
</CardGroup>
