json (default), text, srt, verbose_json (with segments), vtt.The response body is always JSON, whichever format you ask for: srt, vtt and text put the rendered document in the text field rather than returning it bare. The OpenAI SDK hands you the raw body for those three, so parse it as JSON and read ["text"] before writing a subtitle file.verbose_json carries segment-level timestamps in segments[]. Word-level timestamps are not supported — timestamp_granularities is dropped before the request reaches the provider, so words comes back empty.There is no /v1/audio/translations endpoint. To translate, transcribe first and pass the text to a chat completion.
Either multipart/form-data with a file part — what the OpenAI SDK sends, and the reason it works here unchanged — or JSON carrying the audio as base64 in file_base64. The field names below are the JSON ones; the multipart part is named file and the rest are plain form fields of the same names.
timestamp_granularities is NOT supported: it is not read on either path, so no word-level timestamps are ever returned. verbose_json gives segment-level timestamps and that is the finest granularity available.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Infery.ai","colors":{"primary":"#2E5BE8","light":"#7B99F2","dark":"#1F41B0"},"logo":{"light":"https://mintcdn.com/inferyai/0Jgb47bSQtZI-re9/brand/logo-light.svg?fit=max\u0026auto=format\u0026n=0Jgb47bSQtZI-re9\u0026q=85\u0026s=d3ebed9120aa8e785f372aa43a7cccf3","dark":"https://mintcdn.com/inferyai/0Jgb47bSQtZI-re9/brand/logo-dark.svg?fit=max\u0026auto=format\u0026n=0Jgb47bSQtZI-re9\u0026q=85\u0026s=da2c52e6d74e21413d1e79df66776bb3"},"favicon":"https://mintcdn.com/inferyai/rVSpR6coVFjanvjI/brand/icon.svg?fit=max\u0026auto=format\u0026n=rVSpR6coVFjanvjI\u0026q=85\u0026s=9fa7355d4fc03bbe56cb42824f82e371","background":{"color":{"light":"#FFFFFF","dark":"#08090B"}},"navbar":{"links":[{"href":"https://app.infery.ai","label":"Studio"},{"href":"https://infery.ai/pricing","label":"Pricing"}],"primary":{"type":"button","label":"Sign in","href":"https://app.infery.ai/login"}},"footer":{"socials":{"website":"https://infery.ai","x":"https://x.com/infery_ai","github":"https://github.com/infery-ai"}},"seo":{"metatags":{"og:site_name":"Infery.ai Docs","og:type":"website","og:image":"https://docs.infery.ai/brand/og.jpg","twitter:card":"summary_large_image","twitter:site":"@infery_ai","robots":"index, follow"},"indexing":"all"},"fonts":{"heading":{"family":"Bricolage Grotesque","weight":700},"body":{"family":"IBM Plex Sans","weight":400}},"integrations":{"gtm":{"tagId":"GTM-P3237J9B"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"inferyai","hasAudioNarration":false,"actualSubdomain":"inferyai","customDomains":["docs.infery.ai"],"gitSource":{"type":"github","owner":"infery-ai","repo":"infery-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ac0d01453c5cd08031ddef8","collectionId":"e9cbfa7c-70b0-4c88-a370-6174686c606c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ac0d01453c5cd08031ddef8"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac0d01453c5cd08031ddef8","clientVersion":"0.0.3965","searchFilterCounts":[{"language":"default","tag":"Guides","count":85},{"language":"default","tag":"API Reference","count":38},{"language":"default","tag":"Workflows","count":20},{"language":"default","tag":"Models","count":17},{"language":"default","tag":"Studio","count":10},{"language":"default","tag":"Tools","count":8},{"language":"default","tag":"SDKs","count":6},{"language":"default","tag":"Files","count":5},{"language":"default","tag":"Workspaces","count":5},{"language":"default","tag":"Overview","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"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}],"isAtlas":false,"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/audio/transcriptions","slug":"/api-reference/audio/transcriptions","pageMetadata":{"title":"Speech-to-text","description":"POST /v1/audio/transcriptions — transcribe audio to text.","openapi":"openapi.json POST /v1/audio/transcriptions","href":"/api-reference/audio/transcriptions"},"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: \"POST /v1/audio/transcriptions — transcribe audio to text.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`We accept `,_jsx(_components.strong,{children:`both multipart and JSON base64`}),` for STT, so the OpenAI SDK works out of the box.`]}),`\n`,_jsx(Heading,{level:`2`,id:`multipart-openai-sdk-default`,children:`Multipart (OpenAI SDK default)`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` openai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAI`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAI(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#D4D4D4`},children:`API_KEY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.infery.ai/v1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`tr `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.audio.transcriptions.create(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"whisper-1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` file`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`open`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"meeting.mp3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"rb\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` response_format`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"verbose_json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(tr.text)`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`json-base64-light-http-clients`,children:`JSON base64 (light HTTP clients)`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.infery.ai/v1/audio/transcriptions`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$INFERY_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"whisper-1\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"file_base64\": \"\u003cbase64 audio>\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"filename\": \"meeting.mp3\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"response_format\": \"json\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`response-formats`,children:`Response formats`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`json`}),` (default), `,_jsx(_components.code,{children:`text`}),`, `,_jsx(_components.code,{children:`srt`}),`, `,_jsx(_components.code,{children:`verbose_json`}),` (with segments), `,_jsx(_components.code,{children:`vtt`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The response body is `,_jsx(_components.strong,{children:`always JSON`}),`, whichever format you ask for: `,_jsx(_components.code,{children:`srt`}),`, `,_jsx(_components.code,{children:`vtt`}),` and `,_jsx(_components.code,{children:`text`}),` put the rendered document in the `,_jsx(_components.code,{children:`text`}),` field rather than returning it bare. The OpenAI SDK hands you the raw body for those three, so parse it as JSON and read `,_jsx(_components.code,{children:`[\"text\"]`}),` before writing a subtitle file.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`verbose_json`}),` carries segment-level timestamps in `,_jsx(_components.code,{children:`segments[]`}),`. Word-level timestamps are not supported — `,_jsx(_components.code,{children:`timestamp_granularities`}),` is dropped before the request reaches the provider, so `,_jsx(_components.code,{children:`words`}),` comes back empty.`]}),`\n`,_jsxs(_components.p,{children:[`There is no `,_jsx(_components.code,{children:`/v1/audio/translations`}),` endpoint. To translate, transcribe first and pass the text to a chat completion.`]}),`\n`,_jsx(Heading,{level:`2`,id:`limits`,children:`Limits`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Max 25 MB audio per request`}),`\n`,_jsx(_components.li,{children:`Formats: MP3, MP4, M4A, WAV, WebM, OGG, FLAC`}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Speech-to-text","description":"POST /v1/audio/transcriptions — transcribe audio to text.","openapi":"openapi.json POST /v1/audio/transcriptions","href":"/api-reference/audio/transcriptions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Multipart (OpenAI SDK default)","slug":"multipart-openai-sdk-default","depth":2,"children":[]},{"title":"JSON base64 (light HTTP clients)","slug":"json-base64-light-http-clients","depth":2,"children":[]},{"title":"Response formats","slug":"response-formats","depth":2,"children":[]},{"title":"Limits","slug":"limits","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"createTranscription","parameters":[],"requestBody":"6b7db093-8844-4688-a2fe-d56f142db625","responses":{"200":"53c6835a-df29-4b15-9f87-d6183128c49a","400":"726ba7aa-e273-4c7c-bb5d-934ce4ac4ff1","401":"132f7583-2bec-4ba9-a3a5-11d9e767a55f","404":"0499a5bb-45d4-4f8e-965e-b888e96b7084"},"security":["0c7e7354-0e3a-42dd-b96e-004533a02228"],"summary":"Speech-to-text","tags":["Audio"],"method":"post","type":"path","servers":["70c58c78-558b-477f-817f-fa094a9f1354","250da9ba-2678-444c-bc3b-e169d87db6d0"],"path":"/v1/audio/transcriptions","baseUrlOptions":["https://api.infery.ai","http://localhost:3001"],"title":"Speech-to-text","description":"POST /v1/audio/transcriptions — transcribe audio to text.","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"description":"Either `multipart/form-data` with a `file` part — what the OpenAI SDK sends, and the reason it works here unchanged — or JSON carrying the audio as base64 in `file_base64`. The field names below are the JSON ones; the multipart part is named `file` and the rest are plain form fields of the same names.\n\n`timestamp_granularities` is NOT supported: it is not read on either path, so no word-level timestamps are ever returned. `verbose_json` gives segment-level timestamps and that is the finest granularity available.","content":{"multipart/form-data":{"schema":{"type":"object","required":["model","file_base64"],"properties":{"model":{"type":"string","description":"Model ID to use for STT","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"file_base64":{"type":"string","description":"Base64-encoded audio data. JSON path only — send a `file` part instead on multipart.","isRequired":true,"uniqueKey":"file_base64","typeLabel":"string"},"filename":{"type":"string","default":"audio.mp3","description":"Original file name. The audio MIME type is derived from its extension, so a wrong extension can mis-declare the upload.","uniqueKey":"filename","typeLabel":"string"},"language":{"type":"string","description":"Language of the audio (ISO-639-1)","uniqueKey":"language","typeLabel":"string"},"prompt":{"type":"string","description":"Optional transcription hint passed through to the provider","uniqueKey":"prompt","typeLabel":"string"},"temperature":{"type":"number","minimum":0,"maximum":1,"description":"Sampling temperature (0-1)","uniqueKey":"temperature","typeLabel":"number"},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt"],"default":"json","uniqueKey":"response_format","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"model":"\u003cstring>","file_base64":"\u003cstring>","filename":"audio.mp3","language":"\u003cstring>","prompt":"\u003cstring>","temperature":0.5,"response_format":"json"}}},"exampleType":"generated"},"application/json":{"schema":{"type":"object","required":["model","file_base64"],"properties":{"model":{"type":"string","description":"Model ID to use for STT","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"file_base64":{"type":"string","description":"Base64-encoded audio data. JSON path only — send a `file` part instead on multipart.","isRequired":true,"uniqueKey":"file_base64","typeLabel":"string"},"filename":{"type":"string","default":"audio.mp3","description":"Original file name. The audio MIME type is derived from its extension, so a wrong extension can mis-declare the upload.","uniqueKey":"filename","typeLabel":"string"},"language":{"type":"string","description":"Language of the audio (ISO-639-1)","uniqueKey":"language","typeLabel":"string"},"prompt":{"type":"string","description":"Optional transcription hint passed through to the provider","uniqueKey":"prompt","typeLabel":"string"},"temperature":{"type":"number","minimum":0,"maximum":1,"description":"Sampling temperature (0-1)","uniqueKey":"temperature","typeLabel":"number"},"response_format":{"type":"string","enum":["json","text","srt","verbose_json","vtt"],"default":"json","uniqueKey":"response_format","typeLabel":"enum\u003cstring>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"model":"\u003cstring>","file_base64":"\u003cstring>","filename":"audio.mp3","language":"\u003cstring>","prompt":"\u003cstring>","temperature":0.5,"response_format":"json"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"53c6835a-df29-4b15-9f87-d6183128c49a":{"description":"Transcription result. Shape depends on `response_format`: JSON (`json`, `verbose_json`) or plain text (`text`, `srt`, `vtt`).","content":{"application/json":{"schema":{"oneOf":[{"type":"object","description":"response_format: json (default) or verbose_json","properties":{"text":{"type":"string","example":"Hello, this is a test transcription.","uniqueKey":"oneOf.0.text","typeLabel":"string"},"language":{"type":"string","example":"en","description":"Detected language (verbose_json only)","uniqueKey":"oneOf.0.language","typeLabel":"string"},"duration":{"type":"number","example":12.5,"description":"Audio duration in seconds (verbose_json only)","uniqueKey":"oneOf.0.duration","typeLabel":"number"},"segments":{"type":"array","description":"Time-stamped segments (verbose_json only)","items":{"type":"object","properties":{"id":{"type":"integer","uniqueKey":"oneOf.0.segments.items.[INDEX].id","typeLabel":"integer"},"start":{"type":"number","description":"Segment start time in seconds","uniqueKey":"oneOf.0.segments.items.[INDEX].start","typeLabel":"number"},"end":{"type":"number","description":"Segment end time in seconds","uniqueKey":"oneOf.0.segments.items.[INDEX].end","typeLabel":"number"},"text":{"type":"string","uniqueKey":"oneOf.0.segments.items.[INDEX].text","typeLabel":"string"},"avg_logprob":{"type":"number","uniqueKey":"oneOf.0.segments.items.[INDEX].avg_logprob","typeLabel":"number"},"compression_ratio":{"type":"number","uniqueKey":"oneOf.0.segments.items.[INDEX].compression_ratio","typeLabel":"number"},"no_speech_prob":{"type":"number","uniqueKey":"oneOf.0.segments.items.[INDEX].no_speech_prob","typeLabel":"number"}},"uniqueKey":"oneOf.0.segments.items.[INDEX]","typeLabel":"object"},"uniqueKey":"oneOf.0.segments","typeLabel":"object[]"},"credits_used":{"type":"integer","example":3,"uniqueKey":"oneOf.0.credits_used","typeLabel":"integer"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"response_format: text | srt | vtt. The body is still JSON — the rendered document is the `text` field, NOT the response body itself. An OpenAI-SDK client hands the raw body back for these three formats, so it must parse it and read `text` before writing a subtitle file.","properties":{"text":{"type":"string","example":"WEBVTT\n\n00:00:00.000 --> 00:00:02.400\nHello, this is a test transcription.","uniqueKey":"oneOf.1.text","typeLabel":"string"},"credits_used":{"type":"integer","example":3,"uniqueKey":"oneOf.1.credits_used","typeLabel":"integer"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"text":"Hello, this is a test transcription.","language":"en","duration":12.5,"segments":[{"id":123,"start":123,"end":123,"text":"\u003cstring>","avg_logprob":123,"compression_ratio":123,"no_speech_prob":123}],"credits_used":3}}},"exampleType":"generated"}},"exampleType":"generated"},"726ba7aa-e273-4c7c-bb5d-934ce4ac4ff1":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error envelope. Every non-2xx response from this API has this shape, so a client can parse failures without branching on the endpoint.","required":["message","type","code","param"],"properties":{"message":{"type":"string","example":"Model not found","description":"Human-readable error message","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","example":"invalid_request_error","description":"Error category","enum":["invalid_request_error","authentication_error","permission_error","quota_exceeded","rate_limit_error","server_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"oneOf":[{"type":"string","example":"model_not_found","description":"Stable machine-readable error code. Branch on this rather than on `message`, which is prose and may be reworded.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"null","example":"model_not_found","description":"Stable machine-readable error code. Branch on this rather than on `message`, which is prose and may be reworded.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","example":"model","description":"Name of the request parameter that triggered the error. `null` when the error is not attributable to one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","example":"model","description":"Name of the request parameter that triggered the error. `null` when the error is not attributable to one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"job_id":{"type":"string","example":"job_1hR9xTPZqK4mVLc2nJ7fY5wB","description":"Handle to work that is ALREADY RUNNING AND ALREADY BILLED, present on the few errors that carry one. When it is here, this is not a failure to retry — retrying pays twice. Collect the result from `GET /v1/images/jobs/{job_id}`, which serves every durable media job regardless of modality.\n\nTwo situations produce it. A media generation that outruns the gateway's wait answers `504` with `code: \"job_timeout\"` and keeps working. And `POST /v1/audio/speech` answers **500** with `code: \"artifact_unreadable\"` when the speech was generated and settled but could not be read back from storage — the audio exists and is paid for; only this response failed.\n\nDeclared here rather than per-endpoint because the rule is about the FIELD, not the status: if this is present, there is a paid-for result to collect. It was undeclared until now, so a client generated from this document could not see the one field that recovers money already spent.","uniqueKey":"error.job_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Model not found","type":"invalid_request_error","code":"model_not_found","param":"model","job_id":"job_1hR9xTPZqK4mVLc2nJ7fY5wB"}}}},"exampleType":"generated"}},"exampleType":"generated"},"132f7583-2bec-4ba9-a3a5-11d9e767a55f":{"description":"Unauthorized — invalid or missing API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error envelope. Every non-2xx response from this API has this shape, so a client can parse failures without branching on the endpoint.","required":["message","type","code","param"],"properties":{"message":{"type":"string","example":"Model not found","description":"Human-readable error message","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","example":"invalid_request_error","description":"Error category","enum":["invalid_request_error","authentication_error","permission_error","quota_exceeded","rate_limit_error","server_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"oneOf":[{"type":"string","example":"model_not_found","description":"Stable machine-readable error code. Branch on this rather than on `message`, which is prose and may be reworded.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"null","example":"model_not_found","description":"Stable machine-readable error code. Branch on this rather than on `message`, which is prose and may be reworded.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","example":"model","description":"Name of the request parameter that triggered the error. `null` when the error is not attributable to one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","example":"model","description":"Name of the request parameter that triggered the error. `null` when the error is not attributable to one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"job_id":{"type":"string","example":"job_1hR9xTPZqK4mVLc2nJ7fY5wB","description":"Handle to work that is ALREADY RUNNING AND ALREADY BILLED, present on the few errors that carry one. When it is here, this is not a failure to retry — retrying pays twice. Collect the result from `GET /v1/images/jobs/{job_id}`, which serves every durable media job regardless of modality.\n\nTwo situations produce it. A media generation that outruns the gateway's wait answers `504` with `code: \"job_timeout\"` and keeps working. And `POST /v1/audio/speech` answers **500** with `code: \"artifact_unreadable\"` when the speech was generated and settled but could not be read back from storage — the audio exists and is paid for; only this response failed.\n\nDeclared here rather than per-endpoint because the rule is about the FIELD, not the status: if this is present, there is a paid-for result to collect. It was undeclared until now, so a client generated from this document could not see the one field that recovers money already spent.","uniqueKey":"error.job_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Model not found","type":"invalid_request_error","code":"model_not_found","param":"model","job_id":"job_1hR9xTPZqK4mVLc2nJ7fY5wB"}}}},"exampleType":"generated"}},"exampleType":"generated"},"0499a5bb-45d4-4f8e-965e-b888e96b7084":{"description":"Model not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","description":"The error envelope. Every non-2xx response from this API has this shape, so a client can parse failures without branching on the endpoint.","required":["message","type","code","param"],"properties":{"message":{"type":"string","example":"Model not found","description":"Human-readable error message","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"type":{"type":"string","example":"invalid_request_error","description":"Error category","enum":["invalid_request_error","authentication_error","permission_error","quota_exceeded","rate_limit_error","server_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"oneOf":[{"type":"string","example":"model_not_found","description":"Stable machine-readable error code. Branch on this rather than on `message`, which is prose and may be reworded.","isRequired":true,"uniqueKey":"error.code.oneOf.0","typeLabel":"string"},{"type":"null","example":"model_not_found","description":"Stable machine-readable error code. Branch on this rather than on `message`, which is prose and may be reworded.","isRequired":true,"uniqueKey":"error.code.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.code","typeLabel":"string | null"},"param":{"oneOf":[{"type":"string","example":"model","description":"Name of the request parameter that triggered the error. `null` when the error is not attributable to one field.","isRequired":true,"uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","example":"model","description":"Name of the request parameter that triggered the error. `null` when the error is not attributable to one field.","isRequired":true,"uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error.param","typeLabel":"string | null"},"job_id":{"type":"string","example":"job_1hR9xTPZqK4mVLc2nJ7fY5wB","description":"Handle to work that is ALREADY RUNNING AND ALREADY BILLED, present on the few errors that carry one. When it is here, this is not a failure to retry — retrying pays twice. Collect the result from `GET /v1/images/jobs/{job_id}`, which serves every durable media job regardless of modality.\n\nTwo situations produce it. A media generation that outruns the gateway's wait answers `504` with `code: \"job_timeout\"` and keeps working. And `POST /v1/audio/speech` answers **500** with `code: \"artifact_unreadable\"` when the speech was generated and settled but could not be read back from storage — the audio exists and is paid for; only this response failed.\n\nDeclared here rather than per-endpoint because the rule is about the FIELD, not the status: if this is present, there is a paid-for result to collect. It was undeclared until now, so a client generated from this document could not see the one field that recovers money already spent.","uniqueKey":"error.job_id","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"message":"Model not found","type":"invalid_request_error","code":"model_not_found","param":"model","job_id":"job_1hR9xTPZqK4mVLc2nJ7fY5wB"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"0c7e7354-0e3a-42dd-b96e-004533a02228":{"ApiKey":{"type":"apiKey","in":"header","name":"Authorization","description":"API key in format: Bearer inf_***","scopes":[]}}},"servers":{"70c58c78-558b-477f-817f-fa094a9f1354":{"url":"https://api.infery.ai","description":"Production"},"250da9ba-2678-444c-bc3b-e169d87db6d0":{"url":"http://localhost:3001","description":"Local"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"Authorization","description":"API key in format: Bearer inf_***","scopes":[]},"schema":{"title":"Authorization","type":"string","description":"API key in format: Bearer inf_***","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKey","name":"Authorization"}],"title":"ApiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"inferyai","siteName":"Infery.ai","title":"Speech-to-text - Infery.ai","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-19T11:36:41.708Z","originalFileLocation":"api-reference/audio/transcriptions.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=\"POST /v1/audio/transcriptions — transcribe audio to text.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Infery.ai\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/inferyai/nYe38cZ0EVrE-Nwe/_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/inferyai/nYe38cZ0EVrE-Nwe/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/inferyai/nYe38cZ0EVrE-Nwe/_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/inferyai/nYe38cZ0EVrE-Nwe/_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/inferyai/nYe38cZ0EVrE-Nwe/_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/inferyai/nYe38cZ0EVrE-Nwe/_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/inferyai/nYe38cZ0EVrE-Nwe/_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/inferyai/nYe38cZ0EVrE-Nwe/_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/inferyai/nYe38cZ0EVrE-Nwe/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Speech-to-text - Infery.ai\">\u003cmeta data-mint-head property=\"og:description\" content=\"POST /v1/audio/transcriptions — transcribe audio to text.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Infery.ai Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.infery.ai/api-reference/audio/transcriptions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://docs.infery.ai/brand/og.jpg\">\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=\"Speech-to-text - Infery.ai\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"POST /v1/audio/transcriptions — transcribe audio to text.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://docs.infery.ai/brand/og.jpg\">\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/inferyai/nYe38cZ0EVrE-Nwe/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Infery.ai\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2E5BE8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.infery.ai/api-reference/audio/transcriptions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/audio/transcriptions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.infery.ai/#organization\",\"name\":\"Infery.ai\",\"url\":\"https://docs.infery.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/inferyai/0Jgb47bSQtZI-re9/brand/logo-light.svg?fit=max\u0026auto=format\u0026n=0Jgb47bSQtZI-re9\u0026q=85\u0026s=d3ebed9120aa8e785f372aa43a7cccf3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.infery.ai#website\",\"name\":\"Infery.ai\",\"url\":\"https://docs.infery.ai\",\"publisher\":{\"@id\":\"https://docs.infery.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.infery.ai/api-reference/audio/transcriptions#webpage\",\"url\":\"https://docs.infery.ai/api-reference/audio/transcriptions\",\"name\":\"Speech-to-text\",\"description\":\"POST /v1/audio/transcriptions — transcribe audio to text.\",\"dateModified\":\"2026-08-19T11:36:41.708Z\",\"isPartOf\":{\"@id\":\"https://docs.infery.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.infery.ai/api-reference/audio/transcriptions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.infery.ai/api-reference/audio/transcriptions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Audio\",\"item\":\"https://docs.infery.ai/api-reference/audio/speech\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Speech-to-text\",\"item\":\"https://docs.infery.ai/api-reference/audio/transcriptions\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.infery.ai/api-reference/audio/transcriptions#apireference\",\"headline\":\"Speech-to-text\",\"name\":\"Speech-to-text\",\"description\":\"POST /v1/audio/transcriptions — transcribe audio to text.\",\"url\":\"https://docs.infery.ai/api-reference/audio/transcriptions\",\"mainEntityOfPage\":{\"@id\":\"https://docs.infery.ai/api-reference/audio/transcriptions#webpage\"},\"image\":\"https://docs.infery.ai/brand/og.jpg\",\"dateModified\":\"2026-08-19T11:36:41.708Z\",\"publisher\":{\"@id\":\"https://docs.infery.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.infery.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Infery.ai\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Infery.ai","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API overview","href":"/api-reference/introduction"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Errors","href":"/api-reference/errors"},{"title":"Rate limits","href":"/api-reference/rate-limits"}]},{"group":"Chat Completions","pages":[{"title":"Chat completions","openapi":"openapi.json POST /v1/chat/completions","href":"/api-reference/chat-completions"}]},{"group":"Embeddings","pages":[{"title":"Embeddings","openapi":"openapi.json POST /v1/embeddings","href":"/api-reference/embeddings"}]},{"group":"Images","pages":[{"title":"Generate an image","openapi":"openapi.json POST /v1/images/generations","href":"/api-reference/images/generations"},{"title":"Edit an image","openapi":"openapi.json POST /v1/images/edits","href":"/api-reference/images/edits"},{"title":"Upscale an image","openapi":"openapi.json POST /v1/images/upscale","href":"/api-reference/images/upscale"}]},{"group":"Audio","pages":[{"title":"Text-to-speech","description":"POST /v1/audio/speech — synthesise speech from text.","openapi":"openapi.json POST /v1/audio/speech","href":"/api-reference/audio/speech"},{"title":"Speech-to-text","openapi":"openapi.json POST /v1/audio/transcriptions","href":"/api-reference/audio/transcriptions"},{"title":"Transform audio","description":"POST /v1/audio/transformations","openapi":"openapi.json POST /v1/audio/transformations","href":"/api-reference/audio/transformations"}]},{"group":"Video","pages":[{"title":"Create video generation","openapi":"openapi.json POST /v1/videos/generations","href":"/api-reference/videos/generations"},{"title":"Get video generation status","openapi":"openapi.json GET /v1/videos/generations/{jobId}","href":"/api-reference/videos/status"},{"title":"Upscale a video","openapi":"openapi.json POST /v1/video/upscale","href":"/api-reference/videos/upscale"}]},{"group":"Music","pages":[{"title":"Music","openapi":"openapi.json POST /v1/music/generations","href":"/api-reference/music"}]},{"group":"Files","pages":[{"title":"Upload a file","openapi":"openapi.json POST /v1/files","href":"/api-reference/files/upload"},{"title":"List files","openapi":"openapi.json GET /v1/files","href":"/api-reference/files/list"},{"title":"Retrieve file metadata","openapi":"openapi.json GET /v1/files/{fileId}","href":"/api-reference/files/retrieve"},{"title":"Delete a file","openapi":"openapi.json DELETE /v1/files/{fileId}","href":"/api-reference/files/delete"},{"title":"Download file contents","openapi":"openapi.json GET /v1/files/{fileId}/content","href":"/api-reference/files/content"}]},{"group":"Models","pages":[{"title":"Models","openapi":"openapi.json GET /v1/models","href":"/api-reference/models"},{"title":"Estimate a model request","openapi":"openapi.json POST /v1/models/{slug}/estimate","href":"/api-reference/models-estimate"}]},{"group":"Capabilities","pages":[{"title":"List capabilities","openapi":"openapi.json GET /v1/tools","href":"/api-reference/tools"},{"title":"Run a capability","openapi":"openapi.json POST /v1/capabilities/{id}/run","href":"/api-reference/capabilities/run"},{"title":"Generate a 3D model","openapi":"openapi.json POST /v1/3d/generations","href":"/api-reference/3d/generations"}]},{"group":"Workflows","pages":[{"title":"Run a workflow","openapi":"openapi.json POST /v1/workflows/runs","href":"/api-reference/workflows/run"},{"title":"Retrieve a run","openapi":"openapi.json GET /v1/workflows/runs/{id}","href":"/api-reference/workflows/run-retrieve"},{"title":"Cancel a run","openapi":"openapi.json POST /v1/workflows/runs/{id}/cancel","href":"/api-reference/workflows/run-cancel"},{"title":"Run logs","openapi":"openapi.json GET /v1/workflows/runs/{id}/logs","href":"/api-reference/workflows/run-logs"},{"title":"Estimate a run","openapi":"openapi.json POST /v1/workflows/estimate","href":"/api-reference/workflows/estimate"},{"title":"Create a workflow","openapi":"openapi.json POST /v1/workflows","href":"/api-reference/workflows/create"},{"title":"List workflows","openapi":"openapi.json GET /v1/workflows","href":"/api-reference/workflows/list"},{"title":"Retrieve a workflow","openapi":"openapi.json GET /v1/workflows/{id}","href":"/api-reference/workflows/retrieve"},{"title":"Update a workflow","openapi":"openapi.json PUT /v1/workflows/{id}","href":"/api-reference/workflows/update"},{"title":"Delete a workflow","openapi":"openapi.json DELETE /v1/workflows/{id}","href":"/api-reference/workflows/delete"},{"title":"List templates","openapi":"openapi.json GET /v1/workflows/templates","href":"/api-reference/workflows/templates-list"},{"title":"Retrieve a template","openapi":"openapi.json GET /v1/workflows/templates/{slug}","href":"/api-reference/workflows/templates-retrieve"}]}]}]},"title":"Speech-to-text - Infery.ai","buildId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","deploymentId":"dpl_849ArpqvBiCczQiT1Y1stNGpbqHT","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Bbp7I60D.js","utils-C3RIvJha.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DqD-vLt8.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B31Loprg.js","snippetPresets-DKpk-b8t.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Cj65AhOR.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BXtn5gcC.js","shallow-RY2b03Cp.js","getApiPlaygroundDisplay-B0jeiPk3.js","CodeSnippet-CYgBjjwn.js","CodeSnippets-DOngDrYB.js","Page-n7I5XbKb.js","getPastedJson-DRQbJx-T.js","icon-CQiQCicY.js","MethodPill-BKTLdNtu.js","DuplicateIcon-B9jpAdat.js","createIcon-DCddRrXv.js","DynamicMarkdown-a8hUKrw6.js","SectionHeading-eECVV2eH.js","axios-vUo_bRtp.js","Markdown--GF7ZIpf.js","clsx-DZLdJUrt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-2LoAhjKH.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Zwc0ZncM.js"]}