apicheats.dev elevenlabs/llms.txt Raw .md
POST

/v1/flows/video

ElevenLabs API

Create Video Generation

Base URL
https://api.elevenlabs.io
Auth
xi-api-key: <ELEVENLABS_API_KEY>
Last verified
2026-09-03 · upstream hash matched
Actions
Agents: curl -H "Accept: text/markdown" this URL
→ 218 tokens · Vary: Accept

Critical gotchas

Authentication uses the non-standard xi-api-key header, not Authorization: Bearer. Sending a Bearer token returns HTTP 401.

Text-to-speech responses are raw binary audio, not JSON. Write the body to a file (--output speech.mp3) rather than parsing it.

cURL

curl -X POST 'https://api.elevenlabs.io/v1/flows/video' \  -H "xi-api-key: $ELEVENLABS_API_KEY" \  -H 'Content-Type: application/json' \  -d '{  "webhook": {    "type": "all"  },  "model_id": "string",  "image": {    "type": "string",    "generation_id": "string"  },  "audio": {    "type": "string",    "generation_id": "string"  },  "resolution": "720p",  "guidance_scale": 0,  "audio_guidance_scale": 0}'
Get a free ElevenLabs API key → sponsored

Parameters

Name In Type Required Description
webhook body object No Include to send the generation's result to the workspace's configured flows webhooks once it completes or fails. The webhook payload matches the terminal response of the corresponding GET endpoint.
model_id body string Yes The model to use for the generation.
image body object Yes The output of a prior generation on this API.
audio body object Yes The output of a prior generation on this API.
resolution body string No The resolution of the output video.
guidance_scale body number No How strongly the generation adheres to the input image. Omit to use the model's default.
audio_guidance_scale body number No How strongly the lip movements adhere to the audio. Omit to use the model's default.

Response 200 OK

{
  "id": "JWr5N6X9ZTqf8jD2LmQb",
  "status": "pending"
}