Generate AD audio
Audio Generation
Generate AD Audio
Generate an audio-only track with Audio Descriptions.
Supports Input via media_id, url, or direct file upload.
Returns a job_id for tracking progress.
POST
Generate AD audio
This endpoint is available for Standard AD only. Descriptions are placed in existing dialogue gaps without changing the runtime. See Standard AD vs Extended AD if you need pauses inserted for fuller descriptions. Extended AD is supported on the video and text endpoints.
Usage Examples
1. Using an existing Media ID
If you have already uploaded media and have amedia_id, use this method.
2. Using a Public URL
Upload from a URL and generate in a single step.3. Uploading a Local File
Upload a file directly and generate in a single step.Direct multipart upload supports local files up to 32 MB. For larger local files, see Large Local File Upload.
Generation Config Options
| Option | Type | Description |
|---|---|---|
auto_fit | boolean | Fits descriptions into detected no-speech zones when possible. |
allow_descriptions_over_music | boolean | Allows descriptions over detected music when no better timing is available. |
custom_captions | object | Uses provided captions for transcript/context instead of auto-generating them. Send { "content": "<VTT/SRT/plaintext>" }; format and filename are optional hints. The server parses, validates, and normalizes the cues automatically. |
volume_option | auto or max | Use max to set a target max peak level for the AD track, or auto for the default. |
volume_level_db | number | Max peak level in dBFS when volume_option is max. Supported range is -10 to 0. |
audio_track_type | mixed or ad_only | Which audio track is returned as audio_signed_url. mixed (default) is the source dialogue plus AD narration. ad_only is just the narration WAV. |
Troubleshooting
For the full list of API error codes, see Error Codes.| Error | HTTP Status | Description |
|---|---|---|
upload_not_ready | 409 | Returned in the code field when the referenced media is still being verified after upload. Retry shortly. |
upload_failed | 409 | Returned in the code field when the referenced media failed upload verification. Re-upload the video and try again. |
concurrency_limit_exceeded | 429 | Too many concurrent submissions are being validated for the current team. Retry after a short delay. |
Authorizations
API key for authentication. Obtain from your team admin.
Example: X-API-Key: vsk_abc123def456ghi789jkl012mno345pqr678stu901vwx234yz

