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

# Quickstart

> From zero to your first hello.wav in three steps.

<Steps>
  <Step title="Get an API key">
    Create a key in the [Geko console](https://app.geko.sh). Keys look like `sk-tokay-…`. Keep it server-side — treat it like a password. New accounts get **\$1.00 of free credits**.

    ```bash theme={null}
    export GEKO_API_KEY=sk-tokay-...
    ```
  </Step>

  <Step title="Make a sound">
    Pick whichever feels natural — all three do the same thing.

    <CodeGroup>
      ```bash CLI theme={null}
      # no code, no install
      npx @gekoai/sdk say "Сәлеметсіз бе!" --voice Aigerim -o hello.wav
      ```

      ```ts SDK theme={null}
      import { Geko } from "@gekoai/sdk";
      import { writeFile } from "node:fs/promises";

      const geko = new Geko({ apiKey: process.env.GEKO_API_KEY });

      const audio = await geko.tts.create({
        text: "Сәлеметсіз бе!",
        voice: "Aigerim",
      });

      await writeFile("hello.wav", Buffer.from(audio));
      ```

      ```python Python theme={null}
      import os, requests

      res = requests.post(
          "https://geko--tokay-serve-web.modal.run/v1/tts",
          headers={"Authorization": f"Bearer {os.environ['GEKO_API_KEY']}"},
          json={"text": "Сәлеметсіз бе!", "voice": "Aigerim"},
      )
      res.raise_for_status()
      open("hello.wav", "wb").write(res.content)
      ```

      ```bash curl theme={null}
      curl -X POST https://geko--tokay-serve-web.modal.run/v1/tts \
        -H "Authorization: Bearer $GEKO_API_KEY" \
        -H "Content-Type: application/json" \
        -d '{"text":"Сәлеметсіз бе!","voice":"Aigerim"}' \
        --output hello.wav
      ```
    </CodeGroup>
  </Step>

  <Step title="Play it">
    ```bash theme={null}
    afplay hello.wav   # macOS
    aplay hello.wav    # Linux
    ```

    That's it. `hello.wav` is 24 kHz, 16-bit PCM mono.
  </Step>
</Steps>

## Install the SDK

```bash theme={null}
npm install @gekoai/sdk
```

The SDK has **no runtime dependencies** and ships both ESM and CommonJS with types. Requires Node 20+ (or Deno / Bun / modern browsers).

## What next

<CardGroup cols={2}>
  <Card title="Pick a voice" icon="waveform-lines" href="/voices">
    Browse the catalog and audition each voice.
  </Card>

  <Card title="Latency vs. quality" icon="gauge-high" href="/guides/latency">
    Tune the `nfe` dial for speed or fidelity.
  </Card>

  <Card title="Use it in your app" icon="react" href="/guides/frameworks">
    Server-side Next.js / Express integration, done right.
  </Card>

  <Card title="Errors & retries" icon="shield-check" href="/sdk/errors">
    Handle failures cleanly in production.
  </Card>
</CardGroup>

<Note>
  **First call slow?** The GPU backend scales to zero when idle, so a cold start can take tens of seconds; subsequent calls are fast. The SDK's default 120 s timeout accounts for this.
</Note>
