All SnapGen video routes use the same asynchronous workflow. Choose a model from the Video Series sidebar, submit a request, save the returned id, and poll until the task completes.The model page defines the accepted duration, aspect ratio, resolution, image-reference, and source-video rules. Do not send values from one model family to another.
A duration listed on the model page. If you omit it, the task runs for 10
seconds, or for the model’s shortest length when 10 isn’t offered. Models
whose length follows a source clip (gemini-omni-extend,
gemini-omni-flash-1.1-extend) reject seconds.
Up to three public reference audio URLs for Seedance *-r2v models.
Models that bill reference or source video seconds (Seedance *-r2v,
seedance-2.5-extend, and the Seedance 2.5 -v2v SKUs) bill output seconds
plus the length of the clips you send. The gateway measures each MP4 or MOV
clip itself by reading its header with HTTP range requests, so host clips
where range requests work, such as S3, R2, or most CDNs. A clip that cannot
be measured is billed at the model’s maximum reference length.
Optional public https URL. When the task reaches a final state, the
gateway sends it one signed event with the task under data.task. See
Task webhooks.
Poll every 10 to 20 seconds while status is queued or in_progress. Download only after status becomes completed.
Task status API
Query the normalized task record and final media URLs.
Webhooks
Receive the final task result without continuous polling.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SnapGen","description":"SnapGen API documentation for text, image, video, and audio models, integrations, guides, and troubleshooting.","colors":{"primary":"#4F46E5","light":"#7C6FF0","dark":"#4F46E5"},"logo":{"light":"https://mintcdn.com/snapgen/iwZkocuvFMLxT5db/logo/light.svg?fit=max\u0026auto=format\u0026n=iwZkocuvFMLxT5db\u0026q=85\u0026s=a7ac75b335d331361a43c6f6a734004b","dark":"https://mintcdn.com/snapgen/iwZkocuvFMLxT5db/logo/dark.svg?fit=max\u0026auto=format\u0026n=iwZkocuvFMLxT5db\u0026q=85\u0026s=7fd801cf5d0022b249726be6bd7f5b1a"},"favicon":"https://mintcdn.com/snapgen/F0U4_v0zMJF-C-AL/favicon-snapgen-mark.svg?fit=max\u0026auto=format\u0026n=F0U4_v0zMJF-C-AL\u0026q=85\u0026s=de7a0900448a50576ae9be06149e11f2","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://api.snapgen.org"}},"navbar":{"links":[{"href":"https://snapgen.org/models","label":"Models"},{"href":"https://snapgen.org/dashboard","label":"Console"}],"primary":{"type":"button","label":"Get API Key","href":"https://snapgen.org/sign-up"}},"footer":{"socials":{"website":"https://snapgen.org","github":"https://github.com/snapgen-ai"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"snapgen","hasAudioNarration":false,"actualSubdomain":"snapgen","customDomains":["docs.snapgen.org"],"gitSource":{"type":"github","owner":"snapgen-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6acd9c9f160377be61b1585a","collectionId":"9556dd4a-17f1-4ad7-8d9d-ed8a684c3655","liveDeploymentHistoryId":"6acd9c9f160377be61b1585a","schemaVersion":"v3"},"entitlements":{},"buildId":"6acd9c9f160377be61b1585a","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API Manual","count":136},{"language":"default","tag":"Audio Series","count":56},{"language":"default","tag":"Video Series","count":36},{"language":"default","tag":"Suno","count":33},{"language":"default","tag":"Text Series","count":18},{"language":"default","tag":"Endpoint Reference","count":16},{"language":"default","tag":"Edit","count":12},{"language":"default","tag":"Integrations","count":11},{"language":"default","tag":"Flow Music","count":9},{"language":"default","tag":"Seedance 2.0","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/video-generation","slug":"/api-reference/video-generation","pageMetadata":{"title":"Video API workflow","description":"Submit, monitor, and download an asynchronous video task.","api":"POST /v1/videos","href":"/api-reference/video-generation"},"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: \"Submit, monitor, and download an asynchronous video 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`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Heading,Note,ParamField}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`All SnapGen video routes use the same asynchronous workflow. Choose a model from the `,_jsx(_components.strong,{children:`Video Series`}),` sidebar, submit a request, save the returned `,_jsx(_components.code,{children:`id`}),`, and poll until the task completes.`]}),`\n`,_jsx(_components.p,{children:`The model page defines the accepted duration, aspect ratio, resolution, image-reference, and source-video rules. Do not send values from one model family to another.`}),`\n`,_jsx(ParamField,{body:`model`,type:`string`,required:true,id:`param-model`,children:_jsxs(_components.p,{children:[`An available video model ID. Choose one from the `,_jsx(_components.strong,{children:`Video Series`}),` pages and\nconfirm it with `,_jsx(_components.a,{href:`/api-reference/list-models`,children:_jsx(_components.code,{children:`GET /v1/models`})}),`.`]})}),`\n`,_jsx(ParamField,{body:`prompt`,type:`string`,required:true,id:`param-prompt`,children:_jsx(_components.p,{children:`Describe the subject, action, camera movement, lighting, and audio intent.`})}),`\n`,_jsx(ParamField,{body:`seconds`,type:`string`,id:`param-seconds`,children:_jsxs(_components.p,{children:[`A duration listed on the model page. If you omit it, the task runs for 10\nseconds, or for the model’s shortest length when 10 isn’t offered. Models\nwhose length follows a source clip (`,_jsx(_components.code,{children:`gemini-omni-extend`}),`,\n`,_jsx(_components.code,{children:`gemini-omni-flash-1.1-extend`}),`) reject `,_jsx(_components.code,{children:`seconds`}),`.`]})}),`\n`,_jsx(ParamField,{body:`size`,type:`string`,id:`param-size`,children:_jsxs(_components.p,{children:[`Gemini Omni (`,_jsx(_components.code,{children:`gemini-omni-*`}),`) only: `,_jsx(_components.code,{children:`1280x720`}),`, `,_jsx(_components.code,{children:`720x1280`}),`, `,_jsx(_components.code,{children:`1920x1080`}),`, or\n`,_jsx(_components.code,{children:`1080x1920`}),`.`]})}),`\n`,_jsx(ParamField,{body:`aspect_ratio`,type:`string`,id:`param-aspect-ratio`,children:_jsxs(_components.p,{children:[`Every other video model, for example `,_jsx(_components.code,{children:`16:9`}),`, `,_jsx(_components.code,{children:`9:16`}),`, or `,_jsx(_components.code,{children:`adaptive`}),`. Use the\nvalues listed on the model page and do not send `,_jsx(_components.code,{children:`size`}),` with it.`]})}),`\n`,_jsx(ParamField,{body:`resolution`,type:`string`,id:`param-resolution`,children:_jsx(_components.p,{children:`Output tier for models that sell several resolutions: Seedance 2.0,\nSeedance 2.5 mode models, and Gemini Omni Flash 1.1. The price depends on it.`})}),`\n`,_jsx(ParamField,{body:`image_urls`,type:`string[]`,id:`param-image-urls`,children:_jsxs(_components.p,{children:[`Public `,_jsx(_components.code,{children:`http`}),` or `,_jsx(_components.code,{children:`https`}),` image URLs when the selected model accepts them.\nFollow its required count and per-image size limit.`]})}),`\n`,_jsx(ParamField,{body:`video_url`,type:`string`,id:`param-video-url`,children:_jsxs(_components.p,{children:[`One public source-video URL for models with a single video input, such as\nGemini Omni Extend, MiniMax H3, and the Seedance 2.5 `,_jsx(_components.code,{children:`-v2v`}),` SKUs.`]})}),`\n`,_jsx(ParamField,{body:`video_urls`,type:`string[]`,id:`param-video-urls`,children:_jsxs(_components.p,{children:[`Up to three public clips for Seedance reference-to-video (`,_jsx(_components.code,{children:`*-r2v`}),`) and\n`,_jsx(_components.code,{children:`seedance-2.5-extend`}),`.`]})}),`\n`,_jsx(ParamField,{body:`audio_urls`,type:`string[]`,id:`param-audio-urls`,children:_jsxs(_components.p,{children:[`Up to three public reference audio URLs for Seedance `,_jsx(_components.code,{children:`*-r2v`}),` models.`]})}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Models that bill reference or source video seconds (Seedance `,_jsx(_components.code,{children:`*-r2v`}),`,\n`,_jsx(_components.code,{children:`seedance-2.5-extend`}),`, and the Seedance 2.5 `,_jsx(_components.code,{children:`-v2v`}),` SKUs) bill output seconds\nplus the length of the clips you send. The gateway measures each MP4 or MOV\nclip itself by reading its header with HTTP range requests, so host clips\nwhere range requests work, such as S3, R2, or most CDNs. A clip that cannot\nbe measured is billed at the model’s maximum reference length.`]})}),`\n`,_jsx(ParamField,{body:`generate_audio`,type:`boolean`,id:`param-generate-audio`,children:_jsxs(_components.p,{children:[`Seedance models: set to `,_jsx(_components.code,{children:`false`}),` for a silent video.`]})}),`\n`,_jsx(ParamField,{body:`webhook`,type:`string`,id:`param-webhook`,children:_jsxs(_components.p,{children:[`Optional public `,_jsx(_components.code,{children:`https`}),` URL. When the task reaches a final state, the\ngateway sends it one signed event with the task under `,_jsx(_components.code,{children:`data.task`}),`. See\n`,_jsx(_components.a,{href:`/api-reference/webhooks`,children:`Task webhooks`}),`.`]})}),`\n`,_jsx(ParamField,{body:`webhook_secret`,type:`string`,id:`param-webhook-secret`,children:_jsxs(_components.p,{children:[`Required with `,_jsx(_components.code,{children:`webhook`}),`: 16 to 256 characters, used to sign the delivery.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`submit-a-task`,children:`Submit a task`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://api.snapgen.org/v1/videos`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SNAPGEN_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"model\": \"seedance-2.0-fast-t2v\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"prompt\": \"A paper sculpture unfolds into a city skyline\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"seconds\": \"5\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"aspect_ratio\": \"16:9\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"resolution\": \"720p\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`7`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"task_01HXYZ\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"object\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"video\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"queued\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"model\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"seedance-2.0-fast-t2v\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"seconds\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"5\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`poll-and-download`,children:`Poll and download`}),`\n`,_jsxs(_components.p,{children:[`Include the same `,_jsx(_components.code,{children:`model`}),` query value while polling and downloading.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.snapgen.org/v1/videos/task_01HXYZ?model=seedance-2.0-fast-t2v\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SNAPGEN_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -L`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.snapgen.org/v1/videos/task_01HXYZ/content?model=seedance-2.0-fast-t2v\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Authorization: Bearer `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$SNAPGEN_API_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --output`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` video.mp4`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Poll every 10 to 20 seconds while `,_jsx(_components.code,{children:`status`}),` is `,_jsx(_components.code,{children:`queued`}),` or `,_jsx(_components.code,{children:`in_progress`}),`. Download only after `,_jsx(_components.code,{children:`status`}),` becomes `,_jsx(_components.code,{children:`completed`}),`.`]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Task status API`,icon:`list-check`,href:`/api-reference/task-status`,children:_jsx(_components.p,{children:`Query the normalized task record and final media URLs.`})}),_jsx(Card,{title:`Webhooks`,icon:`webhook`,href:`/api-reference/webhooks`,children:_jsx(_components.p,{children:`Receive the final task result without continuous polling.`})})]})]})}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":"Video API workflow","description":"Submit, monitor, and download an asynchronous video task.","api":"POST /v1/videos","href":"/api-reference/video-generation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Submit a task","slug":"submit-a-task","depth":2,"children":[]},{"title":"Poll and download","slug":"poll-and-download","depth":2,"children":[]}],"codeExamples":{},"endpoint":{"title":"Video API workflow","path":"/v1/videos","servers":[{"url":"https://api.snapgen.org"}],"method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"model":[{"type":"string","description":"An available video model ID. Choose one from the Video Series pages and confirm it with `GET /v1/models` .","required":true}],"prompt":[{"type":"string","description":"Describe the subject, action, camera movement, lighting, and audio intent.","required":true}],"seconds":[{"type":"string","description":"A duration listed on the model page. If you omit it, the task runs for 10 seconds, or for the model’s shortest length when 10 isn’t offered. Models whose length follows a source clip ( `gemini-omni-extend` , `gemini-omni-flash-1.1-extend` ) reject `seconds` ."}],"size":[{"type":"string","description":"Gemini Omni ( `gemini-omni-*` ) only: `1280x720` , `720x1280` , `1920x1080` , or `1080x1920` ."}],"aspect_ratio":[{"type":"string","description":"Every other video model, for example `16:9` , `9:16` , or `adaptive` . Use the values listed on the model page and do not send `size` with it."}],"resolution":[{"type":"string","description":"Output tier for models that sell several resolutions: Seedance 2.0, Seedance 2.5 mode models, and Gemini Omni Flash 1.1. The price depends on it."}],"image_urls":[{"type":"array","items":[{"type":"string"}],"description":"Public `http` or `https` image URLs when the selected model accepts them. Follow its required count and per-image size limit."}],"video_url":[{"type":"string","description":"One public source-video URL for models with a single video input, such as Gemini Omni Extend, MiniMax H3, and the Seedance 2.5 `-v2v` SKUs."}],"video_urls":[{"type":"array","items":[{"type":"string"}],"description":"Up to three public clips for Seedance reference-to-video ( `*-r2v` ) and `seedance-2.5-extend` ."}],"audio_urls":[{"type":"array","items":[{"type":"string"}],"description":"Up to three public reference audio URLs for Seedance `*-r2v` models."}],"generate_audio":[{"type":"boolean","description":"Seedance models: set to `false` for a silent video."}],"webhook":[{"type":"string","description":"Optional public `https` URL. When the task reaches a final state, the gateway sends it one signed event with the task under `data.task` . See Task webhooks ."}],"webhook_secret":[{"type":"string","description":"Required with `webhook` : 16 to 256 characters, used to sign the delivery."}]}}],"examples":{"example":{"value":{"model":"\u003cstring>","prompt":"\u003cstring>","seconds":"\u003cstring>","size":"\u003cstring>","aspect_ratio":"\u003cstring>","resolution":"\u003cstring>","image_urls":["\u003cstring>"],"video_url":"\u003cstring>","video_urls":["\u003cstring>"],"audio_urls":["\u003cstring>"],"generate_audio":true,"webhook":"\u003cstring>","webhook_secret":"\u003cstring>"}}}}}},"response":{},"deprecated":false}},"jsLinks":[],"subdomain":"snapgen","siteName":"SnapGen","title":"Video API workflow - SnapGen","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-28T10:48:53.534Z","originalFileLocation":"api-reference/video-generation.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, monitor, and download an asynchronous video task.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SnapGen\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/snapgen/eOBDBRP-A7aqLDr3/_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/snapgen/eOBDBRP-A7aqLDr3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/snapgen/eOBDBRP-A7aqLDr3/_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/snapgen/eOBDBRP-A7aqLDr3/_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/snapgen/eOBDBRP-A7aqLDr3/_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/snapgen/eOBDBRP-A7aqLDr3/_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/snapgen/eOBDBRP-A7aqLDr3/_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/snapgen/eOBDBRP-A7aqLDr3/_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/snapgen/eOBDBRP-A7aqLDr3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Video API workflow - SnapGen\">\u003cmeta data-mint-head property=\"og:description\" content=\"Submit, monitor, and download an asynchronous video task.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SnapGen\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.snapgen.org/api-reference/video-generation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://snapgen.mintlify.app/_mintlify/api/og/v2?division=Endpoint+Reference\u0026amp;title=Video+API+workflow\u0026amp;description=Submit%2C+monitor%2C+and+download+an+asynchronous+video+task.\u0026amp;theme=5da528b8fde4e28cf0c9e03e\u0026amp;signature=5670db9e19b4bb904a79e090810e8e114570b78076bb88ae21ae82ded9c4ef7c\">\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=\"Video API workflow - SnapGen\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Submit, monitor, and download an asynchronous video task.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://snapgen.mintlify.app/_mintlify/api/og/v2?division=Endpoint+Reference\u0026amp;title=Video+API+workflow\u0026amp;description=Submit%2C+monitor%2C+and+download+an+asynchronous+video+task.\u0026amp;theme=5da528b8fde4e28cf0c9e03e\u0026amp;signature=5670db9e19b4bb904a79e090810e8e114570b78076bb88ae21ae82ded9c4ef7c\">\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/snapgen/eOBDBRP-A7aqLDr3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SnapGen\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4F46E5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.snapgen.org/api-reference/video-generation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/video-generation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.snapgen.org/#organization\",\"name\":\"SnapGen\",\"url\":\"https://docs.snapgen.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/snapgen/iwZkocuvFMLxT5db/logo/light.svg?fit=max\u0026auto=format\u0026n=iwZkocuvFMLxT5db\u0026q=85\u0026s=a7ac75b335d331361a43c6f6a734004b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.snapgen.org#website\",\"name\":\"SnapGen\",\"url\":\"https://docs.snapgen.org\",\"publisher\":{\"@id\":\"https://docs.snapgen.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.snapgen.org/api-reference/video-generation#webpage\",\"url\":\"https://docs.snapgen.org/api-reference/video-generation\",\"name\":\"Video API workflow\",\"description\":\"Submit, monitor, and download an asynchronous video task.\",\"dateModified\":\"2026-09-28T10:48:53.534Z\",\"isPartOf\":{\"@id\":\"https://docs.snapgen.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.snapgen.org/api-reference/video-generation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.snapgen.org/api-reference/video-generation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoint Reference\",\"item\":\"https://docs.snapgen.org/api-reference/chat-completions\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Video API workflow\",\"item\":\"https://docs.snapgen.org/api-reference/video-generation\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.snapgen.org/api-reference/video-generation#apireference\",\"headline\":\"Video API workflow\",\"name\":\"Video API workflow\",\"description\":\"Submit, monitor, and download an asynchronous video task.\",\"url\":\"https://docs.snapgen.org/api-reference/video-generation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.snapgen.org/api-reference/video-generation#webpage\"},\"dateModified\":\"2026-09-28T10:48:53.534Z\",\"publisher\":{\"@id\":\"https://docs.snapgen.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.snapgen.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SnapGen\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SnapGen","nav":{"global":null,"tabs":[{"tab":"API Manual","groups":[{"group":"Overview","icon":"book-open","pages":[{"title":"SnapGen API","sidebarTitle":"SnapGen API overview","href":""}]},{"group":"Text Series","icon":"font","pages":[{"group":"GPT-6","pages":[{"title":"GPT-6.1 Sol","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-6-1-sol"},{"title":"GPT-6 Astra","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-6-astra"},{"title":"GPT-6 Sol","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-6-sol"},{"title":"GPT-6 Luna","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-6-luna"}]},{"group":"GPT-5.6","pages":[{"title":"GPT-5.6 Sol","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-6-sol"},{"title":"GPT-5.6 Terra","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-6-terra"},{"title":"GPT-5.6 Luna","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-6-luna"},{"title":"GPT-5.6","api":"POST /v1/chat/completions","href":"/api-manual/text/gpt-5-6"}]},{"group":"Grok","pages":[{"title":"Grok 4.6","api":"POST /v1/chat/completions","href":"/api-manual/text/grok-4-6"},{"title":"Grok 4.5","api":"POST /v1/chat/completions","href":"/api-manual/text/grok-4-5"},{"title":"Grok 4.3","api":"POST /v1/chat/completions","href":"/api-manual/text/grok-4-3"}]},{"group":"Gemini","pages":[{"title":"Gemini 3.8 Flash","api":"POST /v1/chat/completions","href":"/api-manual/text/gemini-3-8-flash"},{"title":"Gemini 3.6 Flash","api":"POST /v1/chat/completions","href":"/api-manual/text/gemini-3-6-flash"},{"title":"Gemini 3.5 Flash","api":"POST /v1/chat/completions","href":"/api-manual/text/gemini-3-5-flash"},{"title":"Gemini 3.1 Pro Preview","api":"POST /v1/chat/completions","href":"/api-manual/text/gemini-3-1-pro-preview"}]},{"group":"DeepSeek","pages":[{"title":"DeepSeek V4 Pro","api":"POST /v1/chat/completions","href":"/api-manual/text/deepseek-v4-pro"},{"title":"DeepSeek V4 Flash","api":"POST /v1/chat/completions","href":"/api-manual/text/deepseek-v4-flash"},{"title":"DeepSeek Flash","api":"POST /v1/chat/completions","href":"/api-manual/text/deepseek-flash"}]}]},{"group":"Image Series","icon":"image","pages":[{"title":"Nano Banana 2.1","api":"POST /v1/images/generations","href":"/api-manual/image/nano-banana-2-1"},{"title":"GPT Image 2","api":"POST /v1/images/generations","href":"/api-manual/image/gpt-image-2"},{"title":"GPT Image 2.5 Ext","api":"POST /v1/images/generations","href":"/api-manual/image/gpt-image-2-5-ext"},{"title":"GPT Image 2.5 Ext Sunburst","api":"POST /v1/images/generations","href":"/api-manual/image/gpt-image-2-5-ext-sunburst"},{"title":"GPT Image 2 All","api":"POST /v1/images/generations","href":"/api-manual/image/gpt-image-2-all"},{"title":"Seedream 5.0 Pro","api":"POST /v1/images/generations","href":"/api-manual/image/seedream-5-0-pro"},{"title":"Nano Banana 2 Lite","api":"POST /v1/images/generations","href":"/api-manual/image/nano-banana-2-lite"}]},{"group":"Video Series","icon":"video","pages":[{"group":"Seedance 2.0","pages":[{"title":"Seedance 2.0 T2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-t2v"},{"title":"Seedance 2.0 I2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-i2v"},{"title":"Seedance 2.0 R2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-r2v"},{"title":"Seedance 2.0 Fast T2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-fast-t2v"},{"title":"Seedance 2.0 Fast I2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-fast-i2v"},{"title":"Seedance 2.0 Fast R2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-fast-r2v"},{"title":"Seedance 2.0 Mini T2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-mini-t2v"},{"title":"Seedance 2.0 Mini I2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-mini-i2v"},{"title":"Seedance 2.0 Mini R2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-0-mini-r2v"}]},{"group":"Seedance 2.5","pages":[{"title":"Seedance 2.5 T2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-t2v"},{"title":"Seedance 2.5 I2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-i2v"},{"title":"Seedance 2.5 R2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-r2v"},{"title":"Seedance 2.5 Extend","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-extend"},{"title":"Seedance 2.5 480p","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-480p"},{"title":"Seedance 2.5 720p","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-720p"},{"title":"Seedance 2.5 480p V2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-480p-v2v"},{"title":"Seedance 2.5 720p V2V","api":"POST /v1/videos","href":"/api-manual/video/seedance-2-5-720p-v2v"}]},{"group":"Gemini Omni Flash 1.1","pages":[{"title":"Gemini Omni Flash 1.1 T2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-flash-1-1-t2v"},{"title":"Gemini Omni Flash 1.1 I2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-flash-1-1-i2v"},{"title":"Gemini Omni Flash 1.1 R2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-flash-1-1-r2v"},{"title":"Gemini Omni Flash 1.1 Extend","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-flash-1-1-extend"}]},{"group":"Gemini Omni","pages":[{"title":"Gemini Omni T2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-t2v"},{"title":"Gemini Omni I2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-i2v"},{"title":"Gemini Omni R2V","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-r2v"},{"title":"Gemini Omni Extend","api":"POST /v1/videos","href":"/api-manual/video/gemini-omni-extend"}]},{"group":"Veo 3.1","pages":[{"title":"Veo 3.1 Lite","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-lite"},{"title":"Veo 3.1 Lite 4K","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-lite-4k"},{"title":"Veo 3.1 Fast","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-fast"},{"title":"Veo 3.1 Fast 4K","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-fast-4k"},{"title":"Veo 3.1 Fast Reference","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-fast-ref"},{"title":"Veo 3.1 Quality","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-quality"},{"title":"Veo 3.1 Quality 4K","api":"POST /v1/videos","href":"/api-manual/video/veo3-1-quality-4k"}]},{"group":"MiniMax H3","pages":[{"title":"MiniMax H3","api":"POST /v1/videos","href":"/api-manual/video/minimax-h3"},{"title":"MiniMax H3 2K","api":"POST /v1/videos","href":"/api-manual/video/minimax-h3-2k"}]},{"group":"Grok Imagine","pages":[{"title":"Grok Imagine 1.5 Fast","api":"POST /v1/videos","href":"/api-manual/video/grok-imagine-1-5-fast"}]},{"group":"HappyHorse","pages":[{"title":"HappyHorse 1.1","api":"POST /v1/videos","href":"/api-manual/video/happyhorse-1-1"}]}]},{"group":"Audio Series","icon":"waveform-lines","pages":[{"group":"ElevenLabs Speech","pages":[{"title":"Eleven v4","api":"POST /v1/audio/speech","href":"/api-manual/audio/eleven-v4"},{"title":"Eleven v3","api":"POST /v1/audio/speech","href":"/api-manual/audio/eleven-v3"},{"title":"Eleven Multilingual v2","api":"POST /v1/audio/speech","href":"/api-manual/audio/eleven-multilingual-v2"},{"title":"Eleven Flash v2.5","api":"POST /v1/audio/speech","href":"/api-manual/audio/eleven-flash-v2-5"},{"title":"Eleven v4 Dialogue","api":"POST /v1/audio/dialogue","href":"/api-manual/audio/eleven-v4-dialogue"},{"title":"Eleven v3 Dialogue","api":"POST /v1/audio/dialogue","href":"/api-manual/audio/eleven-v3-dialogue"}]},{"group":"ElevenLabs Speech to Text","pages":[{"title":"Scribe v2","api":"POST /v1/audio/transcriptions","href":"/api-manual/audio/scribe-v2"},{"title":"Eleven Forced Alignment","api":"POST /v1/audio/alignment","href":"/api-manual/audio/eleven-forced-alignment"}]},{"group":"ElevenLabs Music \u0026 Sound","pages":[{"title":"Eleven Music v2.5","api":"POST /v1/audio/music","href":"/api-manual/audio/eleven-music-v2-5"},{"title":"Eleven Sound Effects v2","api":"POST /v1/audio/sound-effects","href":"/api-manual/audio/eleven-sound-effects-v2"}]},{"group":"ElevenLabs Voice \u0026 Dubbing","pages":[{"title":"Eleven Multilingual STS v2","api":"POST /v1/audio/voice-changer","href":"/api-manual/audio/eleven-multilingual-sts-v2"},{"title":"Eleven English STS v2","api":"POST /v1/audio/voice-changer","href":"/api-manual/audio/eleven-english-sts-v2"},{"title":"Eleven Voice Isolator","api":"POST /v1/audio/isolation","href":"/api-manual/audio/eleven-voice-isolator"},{"title":"Eleven Dubbing v1","api":"POST /v1/audio/dubbing","href":"/api-manual/audio/eleven-dubbing-v1"}]},{"group":"Suno","pages":[{"group":"Create","pages":[{"title":"Suno Music","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-music"},{"title":"Suno Lyrics","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-lyrics"},{"title":"Suno Inspo","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-inspo"},{"title":"Suno Sounds","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-sounds"},{"title":"Suno Style Boost","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-style-boost"}]},{"group":"Upload","pages":[{"title":"Suno Upload","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-upload"},{"title":"Suno Upload Cover","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-upload-cover"},{"title":"Suno Upload Extend","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-upload-extend"},{"title":"Suno Custom Model","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-custom-model"}]},{"group":"Edit","pages":[{"title":"Suno Extend","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-extend"},{"title":"Suno Cover","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-cover"},{"title":"Suno Remaster","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-remaster"},{"title":"Suno Replace Section","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-replace-section"},{"title":"Suno Remove Section","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-remove-section"},{"title":"Suno Crop","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-crop"},{"title":"Suno Fade In","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-fade-in"},{"title":"Suno Fade Out","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-fade-out"},{"title":"Suno Speed","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-speed"},{"title":"Suno Concat","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-concat"},{"title":"Suno Mashup","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-mashup"},{"title":"Suno Sample","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-sample"}]},{"group":"Vocals \u0026 stems","pages":[{"title":"Suno Stems","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-stems"},{"title":"Suno All Stems","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-stems-all"},{"title":"Suno Add Vocals","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-add-vocals"},{"title":"Suno Add Instrumental","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-add-instrumental"},{"title":"Suno Add Stem","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-add-stem"},{"title":"Suno Voice","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-voice"},{"title":"Suno Persona","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-persona"}]},{"group":"Analysis \u0026 export","pages":[{"title":"Suno MIDI","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-midi"},{"title":"Suno Timed Lyrics","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-timed-lyrics"},{"title":"Suno BPM","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-bpm"},{"title":"Suno MP4","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-mp4"},{"title":"Suno Download","api":"POST /v1/music/generations","href":"/api-manual/audio/suno-download"}]}]},{"group":"Flow Music","pages":[{"title":"Flow Music","api":"POST /v1/music/generations","href":"/api-manual/audio/flow-music"},{"title":"Flow Music Lyrics","api":"POST /v1/music/generations","href":"/api-manual/audio/flow-music-lyrics"},{"title":"Flow Music Extend","api":"POST /v1/music/generations","href":"/api-manual/audio/flow-music-extend"},{"title":"Flow Music Replace","api":"POST /v1/music/generations","href":"/api-manual/audio/flow-music-replace"},{"title":"Flow Music Cover","api":"POST /v1/music/generations","href":"/api-manual/audio/flow-music-cover"},{"title":"Flow Music Stems","api":"POST /v1/music/generations","href":"/api-manual/audio/flow-music-stems"},{"title":"Flow Music Upload","api":"POST /v1/music/generations","href":"/api-manual/audio/flow-music-upload"},{"title":"Flow Music Download","api":"POST /v1/music/generations","href":"/api-manual/audio/flow-music-download"},{"title":"Flow Music Video","api":"POST /v1/music/generations","href":"/api-manual/audio/flow-music-video"}]}]},{"group":"Endpoint Reference","icon":"brackets-curly","pages":[{"title":"Chat Completions protocol","api":"POST /v1/chat/completions","href":"/api-reference/chat-completions"},{"title":"Responses protocol","api":"POST /v1/responses","href":"/api-reference/responses"},{"title":"Image API protocol","api":"POST /v1/images/generations","href":"/api-reference/images"},{"title":"Source media tools","description":"Upscale, expand and layer images, remove backgrounds or objects, synchronize lips and process source video through one asynchronous SnapGen API.","api":"POST /v1/media/tools","href":"/api-reference/media-tools"},{"title":"Video API workflow","api":"POST /v1/videos","href":"/api-reference/video-generation"},{"title":"Text to speech","description":"Turn text into speech with ElevenLabs voices through the OpenAI-compatible speech endpoint.","api":"POST /v1/audio/speech","href":"/api-reference/audio-speech"},{"title":"Text to dialogue","api":"POST /v1/audio/dialogue","href":"/api-reference/audio-dialogue"},{"title":"Speech to text","api":"POST /v1/audio/transcriptions","href":"/api-reference/audio-transcriptions"},{"title":"Forced alignment","api":"POST /v1/audio/alignment","href":"/api-reference/audio-alignment"},{"title":"Music composition","api":"POST /v1/audio/music","href":"/api-reference/audio-music"},{"title":"Sound effects","api":"POST /v1/audio/sound-effects","href":"/api-reference/audio-sound-effects"},{"title":"Voice changer","api":"POST /v1/audio/voice-changer","href":"/api-reference/audio-voice-changer"},{"title":"Voice isolation","api":"POST /v1/audio/isolation","href":"/api-reference/audio-isolation"},{"title":"Dubbing","api":"POST /v1/audio/dubbing","href":"/api-reference/audio-dubbing"},{"title":"Music generation tasks","api":"POST /v1/music/generations","href":"/api-reference/music-generations"},{"title":"List models","api":"GET /v1/models","href":"/api-reference/list-models"}]},{"group":"Task Management","icon":"list-check","pages":[{"title":"Get task status","api":"GET /v1/tasks/{id}","href":"/api-reference/task-status"},{"title":"Task webhooks","href":"/api-reference/webhooks"}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/quickstart"}]},{"tab":"FAQs","pages":[{"title":"FAQs","href":"/faqs"}]}]},"title":"Video API workflow - SnapGen","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js"]}