Speech to Text · Real-time · Workflow: Real-time quickstart · Real-time SDKsFinishes a session: the server stops accepting new audio, flushes the trailing segment, waits for the
final result, settles the charge once and completes the task. A repeated finish returns the same task
and never charges twice.The response arrives when the result is closed; you do not have to guess a waiting time. After the
last final line, finish also waits, line by line, for the supplements you requested (alignment
unless includeAlignment is false, entityCategories, rewriteInstruction, and the detected
language when includeDetectedLanguage is true) and returns as soon as none is outstanding, at
most about 8 seconds, and never past the session’s recovery window.
A requested supplement that has not arrived by then is reported, not waited for indefinitely: the
session gets a SUPPLEMENT_NOT_RECEIVED notice listing supplements and the affected lineIds
(lines missing the same kinds share a notice), and an edit that never arrived makes the task’s
revisionStatusFAILED with revisionErrorCodeREVISION_NOT_RECEIVED. An entities result with
no entities counts as arrived; on the socket it is a transcript.entities event with an empty list.
The audio outcome and the charge do not depend on supplements.
The client’s confirmed capture length in samples. The decimal string form is the contract form; a
JSON number is accepted for convenience. It marks a transport gap when it exceeds what the server
received and never changes the charge.
Response
The same session view as Get a real-time session, with the terminal
status and the final usage. The task is now in the shared History.
A plain disconnect is not a successful finish. Use this endpoint (or the session.finish event) so
the tail is committed and the task completes.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"MyVocal.AI","colors":{"primary":"#9563FF","light":"#AE87FF","dark":"#0D001D"},"favicon":"https://mintcdn.com/wiz-myvocal/kDrQNVoFkA5WOhL_/favicon.svg?fit=max\u0026auto=format\u0026n=kDrQNVoFkA5WOhL_\u0026q=85\u0026s=b815e0db5883be2f70d9b10e63c330cd","logo":{"light":"https://mintcdn.com/wiz-myvocal/kDrQNVoFkA5WOhL_/logo/light.svg?fit=max\u0026auto=format\u0026n=kDrQNVoFkA5WOhL_\u0026q=85\u0026s=1d17c658234c347ae43c180de792bea5","dark":"https://mintcdn.com/wiz-myvocal/kDrQNVoFkA5WOhL_/logo/dark.png?fit=max\u0026auto=format\u0026n=kDrQNVoFkA5WOhL_\u0026q=85\u0026s=3d789334f44d9a10eaf0dbd26dadfaa3"},"background":{"decoration":null,"color":{"light":null,"dark":"#090014"}},"navbar":{"links":[{"label":"API Reference","href":"/api-reference/overview"}],"primary":{"type":"button","label":"Home Page","href":"https://www.myvocal.ai"}},"seo":{"metatags":{"canonical":"https://docs.myvocal.ai"},"indexing":"navigable"},"footer":{"socials":{"youtube":"https://www.youtube.com/@myvocalai"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"wiz-myvocal","hasAudioNarration":false,"actualSubdomain":"wiz-myvocal","customDomains":[],"gitSource":{"type":"github","owner":"myvocal-ai","repo":"api","deployBranch":"main","contentDirectory":"myvocal-api-docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af0789710764caba8e8690e","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"Speech to Text","count":24},{"language":"default","tag":"Interpretation","count":23},{"language":"default","tag":"Interpretation API reference","count":20},{"language":"default","tag":"Text to Music","count":16},{"language":"default","tag":"STT API reference","count":16},{"language":"default","tag":"Music API reference","count":15},{"language":"default","tag":"Create and generate","count":10},{"language":"default","tag":"Text to Speech","count":9},{"language":"default","tag":"Manage projects","count":9},{"language":"default","tag":"Voice cloning","count":8}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"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":"editor-metadata","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":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/stt/finishSession","slug":"/api-reference/stt/finishSession","pageMetadata":{"title":"Finish a real-time session","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/realtime/sessions/{sessionId}/finish","description":"Flush the tail, settle once and complete the task.","href":"/api-reference/stt/finishSession"},"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: \"Flush the tail, settle once and complete the task.\"\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={a:`a`,code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Note,ParamField}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);return _jsxs(_Fragment,{children:[_jsxs(`sub`,{children:[_jsx(_components.strong,{children:`Speech to Text · Real-time`}),` · Workflow: `,_jsx(_components.a,{href:`/guides/stt-realtime-quickstart`,children:`Real-time quickstart`}),` · `,_jsx(_components.a,{href:`/sdks/stt-realtime/overview`,children:`Real-time SDKs`})]}),`\n`,_jsx(_components.p,{children:`Finishes a session: the server stops accepting new audio, flushes the trailing segment, waits for the\nfinal result, settles the charge once and completes the task. A repeated finish returns the same task\nand never charges twice.`}),`\n`,_jsxs(_components.p,{children:[`The response arrives when the result is closed; you do not have to guess a waiting time. After the\nlast final line, finish also waits, line by line, for the supplements you requested (alignment\nunless `,_jsx(_components.code,{children:`includeAlignment`}),` is `,_jsx(_components.code,{children:`false`}),`, `,_jsx(_components.code,{children:`entityCategories`}),`, `,_jsx(_components.code,{children:`rewriteInstruction`}),`, and the detected\nlanguage when `,_jsx(_components.code,{children:`includeDetectedLanguage`}),` is `,_jsx(_components.code,{children:`true`}),`) and returns as soon as none is outstanding, at\nmost about `,_jsx(_components.strong,{children:`8 seconds`}),`, and never past the session’s recovery window.\nA requested supplement that has not arrived by then is reported, not waited for indefinitely: the\nsession gets a `,_jsx(_components.code,{children:`SUPPLEMENT_NOT_RECEIVED`}),` notice listing `,_jsx(_components.code,{children:`supplements`}),` and the affected `,_jsx(_components.code,{children:`lineIds`}),`\n(lines missing the same kinds share a notice), and an edit that never arrived makes the task’s\n`,_jsx(_components.code,{children:`revisionStatus`}),` `,_jsx(_components.code,{children:`FAILED`}),` with `,_jsx(_components.code,{children:`revisionErrorCode`}),` `,_jsx(_components.code,{children:`REVISION_NOT_RECEIVED`}),`. An entities result with\nno entities counts as arrived; on the socket it is a `,_jsx(_components.code,{children:`transcript.entities`}),` event with an empty list.\nThe audio outcome and the charge do not depend on supplements.`]}),`\n`,_jsx(Heading,{level:`3`,id:`path`,children:`Path`}),`\n`,_jsx(ParamField,{path:`sessionId`,type:`string`,required:true,id:`param-session-id`,children:_jsx(_components.p,{children:`The session to finish.`})}),`\n`,_jsx(Heading,{level:`3`,id:`header`,children:`Header`}),`\n`,_jsx(ParamField,{header:`accessKey`,type:`string`,required:true,id:`param-access-key`,children:_jsxs(_components.p,{children:[`Your API key. See `,_jsx(_components.a,{href:`/api-reference/authentication`,children:`Authentication`}),`.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`body`,children:`Body`}),`\n`,_jsx(ParamField,{body:`capturedSamples`,type:`string | number`,id:`param-captured-samples`,children:_jsx(_components.p,{children:`The client’s confirmed capture length in samples. The decimal string form is the contract form; a\nJSON number is accepted for convenience. It marks a transport gap when it exceeds what the server\nreceived and never changes the charge.`})}),`\n`,_jsx(Heading,{level:`3`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`The same session view as `,_jsx(_components.a,{href:`/api-reference/stt/getSession`,children:`Get a real-time session`}),`, with the terminal\n`,_jsx(_components.code,{children:`status`}),` and the final `,_jsx(_components.code,{children:`usage`}),`. The task is now in the shared History.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`A plain disconnect is not a successful finish. Use this endpoint (or the `,_jsx(_components.code,{children:`session.finish`}),` event) so\nthe tail is committed and the task completes.`]})})]})}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":"Finish a real-time session","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/realtime/sessions/{sessionId}/finish","description":"Flush the tail, settle once and complete the task.","href":"/api-reference/stt/finishSession"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Path","slug":"path","depth":3,"children":[]},{"title":"Header","slug":"header","depth":3,"children":[]},{"title":"Body","slug":"body","depth":3,"children":[]},{"title":"Response","slug":"response","depth":3,"children":[]}],"codeExamples":{},"endpoint":{"title":"Finish a real-time session","path":"/sound_clone/api/v1/stt/realtime/sessions/{sessionId}/finish","servers":[{"url":"https://api.myvocal.ai"}],"method":"post","request":{"security":[],"parameters":{"query":{},"header":{"accessKey":{"schema":[{"type":"string","description":"Your API key. See Authentication .","required":true}]}},"cookie":{},"path":{"sessionId":{"schema":[{"type":"string","description":"The session to finish.","required":true}]}}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"capturedSamples":[{"type":"object","properties":{},"description":"The client’s confirmed capture length in samples. The decimal string form is the contract form; a JSON number is accepted for convenience. It marks a transport gap when it exceeds what the server received and never changes the charge."}]}}],"examples":{"example":{"value":{"capturedSamples":{}}}}}}},"response":{},"deprecated":false}},"jsLinks":["/_mintlify/custom/wiz-myvocal/72f7122fda9600c0/examples/stt/browser/app.js","/_mintlify/custom/wiz-myvocal/596f5e16eb824fa7/examples/stt/browser/capture-worklet.js"],"subdomain":"wiz-myvocal","siteName":"MyVocal.AI","title":"Finish a real-time session - MyVocal.AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-06T08:15:08.514Z","originalFileLocation":"api-reference/stt/finishSession.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=\"Flush the tail, settle once and complete the task.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MyVocal.AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/wiz-myvocal/PMBy2yredCIOMzBC/_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/wiz-myvocal/PMBy2yredCIOMzBC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/wiz-myvocal/PMBy2yredCIOMzBC/_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/wiz-myvocal/PMBy2yredCIOMzBC/_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/wiz-myvocal/PMBy2yredCIOMzBC/_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/wiz-myvocal/PMBy2yredCIOMzBC/_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/wiz-myvocal/PMBy2yredCIOMzBC/_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/wiz-myvocal/PMBy2yredCIOMzBC/_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/wiz-myvocal/PMBy2yredCIOMzBC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Finish a real-time session - MyVocal.AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Flush the tail, settle once and complete the task.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MyVocal.AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.myvocal.ai/api-reference/stt/finishSession\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://wiz-myvocal.mintlify.site/_mintlify/api/og/v2?division=Real-time+sessions\u0026amp;title=Finish+a+real-time+session\u0026amp;description=Flush+the+tail%2C+settle+once+and+complete+the+task.\u0026amp;theme=51bc2ce664bbf25c5bb548d2\u0026amp;signature=483cc0f39dabfebf8b10907df5082d2e4776ea69c6a2b50fbece2a582d34a983\">\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=\"Finish a real-time session - MyVocal.AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Flush the tail, settle once and complete the task.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://wiz-myvocal.mintlify.site/_mintlify/api/og/v2?division=Real-time+sessions\u0026amp;title=Finish+a+real-time+session\u0026amp;description=Flush+the+tail%2C+settle+once+and+complete+the+task.\u0026amp;theme=51bc2ce664bbf25c5bb548d2\u0026amp;signature=483cc0f39dabfebf8b10907df5082d2e4776ea69c6a2b50fbece2a582d34a983\">\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/wiz-myvocal/PMBy2yredCIOMzBC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MyVocal.AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#9563FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.myvocal.ai/api-reference/stt/finishSession\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/stt/finishSession.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.myvocal.ai/#organization\",\"name\":\"MyVocal.AI\",\"url\":\"https://docs.myvocal.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/wiz-myvocal/kDrQNVoFkA5WOhL_/logo/light.svg?fit=max\u0026auto=format\u0026n=kDrQNVoFkA5WOhL_\u0026q=85\u0026s=1d17c658234c347ae43c180de792bea5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.myvocal.ai#website\",\"name\":\"MyVocal.AI\",\"url\":\"https://docs.myvocal.ai\",\"publisher\":{\"@id\":\"https://docs.myvocal.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.myvocal.ai/api-reference/stt/finishSession#webpage\",\"url\":\"https://docs.myvocal.ai/api-reference/stt/finishSession\",\"name\":\"Finish a real-time session\",\"description\":\"Flush the tail, settle once and complete the task.\",\"dateModified\":\"2026-10-06T08:15:08.514Z\",\"isPartOf\":{\"@id\":\"https://docs.myvocal.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.myvocal.ai/api-reference/stt/finishSession#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.myvocal.ai/api-reference/stt/finishSession#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Speech to Text\",\"item\":\"https://docs.myvocal.ai/guides/stt-batch-quickstart\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"STT API reference\",\"item\":\"https://docs.myvocal.ai/api-reference/stt/capabilities\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Real-time sessions\",\"item\":\"https://docs.myvocal.ai/api-reference/stt/createSession\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Finish a real-time session\",\"item\":\"https://docs.myvocal.ai/api-reference/stt/finishSession\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.myvocal.ai/api-reference/stt/finishSession#apireference\",\"headline\":\"Finish a real-time session\",\"name\":\"Finish a real-time session\",\"description\":\"Flush the tail, settle once and complete the task.\",\"url\":\"https://docs.myvocal.ai/api-reference/stt/finishSession\",\"mainEntityOfPage\":{\"@id\":\"https://docs.myvocal.ai/api-reference/stt/finishSession#webpage\"},\"dateModified\":\"2026-10-06T08:15:08.514Z\",\"publisher\":{\"@id\":\"https://docs.myvocal.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.myvocal.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MyVocal.AI\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"MyVocal.AI\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/stt/finishSession.md","siteName":"MyVocal.AI","nav":{"global":null,"groups":[{"group":"Getting started","pages":[{"title":"MyVocal API","sidebarTitle":"Product overview","href":"/introduction"},{"title":"Make your first API request","sidebarTitle":"First API request","href":"/guides/get-started"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Get account information","sidebarTitle":"Account information","api":"GET https://api.myvocal.ai/sound_clone/api/v1/user/info","href":"/api-reference/user/getInfo"},{"title":"API directory","sidebarTitle":"API directory","href":"/api-reference/overview"}]},{"group":"Text to Speech","pages":[{"title":"Text to Speech quickstart","sidebarTitle":"TTS quickstart","href":"/quickstart"},{"group":"Models \u0026 languages","pages":[{"title":"TTS Models \u0026 Migration","sidebarTitle":"Models \u0026 migration","href":"/api-reference/tts/models"},{"title":"V3 Language Codes","sidebarTitle":"V3 language codes","href":"/api-reference/tts/v3-language-codes"},{"title":"Model V3.5 High Quality language codes","sidebarTitle":"V3.5 language codes","href":"/api-reference/tts/v35-language-codes"}]},{"group":"TTS API reference","pages":[{"title":"Create speech","api":"POST https://api.myvocal.ai/sound_clone/api/v1/tts","href":"/api-reference/tts/tts"},{"title":"Stream speech","api":"POST https://api.myvocal.ai/sound_clone/api/v1/tts/stream","href":"/api-reference/tts/ttsStream"}]},{"group":"TTS History","pages":[{"title":"List TTS history","api":"GET https://api.myvocal.ai/sound_clone/api/v1/tts/list","href":"/api-reference/history/ttsList"},{"title":"Get TTS audio URLs","api":"POST https://api.myvocal.ai/sound_clone/api/v1/tts/query","href":"/api-reference/history/ttsListUrl"},{"title":"Delete TTS history","api":"DELETE https://api.myvocal.ai/sound_clone/api/v1/tts","href":"/api-reference/history/deleteTTS"}]}]},{"group":"Speech to Text","pages":[{"title":"Speech to Text — Batch quickstart","sidebarTitle":"Batch quickstart","href":"/guides/stt-batch-quickstart"},{"title":"Speech to Text — Real-time quickstart","sidebarTitle":"Real-time quickstart","href":"/guides/stt-realtime-quickstart"},{"group":"Real-time SDKs","pages":[{"title":"Real-time SDKs — install","sidebarTitle":"Install","href":"/sdks/stt-realtime/overview"},{"title":"Real-time SDK — Python","sidebarTitle":"Python","href":"/sdks/stt-realtime/python"},{"title":"Real-time SDK — Java","sidebarTitle":"Java","href":"/sdks/stt-realtime/java"},{"title":"Real-time SDK — Go","sidebarTitle":"Go","href":"/sdks/stt-realtime/go"},{"title":"Real-time SDKs — behaviour guide","sidebarTitle":"Behavior guide","href":"/sdks/stt-realtime/behavior"}]},{"group":"STT API reference","pages":[{"title":"Speech to Text capabilities","api":"GET https://api.myvocal.ai/sound_clone/api/v1/stt/capabilities","href":"/api-reference/stt/capabilities"},{"group":"Batch uploads","pages":[{"title":"Create an upload","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/uploads","href":"/api-reference/stt/createUpload"},{"title":"Sign an upload part","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/uploads/{uploadId}/parts/{partNumber}","href":"/api-reference/stt/signUploadPart"},{"title":"Complete an upload","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/uploads/{uploadId}/complete","href":"/api-reference/stt/completeUpload"},{"title":"Get an upload","api":"GET https://api.myvocal.ai/sound_clone/api/v1/stt/uploads/{uploadId}","href":"/api-reference/stt/getUpload"}]},{"group":"Batch transcriptions","pages":[{"title":"Create a transcription","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions","href":"/api-reference/stt/createTranscription"},{"title":"Get a transcription","api":"GET https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}","href":"/api-reference/stt/getTranscription"},{"title":"List transcriptions","api":"GET https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions","href":"/api-reference/stt/listTranscriptions"},{"title":"Download a transcription","api":"GET https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}/download","href":"/api-reference/stt/downloadTranscription"},{"title":"Delete a transcription","api":"DELETE https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}","href":"/api-reference/stt/deleteTranscription"}]},{"group":"Real-time sessions","pages":[{"title":"Create a real-time session","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/realtime/sessions","href":"/api-reference/stt/createSession"},{"title":"Get a real-time session","api":"GET https://api.myvocal.ai/sound_clone/api/v1/stt/realtime/sessions/{sessionId}","href":"/api-reference/stt/getSession"},{"title":"Pause a real-time session","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/realtime/sessions/{sessionId}/pause","href":"/api-reference/stt/pauseSession"},{"title":"Resume a real-time session","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/realtime/sessions/{sessionId}/resume","description":"Open the next recording segment of an existing session.","href":"/api-reference/stt/resumeSession"},{"title":"Finish a real-time session","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/realtime/sessions/{sessionId}/finish","href":"/api-reference/stt/finishSession"},{"title":"Create a browser ticket","api":"POST https://api.myvocal.ai/sound_clone/api/v1/stt/realtime/sessions/{sessionId}/tickets","description":"Exchange the accessKey for a short-lived, single-use socket ticket.","href":"/api-reference/stt/createTicket"}]}]},{"title":"Speech to Text availability","sidebarTitle":"Availability","href":"/guides/stt-availability"}]},{"group":"Voice cloning","pages":[{"title":"How to use voices","sidebarTitle":"How to use voices","href":"/guides/voice-quickstart"},{"group":"Voice API reference","pages":[{"title":"Create a TTS voice","api":"POST https://docs.myvocal.ai/sound_clone/api/v1/voices/tts","href":"/api-reference/voice/addTTSVoice"},{"title":"Create a Cover voice","api":"POST https://docs.myvocal.ai/sound_clone/api/v1/voices/vc","href":"/api-reference/voice/addCoverVoice"},{"title":"Improve a TTS voice","api":"PUT https://docs.myvocal.ai/sound_clone/api/v1/voices/tts/{voiceId}","href":"/api-reference/voice/editTTSVoice"},{"title":"Improve a Cover voice","api":"PUT https://docs.myvocal.ai/sound_clone/api/v1/voices/vc/{voiceId}","href":"/api-reference/voice/editCoverVoice"},{"title":"List voices","api":"GET https://api.myvocal.ai/sound_clone/api/v1/voices","href":"/api-reference/voice/list"},{"title":"Rename a voice","api":"PUT https://api.myvocal.ai/sound_clone/api/v1/voices/rename/{id}","href":"/api-reference/voice/updateVoiceName"},{"title":"Delete a voice","api":"DELETE https://api.myvocal.ai/sound_clone/api/v1/voices/{id}","href":"/api-reference/voice/delete"}]}]},{"group":"AI Cover","pages":[{"title":"AI Cover quickstart","sidebarTitle":"Quickstart","href":"/guides/cover-quickstart"},{"title":"Generate a cover","api":"POST https://api.myvocal.ai/sound_clone/api/v1/cover","href":"/api-reference/cover/cover"},{"title":"Cover callbacks","href":"/callback"},{"group":"Cover History","pages":[{"title":"List Cover history","api":"GET https://api.myvocal.ai/sound_clone/sound_clone/api/v1/cover/list","href":"/api-reference/history/coverList"},{"title":"Get Cover audio URLs","api":"POST https://api.myvocal.ai/sound_clone/api/v1/cover/query","href":"/api-reference/history/coverListUrl"},{"title":"Delete Cover history","api":"DELETE https://api.myvocal.ai/sound_clone/api/v1/cover","href":"/api-reference/history/deleteCover"}]}]},{"group":"Text to Music","pages":[{"title":"Text-to-Music quickstart","sidebarTitle":"Quickstart","href":"/guides/music-quickstart"},{"group":"Music API reference","pages":[{"title":"Music capabilities","api":"GET https://api.myvocal.ai/sound_clone/api/v1/music/capabilities","href":"/api-reference/music/capabilities"},{"group":"Create and generate","pages":[{"title":"Create a music project","api":"POST https://api.myvocal.ai/sound_clone/api/v1/music/projects","href":"/api-reference/music/createProject"},{"title":"Get a music job","api":"GET https://api.myvocal.ai/sound_clone/api/v1/music/jobs/{jobId}","href":"/api-reference/music/getJob"},{"title":"Get a music project","api":"GET https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}","href":"/api-reference/music/getProject"},{"title":"Update the creative brief","api":"PUT https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}/brief","href":"/api-reference/music/updateBrief"},{"title":"Edit the arrangement","api":"PUT https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}/arrangement","href":"/api-reference/music/updateArrangement"},{"title":"Regenerate the arrangement","api":"POST https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}/arrangement/regenerate","href":"/api-reference/music/regenerateArrangement"},{"title":"Quote a music generation","api":"POST https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}/quotes","href":"/api-reference/music/createQuote"},{"title":"Generate the song","api":"POST https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}/generations","href":"/api-reference/music/createGeneration"},{"title":"Get a playback URL","api":"GET https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}/playback-url","href":"/api-reference/music/playbackUrl"},{"title":"Download the song","api":"GET https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}/download","href":"/api-reference/music/download"}]},{"group":"Manage projects","pages":[{"title":"List music projects","api":"GET https://api.myvocal.ai/sound_clone/api/v1/music/projects","href":"/api-reference/music/listProjects"},{"title":"Create a project version","api":"POST https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}/versions","href":"/api-reference/music/createVersion"},{"title":"Rename a music project","api":"PATCH https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}/name","href":"/api-reference/music/renameProject"},{"title":"Delete a music project","api":"DELETE https://api.myvocal.ai/sound_clone/api/v1/music/projects/{projectId}","href":"/api-reference/music/deleteProject"}]}]}]},{"group":"Interpretation","pages":[{"title":"Interpretation quickstart","sidebarTitle":"Quickstart","href":"/guides/interpretation-quickstart"},{"title":"Realtime translation quickstart","href":"/guides/interpretation-realtime-quickstart"},{"title":"Realtime translation API reference","href":"/api-reference/interpretation/realtime"},{"group":"Interpretation API reference","pages":[{"title":"Interpretation capabilities","api":"GET https://api.myvocal.ai/sound_clone/api/v1/interpretation/capabilities","href":"/api-reference/interpretation/capabilities"},{"group":"Upload the source","pages":[{"title":"Create an upload session","api":"POST https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}/uploads","href":"/api-reference/interpretation/createUpload"},{"title":"Sign an upload part","api":"POST https://api.myvocal.ai/sound_clone/api/v1/interpretation/uploads/{uploadId}/parts","href":"/api-reference/interpretation/signUploadPart"},{"title":"Complete an upload","api":"POST https://api.myvocal.ai/sound_clone/api/v1/interpretation/uploads/{uploadId}/complete","href":"/api-reference/interpretation/completeUpload"},{"title":"Get upload status","api":"GET https://api.myvocal.ai/sound_clone/api/v1/interpretation/uploads/{uploadId}","href":"/api-reference/interpretation/getUpload"},{"title":"Remove the interpretation source","api":"DELETE https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}/source","href":"/api-reference/interpretation/deleteSource"}]},{"group":"Quote and generate","pages":[{"title":"Patch the interpretation draft","api":"PATCH https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}/draft","href":"/api-reference/interpretation/patchDraft"},{"title":"Quote interpretation targets","api":"POST https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}/quotes","href":"/api-reference/interpretation/createQuote"},{"title":"Accept an interpretation quote","api":"POST https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}/generations","href":"/api-reference/interpretation/createGeneration"},{"title":"Get an interpretation job","api":"GET https://api.myvocal.ai/sound_clone/api/v1/interpretation/jobs/{jobId}","href":"/api-reference/interpretation/getJob"},{"title":"Get a retry plan","api":"GET https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}/targets/{targetId}/retry-plan","href":"/api-reference/interpretation/retryPlan"},{"title":"Retry a failed target","api":"POST https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}/targets/{targetId}/retry","href":"/api-reference/interpretation/retryTarget"}]},{"group":"Results and export","pages":[{"title":"Play an interpretation asset","api":"GET https://api.myvocal.ai/sound_clone/api/v1/interpretation/assets/{assetId}/playback","href":"/api-reference/interpretation/playback"},{"title":"Create an export","api":"POST https://api.myvocal.ai/sound_clone/api/v1/interpretation/targets/{targetId}/exports","href":"/api-reference/interpretation/createExport"},{"title":"Download an export","api":"GET https://api.myvocal.ai/sound_clone/api/v1/interpretation/exports/{exportId}/download","href":"/api-reference/interpretation/downloadExport"}]},{"group":"Manage projects","pages":[{"title":"Create an interpretation project","api":"POST https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects","href":"/api-reference/interpretation/createProject"},{"title":"Get an interpretation project","api":"GET https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}","href":"/api-reference/interpretation/getProject"},{"title":"List interpretation projects","api":"GET https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects","href":"/api-reference/interpretation/listProjects"},{"title":"Rename an interpretation project","api":"PATCH https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}/name","href":"/api-reference/interpretation/renameProject"},{"title":"Delete an interpretation project","api":"DELETE https://api.myvocal.ai/sound_clone/api/v1/interpretation/projects/{projectId}","href":"/api-reference/interpretation/deleteProject"}]}]}]},{"group":"Integration concepts","pages":[{"title":"Characters, quotes and billing","sidebarTitle":"Characters \u0026 billing","href":"/guides/characters-and-quotes"},{"title":"Async jobs, polling and retries","sidebarTitle":"Async jobs, polling \u0026 retries","href":"/guides/async-jobs-and-retries"}]}]},"basePath":"","title":"Finish a real-time session - MyVocal.AI","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js"]}