Submit a media URL for transcription. Runs asynchronously — the task is accepted with 202 and moves through queued → processing → a terminal status; poll GET /v1/tasks/{task_id} or pass wait there to long-poll. Supports word-level timestamps and speaker diarisation.
Keep filler words (um, uh, er) in the transcript as words with their own timings, so a cut op can remove them by index. Off by default: they are left out of the text and the words.
Structured JSON result for tasks that return data rather than a file — transcribe returns the transcript here (text, words, utterances, and any requested analysis). Populated once status == completed; null for renders and for any job whose only artifact is the file at output.url.
Example:
{ "language_code": "en", "text": "Welcome back to the show." }
ISO-8601 UTC timestamp when the job reached a terminal state.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Framelane","colors":{"primary":"#0070f3","light":"#3b82f6","dark":"#1d4ed8"},"logo":{"light":"https://mintcdn.com/itis-c7dc7146/I-4ZfymyiJyBmcDs/logo/framelane-light.png?fit=max\u0026auto=format\u0026n=I-4ZfymyiJyBmcDs\u0026q=85\u0026s=a819adfb6e5b9a97575f20c034d41c77","dark":"https://mintcdn.com/itis-c7dc7146/I-4ZfymyiJyBmcDs/logo/framelane-dark.png?fit=max\u0026auto=format\u0026n=I-4ZfymyiJyBmcDs\u0026q=85\u0026s=14e93bd67dd1fedf3c655cbebd17e046"},"favicon":"https://mintcdn.com/itis-c7dc7146/I-4ZfymyiJyBmcDs/favicon.ico?fit=max\u0026auto=format\u0026n=I-4ZfymyiJyBmcDs\u0026q=85\u0026s=a0cbeea069121bb5f6014ae0b57c8b8b","api":{"playground":{"display":"interactive"}},"navbar":{"links":[{"href":"https://console.framelane.io","label":"Console"}],"primary":{"type":"button","label":"Get API Key","href":"https://console.framelane.io/signup"}},"footer":{"socials":{"x":"https://twitter.com/framelane","github":"https://github.com/framelane"}},"seo":{"metatags":{"og:type":"website","og:site_name":"Framelane","og:image":"https://cdn-assets.framelane.io/shared/images/og-docs.png","robots":"index, follow"},"indexing":"all"},"contextual":{"options":["copy","view","claude","chatgpt","download-spec"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/framelane"},{"anchor":"Status","icon":"signal-bars","href":"https://status.framelane.io"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"itis-c7dc7146","hasAudioNarration":false,"actualSubdomain":"itis-c7dc7146","customDomains":["docs.framelane.io"],"gitSource":{"type":"github","owner":"itishq","repo":"framelane-api","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf86d0737ceb5e7109b3ae","collectionId":"43553988-d245-46c7-9e69-6860d4cdb8de","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf86d0737ceb5e7109b3ae"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adf86d0737ceb5e7109b3ae","clientVersion":"0.0.3971","searchFilterCounts":[{"language":"default","tag":"API Reference","count":65},{"language":"default","tag":"Documentation","count":41},{"language":"default","tag":"Webhooks","count":13},{"language":"default","tag":"Projects","count":10},{"language":"default","tag":"Renders","count":10},{"language":"default","tag":"Get Started","count":9},{"language":"default","tag":"Render Examples","count":9},{"language":"default","tag":"Account","count":9},{"language":"default","tag":"Guides","count":7},{"language":"default","tag":"Tasks","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/tasks/transcribe-task","slug":"/api-reference/tasks/transcribe-task","pageMetadata":{"title":"Transcribe task","description":"Submit a media URL for transcription. Runs asynchronously — the task is accepted with `202` and moves through `queued` → `processing` → a terminal status; poll `GET /v1/tasks/{task_id}` or pass `wait` there to long-poll. Supports word-level timestamps and speaker diarisation.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/tasks/transcribe","href":"/api-reference/tasks/transcribe-task","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Submit a media URL for transcription. Runs asynchronously — the task is accepted with \", _jsx(_components.code, {\n children: \"202\"\n }), \" and moves through \", _jsx(_components.code, {\n children: \"queued\"\n }), \" → \", _jsx(_components.code, {\n children: \"processing\"\n }), \" → a terminal status; poll \", _jsx(_components.code, {\n children: \"GET /v1/tasks/{task_id}\"\n }), \" or pass \", _jsx(_components.code, {\n children: \"wait\"\n }), \" there to long-poll. Supports word-level timestamps and speaker diarisation.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Transcribe task","description":"Submit a media URL for transcription. Runs asynchronously — the task is accepted with `202` and moves through `queued` → `processing` → a terminal status; poll `GET /v1/tasks/{task_id}` or pass `wait` there to long-poll. Supports word-level timestamps and speaker diarisation.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/tasks/transcribe","href":"/api-reference/tasks/transcribe-task","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["tasks"],"summary":"Transcribe task","description":"Submit a media URL for transcription. Runs asynchronously — the task is accepted with `202` and moves through `queued` → `processing` → a terminal status; poll `GET /v1/tasks/{task_id}` or pass `wait` there to long-poll. Supports word-level timestamps and speaker diarisation.","operationId":"create_transcribe","security":["61c09682-ce83-4a16-b81c-3f02f2194191"],"parameters":["a59c979e-a494-4d7b-9579-9be995ba787e"],"requestBody":"89b65f25-46ad-4cab-87d4-9d64d7ee8ddb","responses":{"200":"718151c2-6514-44fe-9dfd-beabbc524e4e","202":"2b80becb-90b0-48d6-944b-c8650c6e8990","401":"d9655d4b-3503-43ca-af53-f48b9c490afd","422":"f0a55502-fc8c-429f-a5bc-0067b580af12","429":"22f00110-0ac4-4035-9431-1263350bc966"},"method":"post","type":"path","servers":["374e059c-6af0-4c50-a102-7400af30babb"],"path":"/v1/tasks/transcribe","baseUrlOptions":["https://api.framelane.io"],"title":"Transcribe task","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"a59c979e-a494-4d7b-9579-9be995ba787e":{"name":"Idempotency-Key","in":"header","required":false,"schema":{"oneOf":[{"type":"string","title":"Idempotency-Key","uniqueKey":"oneOf.0","typeLabel":"string"},{"type":"null","title":"Idempotency-Key","uniqueKey":"oneOf.1","typeLabel":"null"}],"isRequired":false,"uniqueKey":"","typeLabel":"string | null"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"source_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Source Url","isRequired":true,"uniqueKey":"source_url","typeLabel":"string\u003curi>"},"metadata":{"additionalProperties":{"type":"string","uniqueKey":"metadata.additionalProperties","typeLabel":"string"},"type":"object","title":"Metadata","description":"Arbitrary key-value pairs echoed back in all webhook payloads.","example":{"project_id":"proj_123"},"uniqueKey":"metadata","typeLabel":"Metadata · object"},"webhook_url":{"oneOf":[{"type":"string","title":"Webhook Url","description":"Per-request webhook URL. Overrides workspace-level webhooks for this job only. Receives task.completed, task.failed, and progress events.","format":"uri","maxLength":2083,"minLength":1,"example":"https://app.example.com/hooks/framelane","uniqueKey":"webhook_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","title":"Webhook Url","description":"Per-request webhook URL. Overrides workspace-level webhooks for this job only. Receives task.completed, task.failed, and progress events.","example":"https://app.example.com/hooks/framelane","uniqueKey":"webhook_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"webhook_url","typeLabel":"string\u003curi> | null"},"language":{"oneOf":[{"type":"string","title":"Language","description":"BCP-47 language code (e.g. 'en'). Auto-detected when omitted.","uniqueKey":"language.oneOf.0","typeLabel":"string"},{"type":"null","title":"Language","description":"BCP-47 language code (e.g. 'en'). Auto-detected when omitted.","uniqueKey":"language.oneOf.1","typeLabel":"null"}],"uniqueKey":"language","typeLabel":"string | null"},"speech_model":{"type":"string","enum":["universal-2","universal-3-pro"],"title":"Speech Model","description":"AssemblyAI speech model to use.","default":"universal-2","uniqueKey":"speech_model","typeLabel":"enum\u003cstring>"},"word_timings":{"type":"boolean","title":"Word Timings","description":"Include word-level timestamps in the output.","default":true,"uniqueKey":"word_timings","typeLabel":"boolean"},"disfluencies":{"type":"boolean","title":"Disfluencies","description":"Keep filler words (um, uh, er) in the transcript as words with their own timings, so a `cut` op can remove them by index. Off by default: they are left out of the text and the words.","default":false,"uniqueKey":"disfluencies","typeLabel":"boolean"},"speaker_labels":{"type":"boolean","title":"Speaker Labels","description":"Enable speaker diarisation (who spoke when).","default":false,"uniqueKey":"speaker_labels","typeLabel":"boolean"},"speakers_expected":{"oneOf":[{"type":"integer","title":"Speakers Expected","description":"Hint for the expected number of speakers (used when speaker_labels=true).","maximum":10,"minimum":1,"uniqueKey":"speakers_expected.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Speakers Expected","description":"Hint for the expected number of speakers (used when speaker_labels=true).","uniqueKey":"speakers_expected.oneOf.1","typeLabel":"null"}],"uniqueKey":"speakers_expected","typeLabel":"integer | null"},"sentiment_analysis":{"type":"boolean","title":"Sentiment Analysis","description":"Detect positive / neutral / negative sentiment per sentence.","default":false,"uniqueKey":"sentiment_analysis","typeLabel":"boolean"},"entity_detection":{"type":"boolean","title":"Entity Detection","description":"Identify named entities (people, organisations, places, etc.).","default":false,"uniqueKey":"entity_detection","typeLabel":"boolean"},"auto_highlights":{"type":"boolean","title":"Auto Highlights","description":"Extract the most important phrases automatically.","default":false,"uniqueKey":"auto_highlights","typeLabel":"boolean"},"content_safety":{"type":"boolean","title":"Content Safety","description":"Flag sensitive content categories.","default":false,"uniqueKey":"content_safety","typeLabel":"boolean"},"iab_categories":{"type":"boolean","title":"Iab Categories","description":"Classify content into IAB taxonomy topics.","default":false,"uniqueKey":"iab_categories","typeLabel":"boolean"},"word_boost":{"items":{"type":"string","uniqueKey":"word_boost.items.[INDEX]","typeLabel":"string"},"type":"array","title":"Word Boost","description":"Domain-specific terms to boost recognition accuracy (max 200).","uniqueKey":"word_boost","typeLabel":"string[]"}},"additionalProperties":false,"type":"object","required":["source_url"],"title":"TranscribeBody","uniqueKey":"","typeLabel":"TranscribeBody · object"},"examples":{"Example":{"title":"Example","value":{"source_url":"\u003cstring>","metadata":{"project_id":"proj_123"},"webhook_url":"https://app.example.com/hooks/framelane","language":"\u003cstring>","speech_model":"universal-2","word_timings":true,"disfluencies":false,"speaker_labels":false,"speakers_expected":5,"sentiment_analysis":false,"entity_detection":false,"auto_highlights":false,"content_safety":false,"iab_categories":false,"word_boost":["\u003cstring>"]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"718151c2-6514-44fe-9dfd-beabbc524e4e":{"description":"Idempotent replay.","content":{"application/json":{"schema":{"properties":{"id":{"type":"string","title":"Id","description":"Unique job ID. Prefix indicates type: `render_` or `task_`.","example":"render_01J8QR2K5VKDGN2T4FBM3CZYX7","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"kind":{"type":"string","enum":["render","task"],"title":"JobKind","description":"Whether this is a `render` or a `task`.","example":"render","isRequired":true,"uniqueKey":"kind","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","title":"Workspace Id","description":"ID of the workspace that owns this job.","example":"ws_01J8QR2K5VKDGN2T4FBM3CZYX8","isRequired":true,"uniqueKey":"workspace_id","typeLabel":"string"},"status":{"type":"string","enum":["ingesting","queued","processing","completed","failed","cancelled"],"title":"JobStatus","description":"Current lifecycle state: `queued` → `processing` → `completed` / `failed` / `cancelled`.","x-enumDescriptions":{"ingesting":"External source files are being probed for duration before the render is queued.","queued":"Accepted and waiting for a worker to pick it up.","processing":"Actively rendering or processing.","completed":"Finished successfully; the output artifact is available.","failed":"Terminated with an error (see `error`).","cancelled":"Cancelled by the caller before completion."},"example":"queued","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"ISO-8601 UTC timestamp when the job was created.","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"ISO-8601 UTC timestamp of the last status change.","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"is_preview":{"type":"boolean","title":"Is Preview","description":"True for a cheap preview render. Previews are not billed and are excluded from the renders list.","default":false,"example":false,"uniqueKey":"is_preview","typeLabel":"boolean"},"editor_url":{"oneOf":[{"type":"string","title":"Editor Url","description":"Open the project this job was submitted from in the authenticated console. Absent for a job with no project.","uniqueKey":"editor_url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Editor Url","description":"Open the project this job was submitted from in the authenticated console. Absent for a job with no project.","uniqueKey":"editor_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"editor_url","typeLabel":"string | null"},"task_type":{"oneOf":[{"type":"string","title":"TaskType","description":"For `task` jobs only — the specific AI operation.","enum":["transcribe"],"x-enumDescriptions":{"transcribe":"Speech-to-text transcription (via AssemblyAI) with optional analysis. Returns the transcript inline on the task's `result` object — there is no file artifact, so `output` is null and `/v1/tasks/{id}/download` returns 404."},"example":"transcribe","uniqueKey":"task_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"For `task` jobs only — the specific AI operation.","example":"transcribe","uniqueKey":"task_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"task_type","typeLabel":"enum\u003cstring> | null"},"progress_percent":{"type":"integer","maximum":100,"minimum":0,"title":"Progress Percent","description":"0–100 progress indicator updated by the render engine.","default":0,"example":0,"uniqueKey":"progress_percent","typeLabel":"integer"},"progress_stage":{"oneOf":[{"type":"string","title":"ProgressStage","description":"Current processing phase within a job.","enum":["downloading","compositing","encoding","uploading"],"x-enumDescriptions":{"downloading":"Fetching source media.","compositing":"Compositing the scene on the GPU.","encoding":"Encoding the output video.","uploading":"Uploading the finished artifact to storage."},"example":"compositing","uniqueKey":"progress_stage.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Current processing phase within a job.","example":"compositing","uniqueKey":"progress_stage.oneOf.1","typeLabel":"null"}],"uniqueKey":"progress_stage","typeLabel":"enum\u003cstring> | null"},"output":{"oneOf":[{"type":"object","title":"JobOutput","description":"Populated once `status == completed`. Contains the signed artifact URL.","properties":{"url":{"oneOf":[{"type":"string","title":"Url","description":"CDN URL to the completed artifact.","example":"https://cdn-user.framelane.io/render_01J.../output.mp4","uniqueKey":"output.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"CDN URL to the completed artifact.","example":"https://cdn-user.framelane.io/render_01J.../output.mp4","uniqueKey":"output.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.url","typeLabel":"string | null"},"width":{"oneOf":[{"type":"integer","title":"Width","description":"Output video width in pixels.","example":1920,"uniqueKey":"output.oneOf.0.width.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Width","description":"Output video width in pixels.","example":1920,"uniqueKey":"output.oneOf.0.width.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.width","typeLabel":"integer | null"},"height":{"oneOf":[{"type":"integer","title":"Height","description":"Output video height in pixels.","example":1080,"uniqueKey":"output.oneOf.0.height.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Height","description":"Output video height in pixels.","example":1080,"uniqueKey":"output.oneOf.0.height.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.height","typeLabel":"integer | null"},"duration":{"oneOf":[{"type":"number","title":"Duration","description":"Output duration in seconds.","example":15.3,"uniqueKey":"output.oneOf.0.duration.oneOf.0","typeLabel":"number"},{"type":"null","title":"Duration","description":"Output duration in seconds.","example":15.3,"uniqueKey":"output.oneOf.0.duration.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.duration","typeLabel":"number | null"},"size_bytes":{"oneOf":[{"type":"integer","title":"Size Bytes","description":"Artifact file size in bytes.","example":12582912,"uniqueKey":"output.oneOf.0.size_bytes.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Size Bytes","description":"Artifact file size in bytes.","example":12582912,"uniqueKey":"output.oneOf.0.size_bytes.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.size_bytes","typeLabel":"integer | null"}},"uniqueKey":"output.oneOf.0","typeLabel":"JobOutput · object"},{"type":"null","description":"Populated once `status == completed`. Contains the signed artifact URL.","uniqueKey":"output.oneOf.1","typeLabel":"null"}],"uniqueKey":"output","typeLabel":"JobOutput · object | null"},"result":{"oneOf":[{"type":"object","title":"Result","description":"Structured JSON result for tasks that return data rather than a file — `transcribe` returns the transcript here (`text`, `words`, `utterances`, and any requested analysis). Populated once `status == completed`; `null` for renders and for any job whose only artifact is the file at `output.url`.","example":{"language_code":"en","text":"Welcome back to the show."},"additionalProperties":true,"uniqueKey":"result.oneOf.0","typeLabel":"Result · object"},{"type":"null","title":"Result","description":"Structured JSON result for tasks that return data rather than a file — `transcribe` returns the transcript here (`text`, `words`, `utterances`, and any requested analysis). Populated once `status == completed`; `null` for renders and for any job whose only artifact is the file at `output.url`.","example":{"language_code":"en","text":"Welcome back to the show."},"uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"Result · object | null"},"error":{"oneOf":[{"type":"object","title":"JobError","description":"Populated when `status == failed`. Contains a structured error code.","required":["code","message"],"properties":{"code":{"type":"string","enum":["invalid_source","source_not_found","source_too_large","asset_not_ready","codec_unsupported","decode_failed","encode_failed","timeout","out_of_memory","gpu_error","upload_failed","provider_error","ingest_failed","render_refused","internal","cancelled"],"title":"ErrorCode","description":"Machine-readable error code.","x-enumDescriptions":{"invalid_source":"A source URL was malformed or inaccessible.","source_not_found":"A source URL returned 404.","source_too_large":"A source file exceeded the maximum allowed size.","asset_not_ready":"A referenced asset was still ingesting when the job ran.","codec_unsupported":"A source used a codec the renderer cannot decode.","decode_failed":"A source file could not be decoded.","encode_failed":"The output could not be encoded.","timeout":"Processing exceeded the time limit.","out_of_memory":"The renderer ran out of GPU memory.","gpu_error":"A GPU hardware/driver error occurred.","upload_failed":"The output artifact failed to upload to storage.","provider_error":"An upstream provider (e.g. AssemblyAI) returned an error.","ingest_failed":"An external source could not be probed (unreachable, not a media file, or timed out).","render_refused":"The renderer refused the composition by name: a runtime shader that did not compile or ran over its GPU time budget, or an operation, a component or a nested composition it could not apply. `error_message` carries the engine's words; change what it names and submit again.","internal":"An unexpected internal error occurred.","cancelled":"The job was cancelled."},"example":"invalid_source","isRequired":true,"uniqueKey":"error.oneOf.0.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable error description.","example":"Source URL returned 404.","isRequired":true,"uniqueKey":"error.oneOf.0.message","typeLabel":"string"}},"uniqueKey":"error.oneOf.0","typeLabel":"JobError · object"},{"type":"null","description":"Populated when `status == failed`. Contains a structured error code.","uniqueKey":"error.oneOf.1","typeLabel":"null"}],"uniqueKey":"error","typeLabel":"JobError · object | null"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","description":"Caller-supplied key-value pairs echoed back on every webhook and response.","example":{"project_id":"proj_123","user_ref":"usr_abc"},"uniqueKey":"metadata","typeLabel":"Metadata · object"},"completed_at":{"oneOf":[{"type":"string","title":"Completed At","description":"ISO-8601 UTC timestamp when the job reached a terminal state.","format":"date-time","uniqueKey":"completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Completed At","description":"ISO-8601 UTC timestamp when the job reached a terminal state.","uniqueKey":"completed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"completed_at","typeLabel":"string\u003cdate-time> | null"}},"type":"object","required":["id","kind","workspace_id","status","created_at","updated_at"],"title":"JobOut","description":"A render job or AI task.","uniqueKey":"","typeLabel":"JobOut · object"},"examples":{"Example":{"title":"Example","value":{"id":"render_01J8QR2K5VKDGN2T4FBM3CZYX7","kind":"render","workspace_id":"ws_01J8QR2K5VKDGN2T4FBM3CZYX8","status":"queued","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","is_preview":false,"editor_url":"\u003cstring>","task_type":"transcribe","progress_percent":0,"progress_stage":"compositing","output":{"url":"https://cdn-user.framelane.io/render_01J.../output.mp4","width":1920,"height":1080,"duration":15.3,"size_bytes":12582912},"result":{"language_code":"en","text":"Welcome back to the show."},"error":{"code":"invalid_source","message":"Source URL returned 404."},"metadata":{"project_id":"proj_123","user_ref":"usr_abc"},"completed_at":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"2b80becb-90b0-48d6-944b-c8650c6e8990":{"description":"Successful Response","content":{"application/json":{"schema":{"properties":{"id":{"type":"string","title":"Id","description":"Unique job ID. Prefix indicates type: `render_` or `task_`.","example":"render_01J8QR2K5VKDGN2T4FBM3CZYX7","isRequired":true,"uniqueKey":"id","typeLabel":"string"},"kind":{"type":"string","enum":["render","task"],"title":"JobKind","description":"Whether this is a `render` or a `task`.","example":"render","isRequired":true,"uniqueKey":"kind","typeLabel":"enum\u003cstring>"},"workspace_id":{"type":"string","title":"Workspace Id","description":"ID of the workspace that owns this job.","example":"ws_01J8QR2K5VKDGN2T4FBM3CZYX8","isRequired":true,"uniqueKey":"workspace_id","typeLabel":"string"},"status":{"type":"string","enum":["ingesting","queued","processing","completed","failed","cancelled"],"title":"JobStatus","description":"Current lifecycle state: `queued` → `processing` → `completed` / `failed` / `cancelled`.","x-enumDescriptions":{"ingesting":"External source files are being probed for duration before the render is queued.","queued":"Accepted and waiting for a worker to pick it up.","processing":"Actively rendering or processing.","completed":"Finished successfully; the output artifact is available.","failed":"Terminated with an error (see `error`).","cancelled":"Cancelled by the caller before completion."},"example":"queued","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"ISO-8601 UTC timestamp when the job was created.","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"ISO-8601 UTC timestamp of the last status change.","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"is_preview":{"type":"boolean","title":"Is Preview","description":"True for a cheap preview render. Previews are not billed and are excluded from the renders list.","default":false,"example":false,"uniqueKey":"is_preview","typeLabel":"boolean"},"editor_url":{"oneOf":[{"type":"string","title":"Editor Url","description":"Open the project this job was submitted from in the authenticated console. Absent for a job with no project.","uniqueKey":"editor_url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Editor Url","description":"Open the project this job was submitted from in the authenticated console. Absent for a job with no project.","uniqueKey":"editor_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"editor_url","typeLabel":"string | null"},"task_type":{"oneOf":[{"type":"string","title":"TaskType","description":"For `task` jobs only — the specific AI operation.","enum":["transcribe"],"x-enumDescriptions":{"transcribe":"Speech-to-text transcription (via AssemblyAI) with optional analysis. Returns the transcript inline on the task's `result` object — there is no file artifact, so `output` is null and `/v1/tasks/{id}/download` returns 404."},"example":"transcribe","uniqueKey":"task_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"For `task` jobs only — the specific AI operation.","example":"transcribe","uniqueKey":"task_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"task_type","typeLabel":"enum\u003cstring> | null"},"progress_percent":{"type":"integer","maximum":100,"minimum":0,"title":"Progress Percent","description":"0–100 progress indicator updated by the render engine.","default":0,"example":0,"uniqueKey":"progress_percent","typeLabel":"integer"},"progress_stage":{"oneOf":[{"type":"string","title":"ProgressStage","description":"Current processing phase within a job.","enum":["downloading","compositing","encoding","uploading"],"x-enumDescriptions":{"downloading":"Fetching source media.","compositing":"Compositing the scene on the GPU.","encoding":"Encoding the output video.","uploading":"Uploading the finished artifact to storage."},"example":"compositing","uniqueKey":"progress_stage.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Current processing phase within a job.","example":"compositing","uniqueKey":"progress_stage.oneOf.1","typeLabel":"null"}],"uniqueKey":"progress_stage","typeLabel":"enum\u003cstring> | null"},"output":{"oneOf":[{"type":"object","title":"JobOutput","description":"Populated once `status == completed`. Contains the signed artifact URL.","properties":{"url":{"oneOf":[{"type":"string","title":"Url","description":"CDN URL to the completed artifact.","example":"https://cdn-user.framelane.io/render_01J.../output.mp4","uniqueKey":"output.oneOf.0.url.oneOf.0","typeLabel":"string"},{"type":"null","title":"Url","description":"CDN URL to the completed artifact.","example":"https://cdn-user.framelane.io/render_01J.../output.mp4","uniqueKey":"output.oneOf.0.url.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.url","typeLabel":"string | null"},"width":{"oneOf":[{"type":"integer","title":"Width","description":"Output video width in pixels.","example":1920,"uniqueKey":"output.oneOf.0.width.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Width","description":"Output video width in pixels.","example":1920,"uniqueKey":"output.oneOf.0.width.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.width","typeLabel":"integer | null"},"height":{"oneOf":[{"type":"integer","title":"Height","description":"Output video height in pixels.","example":1080,"uniqueKey":"output.oneOf.0.height.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Height","description":"Output video height in pixels.","example":1080,"uniqueKey":"output.oneOf.0.height.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.height","typeLabel":"integer | null"},"duration":{"oneOf":[{"type":"number","title":"Duration","description":"Output duration in seconds.","example":15.3,"uniqueKey":"output.oneOf.0.duration.oneOf.0","typeLabel":"number"},{"type":"null","title":"Duration","description":"Output duration in seconds.","example":15.3,"uniqueKey":"output.oneOf.0.duration.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.duration","typeLabel":"number | null"},"size_bytes":{"oneOf":[{"type":"integer","title":"Size Bytes","description":"Artifact file size in bytes.","example":12582912,"uniqueKey":"output.oneOf.0.size_bytes.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Size Bytes","description":"Artifact file size in bytes.","example":12582912,"uniqueKey":"output.oneOf.0.size_bytes.oneOf.1","typeLabel":"null"}],"uniqueKey":"output.oneOf.0.size_bytes","typeLabel":"integer | null"}},"uniqueKey":"output.oneOf.0","typeLabel":"JobOutput · object"},{"type":"null","description":"Populated once `status == completed`. Contains the signed artifact URL.","uniqueKey":"output.oneOf.1","typeLabel":"null"}],"uniqueKey":"output","typeLabel":"JobOutput · object | null"},"result":{"oneOf":[{"type":"object","title":"Result","description":"Structured JSON result for tasks that return data rather than a file — `transcribe` returns the transcript here (`text`, `words`, `utterances`, and any requested analysis). Populated once `status == completed`; `null` for renders and for any job whose only artifact is the file at `output.url`.","example":{"language_code":"en","text":"Welcome back to the show."},"additionalProperties":true,"uniqueKey":"result.oneOf.0","typeLabel":"Result · object"},{"type":"null","title":"Result","description":"Structured JSON result for tasks that return data rather than a file — `transcribe` returns the transcript here (`text`, `words`, `utterances`, and any requested analysis). Populated once `status == completed`; `null` for renders and for any job whose only artifact is the file at `output.url`.","example":{"language_code":"en","text":"Welcome back to the show."},"uniqueKey":"result.oneOf.1","typeLabel":"null"}],"uniqueKey":"result","typeLabel":"Result · object | null"},"error":{"oneOf":[{"type":"object","title":"JobError","description":"Populated when `status == failed`. Contains a structured error code.","required":["code","message"],"properties":{"code":{"type":"string","enum":["invalid_source","source_not_found","source_too_large","asset_not_ready","codec_unsupported","decode_failed","encode_failed","timeout","out_of_memory","gpu_error","upload_failed","provider_error","ingest_failed","render_refused","internal","cancelled"],"title":"ErrorCode","description":"Machine-readable error code.","x-enumDescriptions":{"invalid_source":"A source URL was malformed or inaccessible.","source_not_found":"A source URL returned 404.","source_too_large":"A source file exceeded the maximum allowed size.","asset_not_ready":"A referenced asset was still ingesting when the job ran.","codec_unsupported":"A source used a codec the renderer cannot decode.","decode_failed":"A source file could not be decoded.","encode_failed":"The output could not be encoded.","timeout":"Processing exceeded the time limit.","out_of_memory":"The renderer ran out of GPU memory.","gpu_error":"A GPU hardware/driver error occurred.","upload_failed":"The output artifact failed to upload to storage.","provider_error":"An upstream provider (e.g. AssemblyAI) returned an error.","ingest_failed":"An external source could not be probed (unreachable, not a media file, or timed out).","render_refused":"The renderer refused the composition by name: a runtime shader that did not compile or ran over its GPU time budget, or an operation, a component or a nested composition it could not apply. `error_message` carries the engine's words; change what it names and submit again.","internal":"An unexpected internal error occurred.","cancelled":"The job was cancelled."},"example":"invalid_source","isRequired":true,"uniqueKey":"error.oneOf.0.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","description":"Human-readable error description.","example":"Source URL returned 404.","isRequired":true,"uniqueKey":"error.oneOf.0.message","typeLabel":"string"}},"uniqueKey":"error.oneOf.0","typeLabel":"JobError · object"},{"type":"null","description":"Populated when `status == failed`. Contains a structured error code.","uniqueKey":"error.oneOf.1","typeLabel":"null"}],"uniqueKey":"error","typeLabel":"JobError · object | null"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata","description":"Caller-supplied key-value pairs echoed back on every webhook and response.","example":{"project_id":"proj_123","user_ref":"usr_abc"},"uniqueKey":"metadata","typeLabel":"Metadata · object"},"completed_at":{"oneOf":[{"type":"string","title":"Completed At","description":"ISO-8601 UTC timestamp when the job reached a terminal state.","format":"date-time","uniqueKey":"completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","title":"Completed At","description":"ISO-8601 UTC timestamp when the job reached a terminal state.","uniqueKey":"completed_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"completed_at","typeLabel":"string\u003cdate-time> | null"}},"type":"object","required":["id","kind","workspace_id","status","created_at","updated_at"],"title":"JobOut","description":"A render job or AI task.","uniqueKey":"","typeLabel":"JobOut · object"},"examples":{"Example":{"title":"Example","value":{"id":"render_01J8QR2K5VKDGN2T4FBM3CZYX7","kind":"render","workspace_id":"ws_01J8QR2K5VKDGN2T4FBM3CZYX8","status":"queued","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","is_preview":false,"editor_url":"\u003cstring>","task_type":"transcribe","progress_percent":0,"progress_stage":"compositing","output":{"url":"https://cdn-user.framelane.io/render_01J.../output.mp4","width":1920,"height":1080,"duration":15.3,"size_bytes":12582912},"result":{"language_code":"en","text":"Welcome back to the show."},"error":{"code":"invalid_source","message":"Source URL returned 404."},"metadata":{"project_id":"proj_123","user_ref":"usr_abc"},"completed_at":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"d9655d4b-3503-43ca-af53-f48b9c490afd":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"description":"The error envelope returned on every 4xx/5xx response: `{\"error\": {...}}`.","properties":{"error":{"description":"The structured error body — the value of the `error` key on an error response.","properties":{"code":{"description":"Machine-readable error code returned on a 4xx/5xx response. Branch on `error.code` to\nhandle failures programmatically.\n\nValues:\n- `invalid_request` — The request was malformed or failed validation.\n- `unauthorized` — Missing or invalid API key.\n- `forbidden` — Authenticated but not permitted to perform this action.\n- `not_found` — The requested resource does not exist.\n- `conflict` — Conflicts with current state (e.g. a reused Idempotency-Key with a different body).\n- `unsupported_feature` — The composition uses a feature the renderer does not support.\n- `invalid_source` — A source URL is malformed or unreachable.\n- `source_not_found` — A referenced source file could not be found.\n- `source_too_large` — A source file exceeds the allowed size.\n- `asset_not_ready` — A referenced asset is still ingesting and is not ready yet.\n- `ingest_failed` — Copying an external source into Framelane storage failed.\n- `codec_unsupported` — A source uses a codec the renderer cannot decode.\n- `quota_exceeded` — The workspace has exhausted its plan quota (HTTP 402).\n- `rate_limited` — Too many requests; retry after the Retry-After interval.\n- `internal` — An unexpected server error occurred.\n- `email_not_verified` — The workspace email is unverified; verify it before making authed calls.\n- `email_in_use` — The email is already associated with another workspace.\n- `invalid_otp` — The verification code is incorrect or expired.\n- `unsupported_content_type` — The provided content type is not supported.\n- `plan_required` — The feature needs a higher plan (HTTP 402); `details.required_plan` names it.\n- `admin_only` — Only an admin workspace may call this route (HTTP 403).\n- `template_assets_not_shared` — A published template may reference only shared CDN media; `details.urls` lists the rest.\n- `template_has_webhook` — A published template may not carry a `webhook_url`: every copy of it would notify that URL.\n- `http_error` — A generic HTTP error not covered by a more specific code.\n- `shader_compile_error` — A shader's SkSL did not compile; `details.errors` gives each error's line and column.\n- `shader_compiler_unavailable` — The shader compiler is not installed on this deployment or did not answer in time (HTTP 503).\n- `shader_not_found` — An effect names a shader id that is neither this workspace's nor shared.\n- `shader_param_invalid` — An effect sets a shader param the shader does not declare, or a value of the wrong type or range.","enum":["invalid_request","unauthorized","forbidden","not_found","conflict","unsupported_feature","invalid_source","source_not_found","source_too_large","asset_not_ready","ingest_failed","codec_unsupported","quota_exceeded","rate_limited","internal","email_not_verified","email_in_use","invalid_otp","unsupported_content_type","inline_too_large","plan_required","admin_only","template_assets_not_shared","template_has_webhook","http_error","shader_compile_error","shader_compiler_unavailable","shader_not_found","shader_param_invalid"],"title":"ErrorCode","type":"string","x-enumDescriptions":{"invalid_request":"The request was malformed or failed validation.","unauthorized":"Missing or invalid API key.","forbidden":"Authenticated but not permitted to perform this action.","not_found":"The requested resource does not exist.","conflict":"Conflicts with current state (e.g. a reused Idempotency-Key with a different body).","unsupported_feature":"The composition uses a feature the renderer does not support.","invalid_source":"A source URL is malformed or unreachable.","source_not_found":"A referenced source file could not be found.","source_too_large":"A source file exceeds the allowed size.","asset_not_ready":"A referenced asset is still ingesting and is not ready yet.","ingest_failed":"Copying an external source into Framelane storage failed.","codec_unsupported":"A source uses a codec the renderer cannot decode.","quota_exceeded":"The workspace has exhausted its plan quota (HTTP 402).","rate_limited":"Too many requests; retry after the Retry-After interval.","internal":"An unexpected server error occurred.","email_not_verified":"The workspace email is unverified; verify it before making authed calls.","email_in_use":"The email is already associated with another workspace.","invalid_otp":"The verification code is incorrect or expired.","unsupported_content_type":"The provided content type is not supported.","plan_required":"The feature needs a higher plan (HTTP 402); `details.required_plan` names it.","admin_only":"Only an admin workspace may call this route (HTTP 403).","template_assets_not_shared":"A published template may reference only shared CDN media; `details.urls` lists the rest.","template_has_webhook":"A published template may not carry a `webhook_url`: every copy of it would notify that URL.","http_error":"A generic HTTP error not covered by a more specific code.","shader_compile_error":"A shader's SkSL did not compile; `details.errors` gives each error's line and column.","shader_compiler_unavailable":"The shader compiler is not installed on this deployment or did not answer in time (HTTP 503).","shader_not_found":"An effect names a shader id that is neither this workspace's nor shared.","shader_param_invalid":"An effect sets a shader param the shader does not declare, or a value of the wrong type or range."},"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{"type":"object","title":"Details","additionalProperties":true,"uniqueKey":"error.details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"Details · object | null"}},"required":["code","message"],"title":"ErrorResponse","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorResponse · object"}},"required":["error"],"title":"ApiError","type":"object","uniqueKey":"","typeLabel":"ApiError · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"f0a55502-fc8c-429f-a5bc-0067b580af12":{"description":"Validation error or unsupported feature.","content":{"application/json":{"schema":{"description":"The error envelope returned on every 4xx/5xx response: `{\"error\": {...}}`.","properties":{"error":{"description":"The structured error body — the value of the `error` key on an error response.","properties":{"code":{"description":"Machine-readable error code returned on a 4xx/5xx response. Branch on `error.code` to\nhandle failures programmatically.\n\nValues:\n- `invalid_request` — The request was malformed or failed validation.\n- `unauthorized` — Missing or invalid API key.\n- `forbidden` — Authenticated but not permitted to perform this action.\n- `not_found` — The requested resource does not exist.\n- `conflict` — Conflicts with current state (e.g. a reused Idempotency-Key with a different body).\n- `unsupported_feature` — The composition uses a feature the renderer does not support.\n- `invalid_source` — A source URL is malformed or unreachable.\n- `source_not_found` — A referenced source file could not be found.\n- `source_too_large` — A source file exceeds the allowed size.\n- `asset_not_ready` — A referenced asset is still ingesting and is not ready yet.\n- `ingest_failed` — Copying an external source into Framelane storage failed.\n- `codec_unsupported` — A source uses a codec the renderer cannot decode.\n- `quota_exceeded` — The workspace has exhausted its plan quota (HTTP 402).\n- `rate_limited` — Too many requests; retry after the Retry-After interval.\n- `internal` — An unexpected server error occurred.\n- `email_not_verified` — The workspace email is unverified; verify it before making authed calls.\n- `email_in_use` — The email is already associated with another workspace.\n- `invalid_otp` — The verification code is incorrect or expired.\n- `unsupported_content_type` — The provided content type is not supported.\n- `plan_required` — The feature needs a higher plan (HTTP 402); `details.required_plan` names it.\n- `admin_only` — Only an admin workspace may call this route (HTTP 403).\n- `template_assets_not_shared` — A published template may reference only shared CDN media; `details.urls` lists the rest.\n- `template_has_webhook` — A published template may not carry a `webhook_url`: every copy of it would notify that URL.\n- `http_error` — A generic HTTP error not covered by a more specific code.\n- `shader_compile_error` — A shader's SkSL did not compile; `details.errors` gives each error's line and column.\n- `shader_compiler_unavailable` — The shader compiler is not installed on this deployment or did not answer in time (HTTP 503).\n- `shader_not_found` — An effect names a shader id that is neither this workspace's nor shared.\n- `shader_param_invalid` — An effect sets a shader param the shader does not declare, or a value of the wrong type or range.","enum":["invalid_request","unauthorized","forbidden","not_found","conflict","unsupported_feature","invalid_source","source_not_found","source_too_large","asset_not_ready","ingest_failed","codec_unsupported","quota_exceeded","rate_limited","internal","email_not_verified","email_in_use","invalid_otp","unsupported_content_type","inline_too_large","plan_required","admin_only","template_assets_not_shared","template_has_webhook","http_error","shader_compile_error","shader_compiler_unavailable","shader_not_found","shader_param_invalid"],"title":"ErrorCode","type":"string","x-enumDescriptions":{"invalid_request":"The request was malformed or failed validation.","unauthorized":"Missing or invalid API key.","forbidden":"Authenticated but not permitted to perform this action.","not_found":"The requested resource does not exist.","conflict":"Conflicts with current state (e.g. a reused Idempotency-Key with a different body).","unsupported_feature":"The composition uses a feature the renderer does not support.","invalid_source":"A source URL is malformed or unreachable.","source_not_found":"A referenced source file could not be found.","source_too_large":"A source file exceeds the allowed size.","asset_not_ready":"A referenced asset is still ingesting and is not ready yet.","ingest_failed":"Copying an external source into Framelane storage failed.","codec_unsupported":"A source uses a codec the renderer cannot decode.","quota_exceeded":"The workspace has exhausted its plan quota (HTTP 402).","rate_limited":"Too many requests; retry after the Retry-After interval.","internal":"An unexpected server error occurred.","email_not_verified":"The workspace email is unverified; verify it before making authed calls.","email_in_use":"The email is already associated with another workspace.","invalid_otp":"The verification code is incorrect or expired.","unsupported_content_type":"The provided content type is not supported.","plan_required":"The feature needs a higher plan (HTTP 402); `details.required_plan` names it.","admin_only":"Only an admin workspace may call this route (HTTP 403).","template_assets_not_shared":"A published template may reference only shared CDN media; `details.urls` lists the rest.","template_has_webhook":"A published template may not carry a `webhook_url`: every copy of it would notify that URL.","http_error":"A generic HTTP error not covered by a more specific code.","shader_compile_error":"A shader's SkSL did not compile; `details.errors` gives each error's line and column.","shader_compiler_unavailable":"The shader compiler is not installed on this deployment or did not answer in time (HTTP 503).","shader_not_found":"An effect names a shader id that is neither this workspace's nor shared.","shader_param_invalid":"An effect sets a shader param the shader does not declare, or a value of the wrong type or range."},"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{"type":"object","title":"Details","additionalProperties":true,"uniqueKey":"error.details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"Details · object | null"}},"required":["code","message"],"title":"ErrorResponse","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorResponse · object"}},"required":["error"],"title":"ApiError","type":"object","uniqueKey":"","typeLabel":"ApiError · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"22f00110-0ac4-4035-9431-1263350bc966":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"description":"The error envelope returned on every 4xx/5xx response: `{\"error\": {...}}`.","properties":{"error":{"description":"The structured error body — the value of the `error` key on an error response.","properties":{"code":{"description":"Machine-readable error code returned on a 4xx/5xx response. Branch on `error.code` to\nhandle failures programmatically.\n\nValues:\n- `invalid_request` — The request was malformed or failed validation.\n- `unauthorized` — Missing or invalid API key.\n- `forbidden` — Authenticated but not permitted to perform this action.\n- `not_found` — The requested resource does not exist.\n- `conflict` — Conflicts with current state (e.g. a reused Idempotency-Key with a different body).\n- `unsupported_feature` — The composition uses a feature the renderer does not support.\n- `invalid_source` — A source URL is malformed or unreachable.\n- `source_not_found` — A referenced source file could not be found.\n- `source_too_large` — A source file exceeds the allowed size.\n- `asset_not_ready` — A referenced asset is still ingesting and is not ready yet.\n- `ingest_failed` — Copying an external source into Framelane storage failed.\n- `codec_unsupported` — A source uses a codec the renderer cannot decode.\n- `quota_exceeded` — The workspace has exhausted its plan quota (HTTP 402).\n- `rate_limited` — Too many requests; retry after the Retry-After interval.\n- `internal` — An unexpected server error occurred.\n- `email_not_verified` — The workspace email is unverified; verify it before making authed calls.\n- `email_in_use` — The email is already associated with another workspace.\n- `invalid_otp` — The verification code is incorrect or expired.\n- `unsupported_content_type` — The provided content type is not supported.\n- `plan_required` — The feature needs a higher plan (HTTP 402); `details.required_plan` names it.\n- `admin_only` — Only an admin workspace may call this route (HTTP 403).\n- `template_assets_not_shared` — A published template may reference only shared CDN media; `details.urls` lists the rest.\n- `template_has_webhook` — A published template may not carry a `webhook_url`: every copy of it would notify that URL.\n- `http_error` — A generic HTTP error not covered by a more specific code.\n- `shader_compile_error` — A shader's SkSL did not compile; `details.errors` gives each error's line and column.\n- `shader_compiler_unavailable` — The shader compiler is not installed on this deployment or did not answer in time (HTTP 503).\n- `shader_not_found` — An effect names a shader id that is neither this workspace's nor shared.\n- `shader_param_invalid` — An effect sets a shader param the shader does not declare, or a value of the wrong type or range.","enum":["invalid_request","unauthorized","forbidden","not_found","conflict","unsupported_feature","invalid_source","source_not_found","source_too_large","asset_not_ready","ingest_failed","codec_unsupported","quota_exceeded","rate_limited","internal","email_not_verified","email_in_use","invalid_otp","unsupported_content_type","inline_too_large","plan_required","admin_only","template_assets_not_shared","template_has_webhook","http_error","shader_compile_error","shader_compiler_unavailable","shader_not_found","shader_param_invalid"],"title":"ErrorCode","type":"string","x-enumDescriptions":{"invalid_request":"The request was malformed or failed validation.","unauthorized":"Missing or invalid API key.","forbidden":"Authenticated but not permitted to perform this action.","not_found":"The requested resource does not exist.","conflict":"Conflicts with current state (e.g. a reused Idempotency-Key with a different body).","unsupported_feature":"The composition uses a feature the renderer does not support.","invalid_source":"A source URL is malformed or unreachable.","source_not_found":"A referenced source file could not be found.","source_too_large":"A source file exceeds the allowed size.","asset_not_ready":"A referenced asset is still ingesting and is not ready yet.","ingest_failed":"Copying an external source into Framelane storage failed.","codec_unsupported":"A source uses a codec the renderer cannot decode.","quota_exceeded":"The workspace has exhausted its plan quota (HTTP 402).","rate_limited":"Too many requests; retry after the Retry-After interval.","internal":"An unexpected server error occurred.","email_not_verified":"The workspace email is unverified; verify it before making authed calls.","email_in_use":"The email is already associated with another workspace.","invalid_otp":"The verification code is incorrect or expired.","unsupported_content_type":"The provided content type is not supported.","plan_required":"The feature needs a higher plan (HTTP 402); `details.required_plan` names it.","admin_only":"Only an admin workspace may call this route (HTTP 403).","template_assets_not_shared":"A published template may reference only shared CDN media; `details.urls` lists the rest.","template_has_webhook":"A published template may not carry a `webhook_url`: every copy of it would notify that URL.","http_error":"A generic HTTP error not covered by a more specific code.","shader_compile_error":"A shader's SkSL did not compile; `details.errors` gives each error's line and column.","shader_compiler_unavailable":"The shader compiler is not installed on this deployment or did not answer in time (HTTP 503).","shader_not_found":"An effect names a shader id that is neither this workspace's nor shared.","shader_param_invalid":"An effect sets a shader param the shader does not declare, or a value of the wrong type or range."},"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","title":"Message","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{"type":"object","title":"Details","additionalProperties":true,"uniqueKey":"error.details.oneOf.0","typeLabel":"Details · object"},{"type":"null","title":"Details","uniqueKey":"error.details.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.details","typeLabel":"Details · object | null"}},"required":["code","message"],"title":"ErrorResponse","type":"object","isRequired":true,"uniqueKey":"error","typeLabel":"ErrorResponse · object"}},"required":["error"],"title":"ApiError","type":"object","uniqueKey":"","typeLabel":"ApiError · object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_request","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"61c09682-ce83-4a16-b81c-3f02f2194191":{"ApiKey":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"ApiKey"}}},"servers":{"374e059c-6af0-4c50-a102-7400af30babb":{"url":"https://api.framelane.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"ApiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ApiKey","name":"Authorization"}],"title":"ApiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"itis-c7dc7146","siteName":"Framelane","title":"Transcribe task - Framelane","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T13:55:55.811Z","originalFileLocation":"api-reference/tasks/transcribe-task.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=\"Submit a media URL for transcription. Runs asynchronously — the task is accepted with 202 and moves through queued → processing → a terminal status; poll GET /v1/tasks/{task_id} or pass wait there to long-poll. Supports word-level timestamps and speaker diarisation.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Framelane\">\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/itis-c7dc7146/3AM3-gs_iChWRW0W/_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/itis-c7dc7146/3AM3-gs_iChWRW0W/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/itis-c7dc7146/3AM3-gs_iChWRW0W/_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/itis-c7dc7146/3AM3-gs_iChWRW0W/_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/itis-c7dc7146/3AM3-gs_iChWRW0W/_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/itis-c7dc7146/3AM3-gs_iChWRW0W/_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/itis-c7dc7146/3AM3-gs_iChWRW0W/_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/itis-c7dc7146/3AM3-gs_iChWRW0W/_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/itis-c7dc7146/3AM3-gs_iChWRW0W/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Transcribe task - Framelane\">\u003cmeta data-mint-head property=\"og:description\" content=\"Submit a media URL for transcription. Runs asynchronously — the task is accepted with 202 and moves through queued → processing → a terminal status; poll GET /v1/tasks/{task_id} or pass wait there to long-poll. Supports word-level timestamps and speaker diarisation.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Framelane\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.framelane.io/api-reference/tasks/transcribe-task\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cdn-assets.framelane.io/shared/images/og-docs.png\">\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=\"Transcribe task - Framelane\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Submit a media URL for transcription. Runs asynchronously — the task is accepted with 202 and moves through queued → processing → a terminal status; poll GET /v1/tasks/{task_id} or pass wait there to long-poll. Supports word-level timestamps and speaker diarisation.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cdn-assets.framelane.io/shared/images/og-docs.png\">\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/itis-c7dc7146/3AM3-gs_iChWRW0W/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Framelane\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0070f3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.framelane.io/api-reference/tasks/transcribe-task\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/tasks/transcribe-task.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.framelane.io/#organization\",\"name\":\"Framelane\",\"url\":\"https://docs.framelane.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/itis-c7dc7146/I-4ZfymyiJyBmcDs/logo/framelane-light.png?fit=max\u0026auto=format\u0026n=I-4ZfymyiJyBmcDs\u0026q=85\u0026s=a819adfb6e5b9a97575f20c034d41c77\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.framelane.io#website\",\"name\":\"Framelane\",\"url\":\"https://docs.framelane.io\",\"publisher\":{\"@id\":\"https://docs.framelane.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.framelane.io/api-reference/tasks/transcribe-task#webpage\",\"url\":\"https://docs.framelane.io/api-reference/tasks/transcribe-task\",\"name\":\"Transcribe task\",\"description\":\"Submit a media URL for transcription. Runs asynchronously — the task is accepted with 202 and moves through queued → processing → a terminal status; poll GET /v1/tasks/{task_id} or pass wait there to long-poll. Supports word-level timestamps and speaker diarisation.\",\"dateModified\":\"2026-10-25T13:55:55.811Z\",\"isPartOf\":{\"@id\":\"https://docs.framelane.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.framelane.io/api-reference/tasks/transcribe-task#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.framelane.io/api-reference/tasks/transcribe-task#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Framelane\",\"item\":\"https://docs.framelane.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transcribe task\",\"item\":\"https://docs.framelane.io/api-reference/tasks/transcribe-task\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.framelane.io/api-reference/tasks/transcribe-task#apireference\",\"headline\":\"Transcribe task\",\"name\":\"Transcribe task\",\"description\":\"Submit a media URL for transcription. Runs asynchronously — the task is accepted with 202 and moves through queued → processing → a terminal status; poll GET /v1/tasks/{task_id} or pass wait there to long-poll. Supports word-level timestamps and speaker diarisation.\",\"url\":\"https://docs.framelane.io/api-reference/tasks/transcribe-task\",\"mainEntityOfPage\":{\"@id\":\"https://docs.framelane.io/api-reference/tasks/transcribe-task#webpage\"},\"image\":\"https://cdn-assets.framelane.io/shared/images/og-docs.png\",\"dateModified\":\"2026-10-25T13:55:55.811Z\",\"publisher\":{\"@id\":\"https://docs.framelane.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.framelane.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Framelane\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Framelane","nav":{"global":{"anchors":[{"anchor":"GitHub","icon":"github","href":"https://github.com/framelane"},{"anchor":"Status","icon":"signal-bars","href":"https://status.framelane.io"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction/overview"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/mcp/overview"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"},{"title":"RenderRequest schema reference","href":"/api-reference/render-request"}]},{"group":"Discovery","pages":[{"title":"List render and task capabilities","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/capabilities","href":"/api-reference/capabilities/list-render-and-task-capabilities"}]},{"group":"Onboarding","pages":[{"title":"Create a workspace and send an OTP verification email","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/signup","href":"/api-reference/signup/create-a-workspace-and-send-an-otp-verification-email"},{"title":"Verify email with OTP code","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/signup/verify","href":"/api-reference/signup/verify-email-with-otp-code"},{"title":"Sync a Clerk session to a Framelane workspace","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/auth/sync","href":"/api-reference/auth/sync-a-clerk-session-to-a-framelane-workspace"}]},{"group":"Renders","pages":[{"title":"Submit a render job","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/renders","href":"/api-reference/renders/submit-a-render-job"},{"title":"List renders","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/renders","href":"/api-reference/renders/list-renders"},{"title":"Get a render","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/renders/{render_id}","href":"/api-reference/renders/get-a-render"},{"title":"Cancel a render","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/renders/{render_id}","href":"/api-reference/renders/cancel-a-render"},{"title":"Download render artifact","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/renders/{render_id}/download","href":"/api-reference/renders/download-render-artifact"},{"title":"Get render poster image","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/renders/{render_id}/poster","href":"/api-reference/renders/get-render-poster-image"}]},{"group":"Preview","pages":[{"title":"Validate or preview a composition","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/preview","href":"/api-reference/preview/validate-or-preview-a-composition"}]},{"group":"Projects","pages":[{"title":"Create a project","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects","href":"/api-reference/projects/create-a-project"},{"title":"List projects","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects","href":"/api-reference/projects/list-projects"},{"title":"Get a project","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/projects/{project_id}","href":"/api-reference/projects/get-a-project"},{"title":"Rename a project","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/projects/{project_id}","href":"/api-reference/projects/rename-a-project"},{"title":"Delete a project","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/projects/{project_id}","href":"/api-reference/projects/delete-a-project"},{"title":"Apply targeted edits","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{project_id}/ops","href":"/api-reference/projects/apply-targeted-edits"},{"title":"Preview or validate the project head","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{project_id}/preview","href":"/api-reference/projects/preview-or-validate-the-project-head"},{"title":"Refresh the project thumbnail","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{project_id}/thumbnail","href":"/api-reference/projects/refresh-the-project-thumbnail"},{"title":"Render the project head","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/projects/{project_id}/renders","href":"/api-reference/projects/render-the-project-head"}]},{"group":"Templates","pages":[{"title":"Templates","href":"/api-reference/templates"},{"title":"List templates","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/templates","href":"/api-reference/templates/list-templates"},{"title":"Get a template","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/templates/{id_or_slug}","href":"/api-reference/templates/get-a-template"},{"title":"Publish a template","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/templates","href":"/api-reference/templates/publish-a-template"},{"title":"Update a template listing","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/templates/{listing_id}","href":"/api-reference/templates/update-a-template-listing"},{"title":"Unpublish a template","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/templates/{listing_id}","href":"/api-reference/templates/unpublish-a-template"}]},{"group":"Brand Kits","pages":[{"title":"Extract a brand kit from a URL","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/brand-kits","href":"/api-reference/brand-kits/extract-a-brand-kit-from-a-url"},{"title":"List brand kits","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/brand-kits","href":"/api-reference/brand-kits/list-brand-kits"},{"title":"Get a brand kit","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/brand-kits/{brand_kit_id}","href":"/api-reference/brand-kits/get-a-brand-kit"},{"title":"Override brand kit fields","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/brand-kits/{brand_kit_id}","href":"/api-reference/brand-kits/override-brand-kit-fields"},{"title":"Delete a brand kit","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/brand-kits/{brand_kit_id}","href":"/api-reference/brand-kits/delete-a-brand-kit"}]},{"group":"Shaders","pages":[{"title":"Runtime shaders","href":"/api-reference/shaders"},{"title":"Compile and store a shader","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/shaders","href":"/api-reference/shaders/compile-and-store-a-shader"},{"title":"List shaders","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/shaders","href":"/api-reference/shaders/list-shaders"},{"title":"Get a shader","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/shaders/{shader_id}","href":"/api-reference/shaders/get-a-shader"},{"title":"Delete a shader","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/shaders/{shader_id}","href":"/api-reference/shaders/delete-a-shader"},{"title":"Render one frame of a shader","description":"Queue a one-frame preview (a PNG, not billed) of the shader on a full-canvas shape over a three-hue fill, at `time` with `params`. Poll the returned job with GET /v1/renders/{id}, as for any preview.","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/shaders/{shader_id}/probe","href":"/api-reference/shaders/render-one-frame-of-a-shader"}]},{"group":"Tasks","pages":[{"title":"Transcribe task","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/tasks/transcribe","href":"/api-reference/tasks/transcribe-task"},{"title":"List tasks","description":"Returns a cursor-paginated list of tasks for the workspace. Filter by type or status.","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tasks","href":"/api-reference/tasks/list-tasks"},{"title":"Get a task","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tasks/{task_id}","href":"/api-reference/tasks/get-a-task"},{"title":"Cancel a task","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/tasks/{task_id}","href":"/api-reference/tasks/cancel-a-task"},{"title":"Download task artifact","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/tasks/{task_id}/download","href":"/api-reference/tasks/download-task-artifact"}]},{"group":"Uploads","pages":[{"title":"Request a file upload URL","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/uploads","href":"/api-reference/uploads/request-a-file-upload-url"}]},{"group":"Webhooks","pages":[{"title":"Register webhook","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks","href":"/api-reference/webhooks/register-webhook"},{"title":"List webhooks","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks","href":"/api-reference/webhooks/list-webhooks"},{"title":"Get webhook","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/{webhook_id}","href":"/api-reference/webhooks/get-webhook"},{"title":"Update webhook","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/webhooks/{webhook_id}","href":"/api-reference/webhooks/update-webhook"},{"title":"Delete webhook","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/webhooks/{webhook_id}","href":"/api-reference/webhooks/delete-webhook"},{"title":"Send test event","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{webhook_id}/test","href":"/api-reference/webhooks/send-test-event"},{"title":"Rotate signing secret","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{webhook_id}/rotate-secret","href":"/api-reference/webhooks/rotate-signing-secret"},{"title":"List delivery attempts","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/webhooks/{webhook_id}/deliveries","href":"/api-reference/webhooks/list-delivery-attempts"},{"title":"Retry a delivery","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/webhooks/{webhook_id}/deliveries/{delivery_id}/retry","href":"/api-reference/webhooks/retry-a-delivery"}]},{"group":"Account","pages":[{"group":"Workspace","pages":[{"title":"Get workspace","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspace","href":"/api-reference/workspace/get-workspace"},{"title":"Update workspace","deprecated":null,"version":null,"openapi":"/openapi.json patch /v1/workspace","href":"/api-reference/workspace/update-workspace"},{"title":"Get workspace usage","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspace/usage","href":"/api-reference/workspace/get-workspace-usage"},{"title":"List workspace media assets","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/workspace/assets","href":"/api-reference/workspace/list-workspace-media-assets"},{"title":"Delete workspace","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/workspace","href":"/api-reference/workspace/delete-workspace"}]},{"group":"API Keys","pages":[{"title":"Create API key","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/api-keys","href":"/api-reference/api-keys/create-api-key"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/openapi.json get /v1/api-keys","href":"/api-reference/api-keys/list-api-keys"},{"title":"Revoke API key","deprecated":null,"version":null,"openapi":"/openapi.json delete /v1/api-keys/{key_id}","href":"/api-reference/api-keys/revoke-api-key"}]},{"group":"Billing","pages":[{"title":"Create a Paddle Customer Portal session","deprecated":null,"version":null,"openapi":"/openapi.json post /v1/billing/portal","href":"/api-reference/billing/create-a-paddle-customer-portal-session"}]}]}]}]},"title":"Transcribe task - Framelane","buildId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","deploymentId":"dpl_DFJrtvUi8HS5F9nkooKuDJsuD5BM","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-rfhihCWU.js","utils-BmH1XFxk.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BcNsxPKB.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BAES3tkd.js","snippetPresets-DCMQBKLP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D6l_bzE9.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BOktbnNh.js","shallow-BCs8SgM7.js","getApiPlaygroundDisplay-DEmW5bJB.js","CodeSnippet-CpZOpB9C.js","CodeSnippets-BOBDqibl.js","Page-D5fEM6aW.js","getPastedJson-DH2JBvmr.js","icon-BBJH-kKh.js","MethodPill-D2Sd5NLC.js","DuplicateIcon-CGgfL2qN.js","createIcon-BKudBBzi.js","DynamicMarkdown-85clUA0i.js","SectionHeading-D0JiMgDx.js","axios-vUo_bRtp.js","Markdown-Cfiy0xZO.js","clsx-rL8ZCCw4.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-aeztFa9U.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BywkCr5C.js"]}