Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode=‘url’ (default) returns a signed GCS audio URL; ‘stream’ returns raw audio bytes with no storage; ‘both’ returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.
POST
/
tasks
/
audio
/
speech
Generate speech (unified TTS endpoint)
curl --request POST \ --url https://api.sunbird.ai/tasks/audio/speech \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "language": "eng", "max_tokens": 1200, "repetition_penalty": 1.1, "response_mode": "url", "seed": 42, "temperature": 0.6, "text": "I am a nurse who takes care of many people.", "top_p": 0.95, "voice": "salt_eng_0001"}'
import requests
url = "https://api.sunbird.ai/tasks/audio/speech"
payload = {
"language": "eng",
"max_tokens": 1200,
"repetition_penalty": 1.1,
"response_mode": "url",
"seed": 42,
"temperature": 0.6,
"text": "I am a nurse who takes care of many people.",
"top_p": 0.95,
"voice": "salt_eng_0001"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
language: 'eng',
max_tokens: 1200,
repetition_penalty: 1.1,
response_mode: 'url',
seed: 42,
temperature: 0.6,
text: 'I am a nurse who takes care of many people.',
top_p: 0.95,
voice: 'salt_eng_0001'
})
};
fetch('https://api.sunbird.ai/tasks/audio/speech', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
Usage for this synthesis (characters, bytes, seconds).
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sunbird AI API","colors":{"primary":"#DC7828","light":"#DC7828","dark":"#DC7828"},"logo":{"light":"https://mintcdn.com/analyticssunbirdai/p5dqIvZVDHCsf_tB/logo/logo_light.png?fit=max\u0026auto=format\u0026n=p5dqIvZVDHCsf_tB\u0026q=85\u0026s=9e35440a8c31879452f811688f2db71e","dark":"https://mintcdn.com/analyticssunbirdai/o2R3vhcekRoJdUva/logo/logo_dark.png?fit=max\u0026auto=format\u0026n=o2R3vhcekRoJdUva\u0026q=85\u0026s=fb5b0b475c6531819f7499e09688219c"},"favicon":"https://mintcdn.com/analyticssunbirdai/lsnNQ_5VSHOkM4yt/sunbird-favicon.jpg?fit=max\u0026auto=format\u0026n=lsnNQ_5VSHOkM4yt\u0026q=85\u0026s=d09e99396a7680a793c8da05d92eb604","navbar":{"primary":{"type":"button","label":"Sunflower","href":"https://sunflower.sunbird.ai"}},"footer":{"socials":{"github":"https://github.com/SunbirdAI","x":"https://x.com/SunbirdAI","website":"https://sunbird.ai","linkedin":"https://www.linkedin.com/company/sunbird-ai"}},"fonts":{"family":"Open Sans"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"analyticssunbirdai","hasAudioNarration":false,"actualSubdomain":"analyticssunbirdai","customDomains":["docs.sunbird.ai"],"gitSource":{"type":"github","owner":"sunbirdai","repo":"official-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ab4d4e96db8efdbd0b21b7a","collectionId":"9f1fc6af-58ff-4855-a1da-67d91a963e4c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ab4d4e96db8efdbd0b21b7a"},"entitlements":{},"buildId":"6ab4d4e96db8efdbd0b21b7a","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"API Reference","count":23},{"language":"default","tag":"API Reference (Legacy)","count":19},{"language":"default","tag":"General","count":13},{"language":"default","tag":"Authentication","count":11},{"language":"default","tag":"Legacy Text to Speech","count":11},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Resources","count":6},{"language":"default","tag":"Models","count":5},{"language":"default","tag":"Sunflower LLM","count":5},{"language":"default","tag":"Legacy Speech to Text","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/speech/text-to-speech","slug":"/api-reference/speech/text-to-speech","pageMetadata":{"title":"Text to Speech","openapi":"api-reference/openapi.json POST /tasks/audio/speech","description":"Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode='url' (default) returns a signed GCS audio URL; 'stream' returns raw audio bytes with no storage; 'both' returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.","href":"/api-reference/speech/text-to-speech"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode=‘url’ (default) returns a signed GCS audio URL; ‘stream’ returns raw audio bytes with no storage; ‘both’ returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Text to Speech","openapi":"api-reference/openapi.json POST /tasks/audio/speech","description":"Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode='url' (default) returns a signed GCS audio URL; 'stream' returns raw audio bytes with no storage; 'both' returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.","href":"/api-reference/speech/text-to-speech"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Text-to-Speech"],"summary":"Generate speech (unified TTS endpoint)","description":"Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode='url' (default) returns a signed GCS audio URL; 'stream' returns raw audio bytes with no storage; 'both' returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.","operationId":"create_speech_tasks_audio_speech_post","requestBody":"8c97b144-c0c0-41d4-a02f-fc93ffcd29dc","responses":{"200":"c5c6db72-ca8e-4dfc-9f57-f41eea596734","422":"ddbba460-a3c4-40af-be1d-b7b03603bb2b"},"security":["87404186-2068-4229-b17d-ef313c001f96"],"method":"post","type":"path","servers":["bc8987fc-63d6-4d7a-92d4-b4a3164ef96d"],"path":"/tasks/audio/speech","baseUrlOptions":["https://api.sunbird.ai"],"title":"Generate speech (unified TTS endpoint)","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"properties":{"text":{"type":"string","minLength":1,"title":"Text","description":"Text to synthesize.","isRequired":true,"uniqueKey":"text","typeLabel":"string"},"voice":{"oneOf":[{"type":"string","title":"Voice","description":"Orpheus speaker catalog tag (e.g. 'salt_lug_0001'). If omitted, a speaker is chosen for `language` (Luganda by default).","uniqueKey":"voice.oneOf.0","typeLabel":"string"},{"type":"null","title":"Voice","description":"Orpheus speaker catalog tag (e.g. 'salt_lug_0001'). If omitted, a speaker is chosen for `language` (Luganda by default).","uniqueKey":"voice.oneOf.1","typeLabel":"null"}],"uniqueKey":"voice","typeLabel":"string | null"},"response_mode":{"type":"string","enum":["url","stream","both"],"title":"TTSResponseMode","description":"url (signed GCS URL), stream (raw audio bytes from RunPod), or both (raw audio bytes with the signed URL in the X-Audio-Url header).","default":"url","uniqueKey":"response_mode","typeLabel":"enum\u003cstring>"},"language":{"oneOf":[{"type":"string","title":"Language","description":"ISO 639-3 code (e.g. 'lug').","uniqueKey":"language.oneOf.0","typeLabel":"string"},{"type":"null","title":"Language","description":"ISO 639-3 code (e.g. 'lug').","uniqueKey":"language.oneOf.1","typeLabel":"null"}],"uniqueKey":"language","typeLabel":"string | null"},"temperature":{"oneOf":[{"type":"number","title":"Temperature","description":"Sampling knob.","uniqueKey":"temperature.oneOf.0","typeLabel":"number"},{"type":"null","title":"Temperature","description":"Sampling knob.","uniqueKey":"temperature.oneOf.1","typeLabel":"null"}],"uniqueKey":"temperature","typeLabel":"number | null"},"top_p":{"oneOf":[{"type":"number","title":"Top P","description":"Sampling knob.","uniqueKey":"top_p.oneOf.0","typeLabel":"number"},{"type":"null","title":"Top P","description":"Sampling knob.","uniqueKey":"top_p.oneOf.1","typeLabel":"null"}],"uniqueKey":"top_p","typeLabel":"number | null"},"repetition_penalty":{"oneOf":[{"type":"number","title":"Repetition Penalty","description":"Sampling knob.","uniqueKey":"repetition_penalty.oneOf.0","typeLabel":"number"},{"type":"null","title":"Repetition Penalty","description":"Sampling knob.","uniqueKey":"repetition_penalty.oneOf.1","typeLabel":"null"}],"uniqueKey":"repetition_penalty","typeLabel":"number | null"},"max_tokens":{"oneOf":[{"type":"integer","title":"Max Tokens","description":"Max tokens per chunk.","uniqueKey":"max_tokens.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Tokens","description":"Max tokens per chunk.","uniqueKey":"max_tokens.oneOf.1","typeLabel":"null"}],"uniqueKey":"max_tokens","typeLabel":"integer | null"},"seed":{"oneOf":[{"type":"integer","title":"Seed","description":"Deterministic seed.","uniqueKey":"seed.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Seed","description":"Deterministic seed.","uniqueKey":"seed.oneOf.1","typeLabel":"null"}],"uniqueKey":"seed","typeLabel":"integer | null"}},"type":"object","required":["text"],"title":"SpeechRequest","description":"Text-to-speech request for the RunPod Orpheus-3B endpoint.","example":{"language":"eng","max_tokens":1200,"repetition_penalty":1.1,"response_mode":"url","seed":42,"temperature":0.6,"text":"I am a nurse who takes care of many people.","top_p":0.95,"voice":"salt_eng_0001"},"uniqueKey":"","typeLabel":"SpeechRequest · object"},"examples":{"Example":{"title":"Example","value":{"language":"eng","max_tokens":1200,"repetition_penalty":1.1,"response_mode":"url","seed":42,"temperature":0.6,"text":"I am a nurse who takes care of many people.","top_p":0.95,"voice":"salt_eng_0001"}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"c5c6db72-ca8e-4dfc-9f57-f41eea596734":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"audio_url":{"type":"string","title":"Audio Url","description":"Signed URL to the generated audio.","isRequired":true,"uniqueKey":"audio_url","typeLabel":"string"},"model":{"type":"string","title":"Model","description":"Model used.","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"platform":{"type":"string","title":"Platform","description":"Platform used.","isRequired":true,"uniqueKey":"platform","typeLabel":"string"},"voice":{"type":"string","title":"Voice","description":"Resolved voice/speaker.","isRequired":true,"uniqueKey":"voice","typeLabel":"string"},"audio_url_expires_at":{"oneOf":[{"type":"string","title":"Audio Url Expires At","format":"date-time","uniqueKey":"audio_url_expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Audio Url Expires At","uniqueKey":"audio_url_expires_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"audio_url_expires_at","typeLabel":"string\u003cdate-time> | null"},"language":{"oneOf":[{"type":"string","title":"Language","uniqueKey":"language.oneOf.0","typeLabel":"string"},{"type":"null","title":"Language","uniqueKey":"language.oneOf.1","typeLabel":"null"}],"uniqueKey":"language","typeLabel":"string | null"},"sample_rate":{"oneOf":[{"type":"integer","title":"Sample Rate","uniqueKey":"sample_rate.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Sample Rate","uniqueKey":"sample_rate.oneOf.1","typeLabel":"null"}],"uniqueKey":"sample_rate","typeLabel":"integer | null"},"duration_seconds":{"oneOf":[{"type":"number","title":"Duration Seconds","uniqueKey":"duration_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Duration Seconds","uniqueKey":"duration_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"duration_seconds","typeLabel":"number | null"},"gcs_object":{"oneOf":[{"type":"string","title":"Gcs Object","uniqueKey":"gcs_object.oneOf.0","typeLabel":"string"},{"type":"null","title":"Gcs Object","uniqueKey":"gcs_object.oneOf.1","typeLabel":"null"}],"uniqueKey":"gcs_object","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","title":"Request Id","uniqueKey":"request_id.oneOf.0","typeLabel":"string"},{"type":"null","title":"Request Id","uniqueKey":"request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"request_id","typeLabel":"string | null"},"timings_ms":{"oneOf":[{"type":"object","title":"Timings Ms","additionalProperties":true,"uniqueKey":"timings_ms.oneOf.0","typeLabel":"Timings Ms · object"},{"type":"null","title":"Timings Ms","uniqueKey":"timings_ms.oneOf.1","typeLabel":"null"}],"uniqueKey":"timings_ms","typeLabel":"Timings Ms · object | null"},"usage":{"oneOf":[{"type":"object","title":"SpeechUsage","description":"Usage for this synthesis (characters, bytes, seconds).","required":["input_characters"],"properties":{"input_characters":{"type":"integer","title":"Input Characters","description":"Number of characters in the synthesized text","isRequired":true,"uniqueKey":"usage.oneOf.0.input_characters","typeLabel":"integer"},"output_audio_bytes":{"oneOf":[{"type":"integer","title":"Output Audio Bytes","description":"Size of the generated audio in bytes","uniqueKey":"usage.oneOf.0.output_audio_bytes.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Output Audio Bytes","description":"Size of the generated audio in bytes","uniqueKey":"usage.oneOf.0.output_audio_bytes.oneOf.1","typeLabel":"null"}],"uniqueKey":"usage.oneOf.0.output_audio_bytes","typeLabel":"integer | null"},"duration_seconds":{"oneOf":[{"type":"number","title":"Duration Seconds","description":"Duration of the generated audio in seconds","uniqueKey":"usage.oneOf.0.duration_seconds.oneOf.0","typeLabel":"number"},{"type":"null","title":"Duration Seconds","description":"Duration of the generated audio in seconds","uniqueKey":"usage.oneOf.0.duration_seconds.oneOf.1","typeLabel":"null"}],"uniqueKey":"usage.oneOf.0.duration_seconds","typeLabel":"number | null"}},"uniqueKey":"usage.oneOf.0","typeLabel":"SpeechUsage · object"},{"type":"null","description":"Usage for this synthesis (characters, bytes, seconds).","uniqueKey":"usage.oneOf.1","typeLabel":"null"}],"uniqueKey":"usage","typeLabel":"SpeechUsage · object | null"}},"type":"object","required":["audio_url","model","platform","voice"],"title":"SpeechResponse","description":"Normalized response for response_mode='url' across all providers.","uniqueKey":"","typeLabel":"SpeechResponse · object"},"examples":{"Example":{"title":"Example","value":{"audio_url":"\u003cstring>","model":"\u003cstring>","platform":"\u003cstring>","voice":"\u003cstring>","audio_url_expires_at":"2023-11-07T05:31:56Z","language":"\u003cstring>","sample_rate":123,"duration_seconds":123,"gcs_object":"\u003cstring>","request_id":"\u003cstring>","timings_ms":{},"usage":{"input_characters":123,"output_audio_bytes":123,"duration_seconds":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"ddbba460-a3c4-40af-be1d-b7b03603bb2b":{"description":"Validation Error","content":{"application/json":{"schema":{"properties":{"detail":{"items":{"properties":{"loc":{"items":{"oneOf":[{"type":"string","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"detail.items.[INDEX].loc.items.[INDEX].oneOf.1","typeLabel":"integer"}],"uniqueKey":"detail.items.[INDEX].loc.items.[INDEX]","typeLabel":"string | integer"},"type":"array","title":"Location","isRequired":true,"uniqueKey":"detail.items.[INDEX].loc","typeLabel":"(string | integer)[]"},"msg":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"detail.items.[INDEX].msg","typeLabel":"string"},"type":{"type":"string","title":"Error Type","isRequired":true,"uniqueKey":"detail.items.[INDEX].type","typeLabel":"string"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError","uniqueKey":"detail.items.[INDEX]","typeLabel":"ValidationError · object"},"type":"array","title":"Detail","uniqueKey":"detail","typeLabel":"ValidationError · object[]"}},"type":"object","title":"HTTPValidationError","uniqueKey":"","typeLabel":"HTTPValidationError · object"},"examples":{"Example":{"title":"Example","value":{"detail":[{"loc":["\u003cstring>"],"msg":"\u003cstring>","type":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"87404186-2068-4229-b17d-ef313c001f96":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/auth/token"}},"scopes":[]}}},"servers":{"bc8987fc-63d6-4d7a-92d4-b4a3164ef96d":{"url":"https://api.sunbird.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/auth/token"}},"scopes":[]},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"The access token received from the authorization server in the OAuth 2.0 flow.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"OAuth2PasswordBearer","name":"Authorization"}],"title":"OAuth2PasswordBearer"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"analyticssunbirdai","siteName":"Sunbird AI API","title":"Text to Speech - Sunbird AI API","navMaps":{"firstHrefInVersion":{"v2.1":{"href":"/api-reference/speech/text-to-speech","matchLevel":0},"v1":{"href":"/introduction","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-09-24T07:44:47.887Z","originalFileLocation":"api-reference/speech/text-to-speech.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode=\u0026#x27;url\u0026#x27; (default) returns a signed GCS audio URL; \u0026#x27;stream\u0026#x27; returns raw audio bytes with no storage; \u0026#x27;both\u0026#x27; returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sunbird AI API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Text to Speech - Sunbird AI API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode=\u0026#x27;url\u0026#x27; (default) returns a signed GCS audio URL; \u0026#x27;stream\u0026#x27; returns raw audio bytes with no storage; \u0026#x27;both\u0026#x27; returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sunbird AI API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sunbird.ai/api-reference/speech/text-to-speech\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://analyticssunbirdai.mintlify.app/_mintlify/api/og/v2?division=Text+to+Speech\u0026amp;title=Text+to+Speech\u0026amp;description=Unified+Text-to-Speech+endpoint%2C+served+by+the+RunPod+Orpheus-3B+deployment.+response_mode%3D%27url%27+%28default%29+returns+a+signed+GCS+audio+URL%3B+%27stream%27+returns+raw+\u0026amp;theme=98c2a0250bceba930b99aceb\u0026amp;signature=2067a99b7056c0a0e217f17059012af405f382ad98b5755507876a7f1c9b5149\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Text to Speech - Sunbird AI API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode=\u0026#x27;url\u0026#x27; (default) returns a signed GCS audio URL; \u0026#x27;stream\u0026#x27; returns raw audio bytes with no storage; \u0026#x27;both\u0026#x27; returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://analyticssunbirdai.mintlify.app/_mintlify/api/og/v2?division=Text+to+Speech\u0026amp;title=Text+to+Speech\u0026amp;description=Unified+Text-to-Speech+endpoint%2C+served+by+the+RunPod+Orpheus-3B+deployment.+response_mode%3D%27url%27+%28default%29+returns+a+signed+GCS+audio+URL%3B+%27stream%27+returns+raw+\u0026amp;theme=98c2a0250bceba930b99aceb\u0026amp;signature=2067a99b7056c0a0e217f17059012af405f382ad98b5755507876a7f1c9b5149\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/analyticssunbirdai/X6F_A1IF4FmJppsS/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sunbird AI API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#DC7828\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sunbird.ai/api-reference/speech/text-to-speech\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/speech/text-to-speech.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sunbird.ai/#organization\",\"name\":\"Sunbird AI API\",\"url\":\"https://docs.sunbird.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/analyticssunbirdai/p5dqIvZVDHCsf_tB/logo/logo_light.png?fit=max\u0026auto=format\u0026n=p5dqIvZVDHCsf_tB\u0026q=85\u0026s=9e35440a8c31879452f811688f2db71e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sunbird.ai#website\",\"name\":\"Sunbird AI API\",\"url\":\"https://docs.sunbird.ai\",\"publisher\":{\"@id\":\"https://docs.sunbird.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sunbird.ai/api-reference/speech/text-to-speech#webpage\",\"url\":\"https://docs.sunbird.ai/api-reference/speech/text-to-speech\",\"name\":\"Text to Speech\",\"description\":\"Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode='url' (default) returns a signed GCS audio URL; 'stream' returns raw audio bytes with no storage; 'both' returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.\",\"dateModified\":\"2026-09-24T07:44:47.887Z\",\"isPartOf\":{\"@id\":\"https://docs.sunbird.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sunbird.ai/api-reference/speech/text-to-speech#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sunbird.ai/api-reference/speech/text-to-speech#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Sunbird AI API\",\"item\":\"https://docs.sunbird.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Text to Speech\",\"item\":\"https://docs.sunbird.ai/api-reference/speech/text-to-speech\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sunbird.ai/api-reference/speech/text-to-speech#apireference\",\"headline\":\"Text to Speech\",\"name\":\"Text to Speech\",\"description\":\"Unified Text-to-Speech endpoint, served by the RunPod Orpheus-3B deployment. response_mode='url' (default) returns a signed GCS audio URL; 'stream' returns raw audio bytes with no storage; 'both' returns raw audio bytes with the signed URL in the X-Audio-Url header. Replaces /tasks/modal/tts, /tasks/runpod/tts, and /tasks/modal/orpheus/tts.\",\"url\":\"https://docs.sunbird.ai/api-reference/speech/text-to-speech\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sunbird.ai/api-reference/speech/text-to-speech#webpage\"},\"dateModified\":\"2026-09-24T07:44:47.887Z\",\"publisher\":{\"@id\":\"https://docs.sunbird.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sunbird.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Sunbird AI API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Sunbird AI API","nav":{"global":null,"versions":[{"version":"v2.1","tag":"Latest","anchors":[{"anchor":"General","icon":"book-open","pages":[{"title":"General","href":"/introduction"}]},{"anchor":"Models","icon":"layer-group","pages":[{"title":"Models","href":"/sunflower/overview"}]},{"anchor":"API Reference","icon":"code","groups":[{"group":"Overview","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]},{"group":"Authentication","pages":[{"title":"Register","openapi":"api-reference/openapi.json POST /auth/register","href":"/api-reference/authentication/register"},{"title":"Verify Email","openapi":"api-reference/openapi.json GET /auth/verify-email","href":"/api-reference/authentication/verify-email"},{"title":"Resend Verification","openapi":"api-reference/openapi.json POST /auth/resend-verification","href":"/api-reference/authentication/resend-verification"},{"title":"Login","openapi":"api-reference/openapi.json POST /auth/token","href":"/api-reference/authentication/login"},{"title":"Refresh Token","openapi":"api-reference/openapi.json POST /auth/refresh-token","href":"/api-reference/authentication/refresh-token"},{"title":"Get Profile","openapi":"api-reference/openapi.json GET /auth/me","href":"/api-reference/authentication/get-profile"},{"title":"Update Profile","openapi":"api-reference/openapi.json PUT /auth/profile","href":"/api-reference/authentication/update-profile"},{"title":"Profile Status","openapi":"api-reference/openapi.json GET /auth/profile/status","href":"/api-reference/authentication/profile-status"},{"title":"Forgot Password","openapi":"api-reference/openapi.json POST /auth/forgot-password","href":"/api-reference/authentication/forgot-password"},{"title":"Reset Password","openapi":"api-reference/openapi.json POST /auth/reset-password","href":"/api-reference/authentication/reset-password"},{"title":"Change Password","openapi":"api-reference/openapi.json POST /auth/change-password","href":"/api-reference/authentication/change-password"}]},{"group":"Speech to Text","pages":[{"title":"Speech to Text","openapi":"api-reference/openapi.json POST /tasks/audio/transcriptions","description":"Unified Speech-to-Text endpoint, powered by Sunbird's faster-whisper ASR model covering 51 African languages. Accepts an uploaded audio file and a required language code; set timestamps=true to also receive per-segment timings. Replaces /stt, /stt_from_gcs, /org/stt, and /modal/stt.","href":"/api-reference/speech/speech-to-text"}]},{"group":"Text to Speech","pages":[{"title":"Text to Speech","openapi":"api-reference/openapi.json POST /tasks/audio/speech","href":"/api-reference/speech/text-to-speech"},{"title":"Batch Text to Speech","openapi":"api-reference/openapi.json POST /tasks/audio/speech/batch","description":"Unified batch Text-to-Speech endpoint. Synthesizes 1-128 items in a single sunbird-orpheus-tts pass and uploads each result to GCS. Per-item failures are reported with status='error'; the request returns 200 if at least one item succeeds, 502 if every item fails. Replaces /tasks/modal/orpheus/tts/batch.","href":"/api-reference/speech/batch-speech"},{"title":"List Voices","openapi":"api-reference/openapi.json GET /tasks/voice/speakers","href":"/api-reference/speech/list-voices"},{"title":"Refresh Audio URL","openapi":"api-reference/openapi.json GET /tasks/audio/speech/url","href":"/api-reference/speech/refresh-audio-url"}]},{"group":"Translation","pages":[{"title":"Translate","openapi":"api-reference/openapi.json POST /tasks/translate","href":"/api-reference/translation/translate"}]},{"group":"Language","pages":[{"title":"Language ID","openapi":"api-reference/openapi.json POST /tasks/language_id","href":"/api-reference/language/language-id"},{"title":"Audio Language Detection","openapi":"api-reference/openapi.json POST /tasks/auto_detect_audio_language","href":"/api-reference/language/audio-language"}]},{"group":"Chat","pages":[{"title":"Chat Completions","openapi":"api-reference/openapi.json POST /tasks/chat/completions","href":"/api-reference/ai/chat-completions"}]},{"group":"Uploads","pages":[{"title":"Generate Upload URL","openapi":"api-reference/openapi.json POST /tasks/generate-upload-url","href":"/api-reference/uploads/generate-upload-url"}]},{"group":"Webhooks","pages":[{"title":"WhatsApp Webhook","openapi":"api-reference/openapi.json POST /tasks/webhook","href":"/api-reference/webhooks/whatsapp-webhook"}]}]},{"anchor":"Resources","icon":"bookmark","pages":[{"title":"Resources","href":"/resources/changelog"}]}]},{"version":"v1","tag":"Deprecated","pages":[{"title":"v1","href":"/introduction"}]}]},"basePath":"","title":"Text to Speech - Sunbird AI API","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}