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

# Quickstart

> Make your first synchronous TTS request

export const apiKeyUrl = "https://www.vmeg.ai/open-api-setting";

export const productUrls = JSON.parse('{"home":"https://www.vmeg.ai/home","apiConfiguration":"https://www.vmeg.ai/open-api-setting","signIn":"https://www.vmeg.ai/signIn?redirect=%2Fhome","signInToApiSettings":"https://www.vmeg.ai/signIn?redirect=%2Fopen-api-setting","signUp":"https://www.vmeg.ai/signup","account":"https://www.vmeg.ai/account","helpCenter":"https://www.vmeg.ai/help-center/","pricing":"https://www.vmeg.ai/pricing","myTasks":"https://www.vmeg.ai/my-tasks","myAssets":"https://www.vmeg.ai/my-assets","videoTranslation":"https://www.vmeg.ai/translation","audioTranslation":"https://www.vmeg.ai/audio-translation","cloneVoice":"https://www.vmeg.ai/clone-voice","bookDemo":"https://www.vmeg.ai/book-a-demo/","contactUs":"https://www.vmeg.ai/contact-us/","apiDocs":"https://docs.vmeg.ai"}');

## Prerequisites

* A paid account with credits — see [Pricing](/guides/pricing)
* An **API Key** — see [API Key](/guides/authentication) and <a href={apiKeyUrl}>API Configuration</a> (<a href={productUrls.signInToApiSettings}>sign in</a> if needed)

## Synchronous TTS example

Submit one line of text and receive a synthesized audio URL in the HTTP response.

```bash theme={null}
curl -X POST "https://api.vmeg.ai/openapi/v1/task/tts/create" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "language": { "target": "en-US" },
    "outputFormat": "mp3",
    "data": [
      {
        "text": "Hello from VMEG Open API.",
        "voiceId": "YOUR_VOICE_ID"
      }
    ]
  }'
```

On success, `code` is `200` and `data.results` contains CDN audio URLs. Field-level detail: [Create TTS (sync)](/api-reference/introduction) in API reference.

Replace `YOUR_VOICE_ID` with a `voiceId` from [List system voices](/api-reference/assets/voices/list-system-voices) (e.g. `sv_…`).

## Async tasks

For async tasks:

1. Send [`X-Idempotency-Key`](/guides/idempotency) on every `POST` (required, max 64 characters).
2. Configure a [Webhook](/guides/webhooks) URL on <a href={apiKeyUrl}>API Configuration</a>.
3. The HTTP response confirms acceptance only (`taskId`, etc.) — deliverables arrive via [Webhook request body](/guides/webhook-request).

See [Products overview](/guides/products/overview) for sync vs async by product.

## Next steps

<CardGroup cols={2}>
  <Card title="API Key" icon="key" href="/guides/authentication">
    Bearer header and configuration
  </Card>

  <Card title="Text to speech" icon="volume-high" href="/guides/products/text-to-speech">
    TTS workflows and voice selection
  </Card>
</CardGroup>
