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

POST /v1/flows/templates/{template_id}/runs — ElevenLabs API

ElevenLabs API

Create Template Run

Base URL
https://api.elevenlabs.io
Auth
xi-api-key: <ELEVENLABS_API_KEY>
Last verified
2026-09-22 · upstream hash matched
Actions Try in browser
Agents: curl -H "Accept: text/markdown" this URL
→ 227 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/templates/template-id/runs' \  -H "xi-api-key: $ELEVENLABS_API_KEY" \  -H 'Content-Type: application/json' \  -d '{  "inputs": {    "prompt": "a corgi on a surfboard",    "reference": {      "asset_id": "5xM2KqOnZyce22SPZ9d4",      "type": "asset"    }  },  "version_id": "latest",  "webhook": {    "type": "all"  }}'

Parameters

Name In Type Required Description
template_id path string Yes The ID of the template, as shown in the ElevenLabs app or by `GET /v1/flows/templates`.
inputs body object Yes Input values keyed by input port id. Every input port of the version being run must be given; a missing or unknown id is rejected. Pass `{}` for a template with no inputs.
version_id body string No The template snapshot to run. Pass a specific version id to pin that snapshot, or `latest` (the default when omitted) to run the template's most recently published version. Only published versions can be pinned, except by the template's owner, who may also pin an unpublished saved snapshot to try it out before publishing. The live draft is never run through this API.
webhook body object No Include to send the run's result to the workspace's configured flows webhooks once the run's `status` reaches `completed` or `failed`. One event for the whole run: the `flows_template_run` event's `data` matches the terminal response of `GET /v1/flows/templates/{template_id}/runs/{run_id}`.

Response 200 OK

{
  "id": "sess_JWr5N6X9ZTqf8jD2LmQb",
  "outputs": {
    "marketing_title": {
      "content": "Ride the wave.",
      "id": "Kx2mP7Y4WVrg9kE3NnRc",
      "status": "completed",
      "type": "string"
    },
    "product_demo": {
      "id": "QWr5N6X9ZTqf8jD2La3B",
      "status": "generating",
      "type": "video"
    },
    "product_still": {
      "content_mime_type": "image/png",
      "content_url": "https://storage.googleapis.com/generations/JWr5N6X9ZTqf8jD2LmQb",
      "id": "JWr5N6X9ZTqf8jD2LmQb",
      "status": "completed",
      "type": "image"
    }
  },
  "status": "generating",
  "template_id": "tmpl_abc123",
  "version_id": "ver_01hxyz"
}
Get a free ElevenLabs API key → sponsored