Jingles
Create a jingle generation request
POST
https://api.tunio.ai/ v1/ jingles/ requestsQueue a jingle for the generator the control panel uses: a voice over a generated music bed (full), music only (instrumental) or voice only (voice). Poll GET /v1/jingles/requests/{request_id} until the state is completed; the jingle is then a file of the caller's library (jingle_id, also listed by GET /v1/jingles) that can be added to bundles. Credits are charged once, only when generation succeeds (ledger type jingle_generation); a failed request costs nothing. Up to 20 requests may be pending or processing per account. Rate limited to 60 calls per minute per account across the jingle request endpoints.
Request body
Jingle parameters
| Name | Type | Description |
|---|---|---|
| end_pause_seconds | integer | EndPauseSeconds is silence added at the end, 0..5 (default 0). |
| generation_type | string | GenerationType is full (voice over a generated music bed, default), instrumental (music only) or voice (voice only). |
| model_id | string | ModelID is the voice from GET /v1/tts/models, including the caller's cloned voices; required for full and voice. |
| music_duration | integer | MusicDuration is the music length in seconds, 5..30; required for instrumental and ignored otherwise. |
| style_prompt | string | StylePrompt describes the music bed, up to 800 characters; required for full and instrumental. |
| text | string | Text is what the voice says, up to 600 characters; required for full and voice. |
| voice_effect | string | VoiceEffect is none (default) or telephone; ignored for instrumental. |
Request example
01{02 "end_pause_seconds": 0,03 "generation_type": "full",04 "model_id": "123e4567-e89b-12d3-a456-426614174000",05 "music_duration": 10,06 "style_prompt": "Upbeat pop radio ident, bright synths, 120 BPM",07 "text": "Tunio radio. Music for your business.",08 "voice_effect": "none"09}
Responses
| Name | Type | Description |
|---|---|---|
| request | object | - |
| audio_url | string | AudioURL is the CDN link to the jingle, set once completed. |
| completed_at | string | CompletedAt is when the jingle was generated. |
| cost | integer | Cost in credits: the estimate while pending or processing, the amount charged once completed. Nothing is charged for a failed request. |
| created_at | string | CreatedAt is when the request was accepted. |
| duration | integer | Duration of the jingle in seconds, set once completed. |
| end_pause_seconds | integer | EndPauseSeconds is the silence added at the end. |
| error | string | Error is a machine-readable failure code (insufficient_balance, processing_timeout, generation_failed), set only when state is failed. |
| generation_type | string | GenerationType is full, instrumental or voice. |
| jingle_id | string | JingleID is the generated jingle in the caller's library, set once completed; add it to a bundle with POST /v1/jingle-bundles/{bundle_id}/items. |
| model_id | string | ModelID is the voice the text is spoken with, null for instrumental. |
| music_duration | integer | MusicDuration is the requested music length for instrumental jingles. |
| request_id | string | RequestID uniquely identifies the request. |
| state | string | State is pending, processing, completed or failed. |
| style_prompt | string | StylePrompt describes the music bed. |
| text | string | Text is what the voice says. |
| title | string | Title is the generated jingle's title, set once completed. |
| voice_effect | string | VoiceEffect is none or telephone. |
| success | boolean | - |
| Name | Type | Description |
|---|---|---|
| message | string | Message contains human readable error details. |
| success | boolean | Success is always false for error payloads. |
| Name | Type | Description |
|---|---|---|
| message | string | Message contains human readable error details. |
| success | boolean | Success is always false for error payloads. |
| Name | Type | Description |
|---|---|---|
| message | string | Message contains human readable error details. |
| success | boolean | Success is always false for error payloads. |
| Name | Type | Description |
|---|---|---|
| message | string | Message contains human readable error details. |
| success | boolean | Success is always false for error payloads. |
| Name | Type | Description |
|---|---|---|
| message | string | Message contains human readable error details. |
| success | boolean | Success is always false for error payloads. |
| Name | Type | Description |
|---|---|---|
| message | string | Message contains human readable error details. |
| success | boolean | Success is always false for error payloads. |