Skip to main content
POST
/
speech
curl --request POST \
  --url https://api.varg.ai/v1/speech \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data @- <<EOF
{
  "model": "eleven_v3",
  "text": "Welcome to today's episode. We'll be exploring the fascinating world of deep sea creatures.",
  "voice": "rachel"
}
EOF
{
  "job_id": "job_a1b2c3d4",
  "status": "completed",
  "model": "fal:kling-v2.5",
  "created_at": "2026-02-13T10:00:00Z",
  "completed_at": "2026-02-13T10:02:30Z",
  "output": {
    "url": "https://s3.varg.ai/o/job_a1b2c3d4.mp4",
    "media_type": "video/mp4"
  },
  "cache": {
    "hit": false,
    "key": "sha256:abc123..."
  },
  "error": "Provider returned an error"
}

Authorizations

Authorization
string
header
required

API key from varg.ai/dashboard.

Pass as Authorization: Bearer varg_xxx.

Body

application/json
model
string
required

Speech model to use.

Latest: eleven_v3 (best quality, multilingual)

Fast: eleven_flash_v2_5, eleven_flash_v2 (lowest latency)

Turbo: eleven_turbo_v2_5, eleven_turbo_v2, turbo (balanced)

Multilingual: eleven_multilingual_v2 (29 languages)

Examples:

"eleven_v3"

"eleven_flash_v2_5"

"eleven_multilingual_v2"

"eleven_turbo_v2_5"

"turbo"

text
string
required

Text to convert to speech

Example:

"Hello everyone! Welcome to my channel."

voice
enum<string>
default:rachel

Voice name or ElevenLabs voice_id. Use GET /voices to browse available voices.

Available options:
rachel,
domi,
sarah,
antoni,
elli,
josh,
arnold,
adam,
sam
provider_options
object

Additional options passed directly to the provider (e.g. stability, similarity_boost, style)

Response

Job created

job_id
string
required

Unique job identifier

Example:

"job_a1b2c3d4"

status
enum<string>
required

Current job status

Available options:
queued,
processing,
completed,
failed,
cancelled
Example:

"completed"

model
string
required

Resolved model identifier (provider:model format)

Example:

"fal:kling-v2.5"

created_at
string<date-time>
required

When the job was created

Example:

"2026-02-13T10:00:00Z"

completed_at
string<date-time>

When the job finished (completed, failed, or cancelled)

Example:

"2026-02-13T10:02:30Z"

output
object

Job output, present when status is completed

cache
object

Cache metadata

error
string

Error message, present when status is failed

Example:

"Provider returned an error"