# ElevenLabs Turbo 2.5 — API Reference Model ID: `model_elevenlabs-turbo-v2-5` --- ## Authentication Scenario API uses HTTP Basic Auth. Encode your credentials in Base64 and pass them as the `Authorization` header. ``` Authorization: Basic base64(":") ``` - **API_KEY** and **API_SECRET** are found in your [Scenario Project Settings](https://app.scenario.com/team&tab=project_api_keys) under API Keys. - In shell: `$(echo -n ':' | base64)` - In JavaScript: `btoa(":")` - In Python: `base64.b64encode(f"{api_key}:{api_secret}".encode()).decode()` --- ## Generate **Endpoint:** `POST https://api.cloud.scenario.com/v1/generate/custom/model_elevenlabs-turbo-v2-5` ### Parameters | Parameter | Type | Required | Default | Description | |-----------|------|----------|---------|-------------| | `text` | string | yes | - | The text to convert to speech | | `voice` | string | - | `Aria` | The voice to use for speech generation | | `stability` | number | - | `0.5` | Voice stability | | `similarityBoost` | number | - | `0.5` | Similarity boost | | `styleExaggeration` | number | - | `0` | Style exaggeration | | `speed` | number | - | `1` | Speech speed (0.7-1.2). Values below 1.0 slow down the speech, above 1.0 speed it up. Extreme values may affect quality. | | `previousText` | string | - | - | The text that came before the text of the current request. Can be used to improve the speech's continuity when concatenating together multiple generations or to influence the speech's continuity in the current generation. | | `nextText` | string | - | - | The text that comes after the text of the current request. Can be used to improve the speech's continuity when concatenating together multiple generations or to influence the speech's continuity in the current generation. | | `languageCode` | string | - | `` | Language code (ISO 639-1) used to enforce a language for the model. Currently only Turbo v2.5 and Flash v2.5 support language enforcement. | ### Example Requests **cURL** ```bash curl -X POST "https://api.cloud.scenario.com/v1/generate/custom/model_elevenlabs-turbo-v2-5" \ -H "Authorization: Basic $(echo -n ':' | base64)" \ -H "Content-Type: application/json" \ --data-binary @- <<'EOF' { "text": "A fantasy landscape", "voice": "Aria", "stability": 0.5, "similarityBoost": 0.5, "styleExaggeration": 0, "speed": 1, "languageCode": "" } EOF ``` **Python** ```python import requests import base64 api_key = "" api_secret = "" token = base64.b64encode(f"{api_key}:{api_secret}".encode()).decode() url = "https://api.cloud.scenario.com/v1/generate/custom/model_elevenlabs-turbo-v2-5" headers = { "Authorization": f"Basic {token}", "Content-Type": "application/json" } payload = { "text": "A fantasy landscape", "voice": "Aria", "stability": 0.5, "similarityBoost": 0.5, "styleExaggeration": 0, "speed": 1, "languageCode": "" } response = requests.post(url, headers=headers, json=payload) print(response.json()) ``` **JavaScript** ```javascript const token = btoa(":"); const body = { "text": "A fantasy landscape", "voice": "Aria", "stability": 0.5, "similarityBoost": 0.5, "styleExaggeration": 0, "speed": 1, "languageCode": "" }; const response = await fetch( "https://api.cloud.scenario.com/v1/generate/custom/model_elevenlabs-turbo-v2-5", { method: "POST", headers: { "Authorization": `Basic ${token}`, "Content-Type": "application/json", }, body: JSON.stringify(body), } ); const data = await response.json(); console.log(data); ``` --- ## Retrieve Results After submitting a generation request, you receive a `jobId`. Poll the job status endpoint until the job completes. **Endpoint:** `GET https://api.cloud.scenario.com/v1/jobs/{jobId}` **Headers:** ``` Authorization: Basic base64(":") ``` Poll until `job.status` is `"success"`. The generated asset IDs are in `job.metadata.assetIds`. **Example response:** ```json { "job": { "jobId": "job_abc123", "status": "success", "metadata": { "assetIds": [ "asset_abc123" ] } } } ``` > **Important:** Generated asset URLs are **temporary** and expire after a short period. Download and store any images you wish to keep before the URL expires. More info: [Content Delivery Network (CDN)](https://docs.scenario.com/docs/content-delivery-network-cdn). --- *Generated by [Scenario](https://app.scenario.com)*