{
"error": {
"code": "invalid_config",
"message": "`resolution` must be one of: 768P, 2K."
}
}
{
"error": {
"code": "unauthorized",
"message": "The API key is invalid or has been revoked."
}
}
{
"error": {
"code": "insufficient_gems",
"message": "This generation costs 40 gems and the account balance is too low.",
"request_id": "d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff",
"gems_required": 40
}
}
{
"error": {
"code": "content_blocked",
"message": "The request was blocked by Mage's content policy.",
"request_id": "d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"
}
}
{
"error": {
"code": "architecture_retired",
"message": "This architecture has been retired.",
"request_id": "d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"
}
}
{
"error": {
"code": "too_many_requests",
"message": "At most 20 generations may be in flight at once for this account; 20 are running now."
}
}
{
"error": {
"code": "content_blocked",
"message": "The request was blocked by an external content restriction.",
"request_id": "d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"
}
}
{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side. Retry, and contact support if it persists."
}
}
Video models
Seedance
Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.
POST
/
v1
/
seedance
/
generate
cURL
curl --request POST \ --url https://api.mage.space/v1/seedance/generate \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "prompt": "A slow push-in on a lighthouse at dusk, waves breaking below", "aspect_ratio": "16:9", "duration": "4"}'
import Mage from '@mage-space/sdk';
const mage = new Mage(); // reads MAGE_API_KEY
const request = await mage.run('seedance', {
prompt: 'A slow push-in on a lighthouse at dusk, waves breaking below',
aspect_ratio: '16:9',
duration: '4',
});
console.log(request.result.url);
from mage_space import Mage
mage = Mage() # reads MAGE_API_KEY
request = mage.run("seedance", {
"prompt": "A slow push-in on a lighthouse at dusk, waves breaking below",
"aspect_ratio": "16:9",
"duration": "4",
})
print(request["result"]["url"])
{
"error": {
"code": "invalid_config",
"message": "`resolution` must be one of: 768P, 2K."
}
}
{
"error": {
"code": "unauthorized",
"message": "The API key is invalid or has been revoked."
}
}
{
"error": {
"code": "insufficient_gems",
"message": "This generation costs 40 gems and the account balance is too low.",
"request_id": "d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff",
"gems_required": 40
}
}
{
"error": {
"code": "content_blocked",
"message": "The request was blocked by Mage's content policy.",
"request_id": "d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"
}
}
{
"error": {
"code": "architecture_retired",
"message": "This architecture has been retired.",
"request_id": "d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"
}
}
{
"error": {
"code": "too_many_requests",
"message": "At most 20 generations may be in flight at once for this account; 20 are running now."
}
}
{
"error": {
"code": "content_blocked",
"message": "The request was blocked by an external content restriction.",
"request_id": "d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"
}
}
{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side. Retry, and contact support if it persists."
}
}
ByteDance’s Seedance video line, with cinematic motion and audio: Seedance 2.0 Mini, Seedance 2.0 Fast, Seedance 2.0, and Seedance 2.5, the most powerful, with clips up to 30 seconds. Strict Filter: the provider’s content filter checks the prompt, the input media, and the finished video; a request it refuses fails with content_blocked and a reason, and is refunded.
The tokens each variant accepts. A field left out inherits the architecture default, clamped to the variant’s first listed token when the variant does not offer it.
Write @handle in prompt to attach one of your saved entities, exactly as in the app. Each mention counts against the budget below; a mention that does not resolve, or that the chosen model does not support, is refused with 400 invalid_config before any gems are charged. See Characters and references.
Mention
Models
Budget
Characters
All models
8 images, characters, and references per request (seedance-2.5: 29)
References
All models
8 images, characters, and references per request (seedance-2.5: 29)
Audio references
All models
3 audio sources per request, counting the voices of mentioned characters
{ "prompt": "@ana walking through a night market, wearing @red-coat"}
A mentioned character’s voice is sent with its image and counts as an audio source. Send use_character_voices: false to leave the voices out.
A request that breaks one of these is refused with 400 invalid_config before any gems are charged.
Video editing takes exactly one source video, of 4 to 30 seconds on seedance-2.5 and 2 to 15 seconds on the other models.
On seedance-2.5 an edit keeps its source video’s length and aspect ratio: duration and aspect_ratio are ignored, and the price follows the video’s length.
Every field below that you leave out keeps its default. Option values are the tokens listed per field; a numeric token may be sent as a number. Fields the schema does not list pass through to the model unchanged. The exact charge for other settings is in the response’s billing.gems_charged, and the balance at GET /v1/account.
Create a key in API → API Keys: select Create API key, name it in the popup, then select Create key. Copy the one-time key and send it as Authorization: Bearer mage_sk_…. Keys are for server-side code only.
A key of your choosing, 1 to 255 characters, scoped to your API key. A retried submit with the same key returns the original request with 200 instead of charging again. The key identifies the first submission made with it; later bodies are not compared. A refusal recorded under the key (its envelope carries request_id) replays the same way, so a new attempt needs a new key.
The request was accepted; poll status_url for the result. A retried submit whose Idempotency-Key was used before answers 200 with the same shape, the original request, and charges nothing.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Mage","description":"Documentation for Mage, the AI image, video, and audio generation platform: models, apps, membership plans, Gems, and content rules.","colors":{"primary":"#d97000","light":"#ffc46b","dark":"#ffa94d"},"logo":{"light":"https://mintcdn.com/mage-space/YzEDodIOcFhjY5Nm/logo/light.png?fit=max\u0026auto=format\u0026n=YzEDodIOcFhjY5Nm\u0026q=85\u0026s=64222af9a7e55b8fd0c6f477679de40d","dark":"https://mintcdn.com/mage-space/YzEDodIOcFhjY5Nm/logo/dark.png?fit=max\u0026auto=format\u0026n=YzEDodIOcFhjY5Nm\u0026q=85\u0026s=6ac3e3aa905a6f399b43761d4f315a98","href":"https://www.mage.space"},"favicon":"https://mintcdn.com/mage-space/js7ICkpl6EjyCpqj/favicon.png?fit=max\u0026auto=format\u0026n=js7ICkpl6EjyCpqj\u0026q=85\u0026s=ac1b3dcc728d70f5f6e1f83e64131497","api":{"playground":{"display":"interactive"},"examples":{"languages":["curl","typescript","python","javascript"]}},"appearance":{"default":"dark"},"background":{"color":{"light":"#f6f6f6","dark":"#0f0f0f"}},"navbar":{"links":[{"href":"https://github.com/mage-space","label":"GitHub"},{"href":"https://www.mage.space/blog","label":"Blog"},{"href":"https://discord.gg/GT9bPgxyFP","label":"Community"}],"primary":{"type":"button","label":"Open Mage","href":"https://www.mage.space"}},"footer":{"socials":{"website":"https://www.mage.space","x":"https://x.com/MageSpace_","instagram":"https://www.instagram.com/magespace_","discord":"https://discord.gg/GT9bPgxyFP"}},"search":{"prompt":"Search Mage docs"},"seo":{"metatags":{"og:site_name":"Mage Docs","canonical":"https://docs.mage.space","msvalidate.01":"5EDBC0AF9865EE5A2B8FF37EA278E2FF"},"organization":{"name":"Mage","legalName":"Ollano, Inc.","url":"https://www.mage.space","sameAs":["https://x.com/MageSpace_","https://www.youtube.com/@MageSpace","https://www.instagram.com/magespace_","https://www.tiktok.com/@magespace_","https://www.linkedin.com/company/magespace","https://github.com/mage-space","https://discord.gg/GT9bPgxyFP"]},"indexing":"navigable"},"fonts":{"family":"Inter"},"integrations":{"posthog":{"apiKey":"phc_lBVvvz084lS4XFbPqGf38TGEa6HnGhmgVHcf4f0NNuX","apiHost":"https://ph.mage.space","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mage-space","hasAudioNarration":false,"actualSubdomain":"mage-space","customDomains":["docs.mage.space"],"gitSource":{"type":"github","owner":"ollanoinc","repo":"mage","deployBranch":"master","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6aed7156bf42dc46433bc113","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"API","count":61},{"language":"default","tag":"Models","count":42},{"language":"default","tag":"Guides","count":28},{"language":"default","tag":"Apps","count":23},{"language":"default","tag":"Image models","count":16},{"language":"default","tag":"Video models","count":15},{"language":"default","tag":"Features","count":13},{"language":"default","tag":"Open-weights models","count":13},{"language":"default","tag":"Endpoints","count":12},{"language":"default","tag":"Mage models","count":12}]},"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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--mage-surface-1: #fff;--mage-surface-2: #fafafa;--mage-border: #e6e6e6;--mage-border-strong: #d4d4d4;--mage-text: #111;--mage-text-2: #5c5c5c;--mage-text-3: #6b6b6b;--mage-pop-gold: #d97000;--mage-orange: #c2410c;--mage-gold-tint: rgba(138, 72, 0, 0.1);--mage-gold-tint-hover: rgba(138, 72, 0, 0.16);--mage-gold: linear-gradient(135deg, #ffa94d 0%, #ffd5a9 100%);--mage-gold-hover: linear-gradient(135deg, #ffb565 0%, #ffe2c2 100%);--mage-on-gold: #1c1205;--mage-shimmer-base: #d06800;--mage-shimmer-mid: #f0942a;--mage-shimmer-hi: #ffc46b;--mage-ease: cubic-bezier(0.4, 0, 0.2, 1)}html.dark{--mage-surface-1: #161616;--mage-surface-2: #1c1c1c;--mage-border: #262626;--mage-border-strong: #3a3a3a;--mage-text: #ededed;--mage-text-2: #a1a1a1;--mage-text-3: #858585;--mage-pop-gold: #ffc46b;--mage-orange: #ff9f5a;--mage-gold-tint: rgba(255, 196, 107, 0.14);--mage-gold-tint-hover: rgba(255, 196, 107, 0.22);--mage-shimmer-base: #ffa94d;--mage-shimmer-mid: #ffd5a9;--mage-shimmer-hi: #fff4e3}#page-title{font-weight:700;letter-spacing:-0.03em}#header .eyebrow{color:var(--mage-orange);font-size:12px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}html[data-current-path=\"/\"] #page-title{background:linear-gradient(\n 100deg,\n var(--mage-shimmer-base) 0%,\n var(--mage-shimmer-mid) 38%,\n var(--mage-shimmer-hi) 50%,\n var(--mage-shimmer-mid) 62%,\n var(--mage-shimmer-base) 100%\n );background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(36px, 5vw, 56px);line-height:0.98;font-weight:800;letter-spacing:-0.035em;text-transform:uppercase;text-wrap:balance;animation:mage-shimmer 7s var(--mage-ease) infinite}html[data-current-path=\"/\"] #page-title::first-line{color:var(--mage-text);-webkit-text-fill-color:var(--mage-text)}html[data-current-path=\"/\"] #page-context-menu{display:none}@keyframes mage-shimmer{0%,45%{background-position:100% 0}100%{background-position:0% 0}}.sidebar-group-header{color:var(--mage-text-3);font-size:12px;letter-spacing:0.08em;text-transform:uppercase}#sidebar-content li[data-active]>a{border-radius:10px}.nav-tabs-item[data-active]>div{height:2px;background:linear-gradient(90deg, #ffa94d, #ff7a1a)}.nav-tag-pill-text[data-nav-tag=\"New\"]{position:relative;overflow:hidden;background:var(--mage-gold);color:var(--mage-on-gold);letter-spacing:0.04em;text-transform:uppercase}.nav-tag-pill-text[data-nav-tag=\"New\"]::after{content:'';position:absolute;inset:0;background:linear-gradient(\n 105deg,\n transparent 30%,\n rgb(255 255 255 / 75%) 50%,\n transparent 70%\n );transform:translateX(-120%);animation:mage-glint 3.2s ease-in-out infinite}@keyframes mage-glint{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}#topbar-cta-button a{overflow:hidden;border-radius:999px;padding-left:16px;padding-right:12px}#topbar-cta-button a>span:first-child{border-radius:999px;background:var(--mage-gold)}#topbar-cta-button a:hover>span:first-child{background:var(--mage-gold-hover);opacity:1}#topbar-cta-button a .text-white,#topbar-cta-button a svg{color:var(--mage-on-gold);font-weight:600}#topbar-cta-button a::after{content:'';position:absolute;inset:0;z-index:20;pointer-events:none;background:linear-gradient(\n 110deg,\n transparent 30%,\n rgba(255, 255, 255, 0.7) 48%,\n transparent 64%\n );transform:translateX(-130%)}#topbar-cta-button a:hover::after{transform:translateX(130%);transition:transform 700ms var(--mage-ease)}#search-bar-entry{border-radius:12px}.card{border-radius:12px;background:var(--mage-surface-1);border-color:var(--mage-border);transition:border-color 150ms var(--mage-ease),\n box-shadow 150ms var(--mage-ease)}.card:hover{box-shadow:0 0 0 1px var(--mage-gold-tint)}.card.mage-new-card::after{content:'New';position:absolute;top:18px;right:18px;padding:3px 9px;border-radius:6px;background:var(--mage-gold);color:var(--mage-on-gold);font-size:11px;line-height:16px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;transform:skewX(-10deg)}.mage-eyebrow{margin:40px 0 4px;color:var(--mage-orange);font-size:12px;line-height:20px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase}.mage-actions{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 8px}#content a.mage-btn{position:relative;display:inline-flex;align-items:center;height:44px;padding:0 20px;overflow:hidden;border:0;border-radius:12px;font-size:16px;font-weight:600;text-decoration:none;transition:background-color 150ms var(--mage-ease)}#content a.mage-btn-gold{background:var(--mage-gold);color:var(--mage-on-gold)}#content a.mage-btn-gold:hover{background:var(--mage-gold-hover)}#content a.mage-btn-gold::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(\n 110deg,\n transparent 30%,\n rgba(255, 255, 255, 0.7) 48%,\n transparent 64%\n );transform:translateX(-130%)}#content a.mage-btn-gold:hover::after{transform:translateX(130%);transition:transform 700ms var(--mage-ease)}#content a.mage-btn-tint{background:var(--mage-gold-tint);color:var(--mage-pop-gold)}#content a.mage-btn-tint:hover{background:var(--mage-gold-tint-hover)}@media (prefers-reduced-motion: reduce){html[data-current-path=\"/\"] #page-title,.nav-tag-pill-text[data-nav-tag=\"New\"]::after{animation:none}#topbar-cta-button a::after,#content a.mage-btn-gold::after{display:none}}"}],"page":{"pagePath":"api/models/seedance","slug":"/api/models/seedance","pageMetadata":{"title":"Seedance","sidebarTitle":"Seedance","description":"Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.","openapi":"api/openapi.json POST /v1/seedance/generate","href":"/api/models/seedance"},"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: \"Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.\"\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`,li:`li`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`ByteDance’s Seedance video line, with cinematic motion and audio: Seedance 2.0 Mini, Seedance 2.0 Fast, Seedance 2.0, and Seedance 2.5, the most powerful, with clips up to 30 seconds. Strict Filter: the provider’s content filter checks the prompt, the input media, and the finished video; a request it refuses fails with `,_jsx(_components.code,{children:`content_blocked`}),` and a reason, and is refunded.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Detail`}),_jsx(_components.th,{})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Type`}),_jsx(_components.td,{children:`Video`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Models`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`seedance-2.0-mini`}),` (Seedance 2.0 Mini), `,_jsx(_components.code,{children:`seedance-2.0-fast`}),` (Seedance 2.0 Fast), `,_jsx(_components.code,{children:`seedance-2.0`}),` (Seedance 2.0), `,_jsx(_components.code,{children:`seedance-2.5`}),` (Seedance 2.5, default)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Image inputs`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`image`}),` (reference image), `,_jsx(_components.code,{children:`additional_images`}),` (additional reference images)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Video inputs`}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`videos`}),` (source videos)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Gems`}),_jsx(_components.td,{children:`618 at the default settings`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Model page`}),_jsx(_components.td,{children:_jsx(_components.a,{href:`/models/seedance`,children:`Seedance`})})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`options-by-model`,children:`Options by model`}),`\n`,_jsx(_components.p,{children:`The tokens each variant accepts. A field left out inherits the architecture default, clamped to the variant’s first listed token when the variant does not offer it.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Model`}),_jsx(_components.th,{children:_jsx(_components.code,{children:`resolution`})}),_jsx(_components.th,{children:_jsx(_components.code,{children:`duration`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`seedance-2.0-mini`})}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`480p`}),`, `,_jsx(_components.code,{children:`720p`})]}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`5`}),`, `,_jsx(_components.code,{children:`8`}),`, `,_jsx(_components.code,{children:`10`}),`, `,_jsx(_components.code,{children:`15`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`seedance-2.0-fast`})}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`480p`}),`, `,_jsx(_components.code,{children:`720p`})]}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`5`}),`, `,_jsx(_components.code,{children:`8`}),`, `,_jsx(_components.code,{children:`10`}),`, `,_jsx(_components.code,{children:`15`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`seedance-2.0`})}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`480p`}),`, `,_jsx(_components.code,{children:`720p`}),`, `,_jsx(_components.code,{children:`1080p`}),`, `,_jsx(_components.code,{children:`4k`})]}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`5`}),`, `,_jsx(_components.code,{children:`8`}),`, `,_jsx(_components.code,{children:`10`}),`, `,_jsx(_components.code,{children:`15`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`seedance-2.5`})}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`480p`}),`, `,_jsx(_components.code,{children:`720p`}),`, `,_jsx(_components.code,{children:`1080p`})]}),_jsxs(_components.td,{\"data-numeric\":`true`,children:[_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`5`}),`, `,_jsx(_components.code,{children:`8`}),`, `,_jsx(_components.code,{children:`10`}),`, `,_jsx(_components.code,{children:`15`}),`, `,_jsx(_components.code,{children:`20`}),`, `,_jsx(_components.code,{children:`25`}),`, `,_jsx(_components.code,{children:`30`})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`mentions`,children:`Mentions`}),`\n`,_jsxs(_components.p,{children:[`Write `,_jsx(_components.code,{children:`@handle`}),` in `,_jsx(_components.code,{children:`prompt`}),` to attach one of your saved entities, exactly as in the app. Each mention counts against the budget below; a mention that does not resolve, or that the chosen model does not support, is refused with `,_jsx(_components.code,{children:`400 invalid_config`}),` before any gems are charged. See `,_jsx(_components.a,{href:`/api/inputs#characters-and-references`,children:`Characters and references`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Mention`}),_jsx(_components.th,{children:`Models`}),_jsx(_components.th,{children:`Budget`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Characters`}),_jsx(_components.td,{children:`All models`}),_jsxs(_components.td,{children:[`8 images, characters, and references per request (`,_jsx(_components.code,{children:`seedance-2.5`}),`: 29)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`References`}),_jsx(_components.td,{children:`All models`}),_jsxs(_components.td,{children:[`8 images, characters, and references per request (`,_jsx(_components.code,{children:`seedance-2.5`}),`: 29)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Audio references`}),_jsx(_components.td,{children:`All models`}),_jsx(_components.td,{children:`3 audio sources per request, counting the voices of mentioned characters`})]})]})]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,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:`3`,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:` \"prompt\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"@ana walking through a night market, wearing @red-coat\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`A mentioned character’s voice is sent with its image and counts as an audio source. Send `,_jsx(_components.code,{children:`use_character_voices: false`}),` to leave the voices out.`]}),`\n`,_jsx(Heading,{level:`2`,id:`rules`,children:`Rules`}),`\n`,_jsxs(_components.p,{children:[`A request that breaks one of these is refused with `,_jsx(_components.code,{children:`400 invalid_config`}),` before any gems are charged.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Video editing takes exactly one source video, of 4 to 30 seconds on `,_jsx(_components.code,{children:`seedance-2.5`}),` and 2 to 15 seconds on the other models.`]}),`\n`,_jsxs(_components.li,{children:[`On `,_jsx(_components.code,{children:`seedance-2.5`}),` an edit keeps its source video’s length and aspect ratio: `,_jsx(_components.code,{children:`duration`}),` and `,_jsx(_components.code,{children:`aspect_ratio`}),` are ignored, and the price follows the video’s length.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Every field below that you leave out keeps its default. Option values are the tokens listed per field; a numeric token may be sent as a number. Fields the schema does not list pass through to the model unchanged. The exact charge for other settings is in the response’s `,_jsx(_components.code,{children:`billing.gems_charged`}),`, and the balance at `,_jsx(_components.a,{href:`/api/endpoints/get-account`,children:_jsx(_components.code,{children:`GET /v1/account`})}),`.`]})]})}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":"Seedance","sidebarTitle":"Seedance","description":"Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.","openapi":"api/openapi.json POST /v1/seedance/generate","href":"/api/models/seedance"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Options by model","slug":"options-by-model","depth":2,"children":[]},{"title":"Mentions","slug":"mentions","depth":2,"children":[]},{"title":"Rules","slug":"rules","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"generate_seedance","summary":"Seedance","description":"Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.","tags":["Video models"],"parameters":["955269b8-7e83-4e4e-bea5-27aa3462117e"],"requestBody":"811342da-12e8-40c9-a24d-648c844f76c1","responses":{"202":"5843ba6a-82fe-49b8-9cdd-a695e2c7b54d","400":"f65e5d7f-efaf-4d8a-ae15-8f1f758ea76a","401":"1948651f-a7de-4281-a474-bc42219608cc","402":"599354ba-eab9-4001-8bc9-df139409fd9f","403":"a014442e-25f9-4eda-852e-103f65c56de5","410":"4a1f7276-ac2f-4140-9333-746948efdbb5","429":"363f7eda-9603-48a0-a4d6-6f755d4bd103","451":"c041c836-a644-4f22-b58f-4451030d4b3f","500":"bed1284b-9835-4d59-9754-1bd877a9c7cc"},"x-codeSamples":[{"lang":"typescript","label":"TypeScript SDK","source":"import Mage from '@mage-space/sdk';\n\nconst mage = new Mage(); // reads MAGE_API_KEY\n\nconst request = await mage.run('seedance', {\n prompt: 'A slow push-in on a lighthouse at dusk, waves breaking below',\n aspect_ratio: '16:9',\n duration: '4',\n});\n\nconsole.log(request.result.url);"},{"lang":"python","label":"Python SDK","source":"from mage_space import Mage\n\nmage = Mage() # reads MAGE_API_KEY\n\nrequest = mage.run(\"seedance\", {\n \"prompt\": \"A slow push-in on a lighthouse at dusk, waves breaking below\",\n \"aspect_ratio\": \"16:9\",\n \"duration\": \"4\",\n})\n\nprint(request[\"result\"][\"url\"])"}],"method":"post","type":"path","servers":["aff39207-cd93-4322-9bf5-357a370300f1"],"security":["2d75daa8-c7f6-4aea-9b6e-943d6e423250"],"path":"/v1/seedance/generate","baseUrlOptions":["https://api.mage.space"],"title":"Seedance","codeSamples":[{"label":"TypeScript SDK","lang":"typescript","source":"import Mage from '@mage-space/sdk';\n\nconst mage = new Mage(); // reads MAGE_API_KEY\n\nconst request = await mage.run('seedance', {\n prompt: 'A slow push-in on a lighthouse at dusk, waves breaking below',\n aspect_ratio: '16:9',\n duration: '4',\n});\n\nconsole.log(request.result.url);"},{"label":"Python SDK","lang":"python","source":"from mage_space import Mage\n\nmage = Mage() # reads MAGE_API_KEY\n\nrequest = mage.run(\"seedance\", {\n \"prompt\": \"A slow push-in on a lighthouse at dusk, waves breaking below\",\n \"aspect_ratio\": \"16:9\",\n \"duration\": \"4\",\n})\n\nprint(request[\"result\"][\"url\"])"}],"requestExampleLanguages":["bash","typescript","python","javascript"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"955269b8-7e83-4e4e-bea5-27aa3462117e":{"name":"Idempotency-Key","in":"header","required":false,"description":"A key of your choosing, 1 to 255 characters, scoped to your API key. A retried submit with the same key returns the original request with `200` instead of charging again. The key identifies the first submission made with it; later bodies are not compared. A refusal recorded under the key (its envelope carries `request_id`) replays the same way, so a new attempt needs a new key.","schema":{"type":"string","minLength":1,"maxLength":255,"isRequired":false,"description":"A key of your choosing, 1 to 255 characters, scoped to your API key. A retried submit with the same key returns the original request with `200` instead of charging again. The key identifies the first submission made with it; later bodies are not compared. A refusal recorded under the key (its envelope carries `request_id`) replays the same way, so a new attempt needs a new key.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"description":"A partial config for Seedance.","content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"description":"The text prompt.","isRequired":true,"uniqueKey":"prompt","typeLabel":"string"},"seed":{"oneOf":[{"type":"integer","description":"Integer seed for reproducible output; omit or send null for a random seed.","uniqueKey":"seed.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Integer seed for reproducible output; omit or send null for a random seed.","uniqueKey":"seed.oneOf.1","typeLabel":"null"}],"uniqueKey":"seed","typeLabel":"integer | null"},"model_id":{"type":"string","enum":["seedance-2.0-mini","seedance-2.0-fast","seedance-2.0","seedance-2.5"],"description":"The model variant to generate with.","default":"seedance-2.5","uniqueKey":"model_id","typeLabel":"enum\u003cstring>"},"aspect_ratio":{"type":"string","enum":["16:9","9:16","1:1"],"description":"Aspect ratio as `W:H`.","default":"16:9","uniqueKey":"aspect_ratio","typeLabel":"enum\u003cstring>"},"resolution":{"type":"string","enum":["480p","720p","1080p","4k"],"description":"Output resolution token.","default":"480p","uniqueKey":"resolution","typeLabel":"enum\u003cstring>"},"duration":{"type":"string","enum":["4","5","8","10","15","20","25","30"],"description":"Clip length in seconds, as a token.","default":"4","uniqueKey":"duration","typeLabel":"enum\u003cstring>"},"image":{"oneOf":[{"type":"string","description":"The reference image. An https URL or a data URL.","format":"uri","uniqueKey":"image.oneOf.0","typeLabel":"string\u003curi>"},{"type":"string","description":"The reference image. An https URL or a data URL.","pattern":"^data:[^;,]+(?:;[^;,]+)*;base64,","uniqueKey":"image.oneOf.1","typeLabel":"string"}],"uniqueKey":"image","typeLabel":"string\u003curi> | string"},"additional_images":{"type":"array","items":{"oneOf":[{"type":"string","format":"uri","uniqueKey":"additional_images.items.[INDEX].oneOf.0","typeLabel":"string\u003curi>"},{"type":"string","pattern":"^data:[^;,]+(?:;[^;,]+)*;base64,","uniqueKey":"additional_images.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"additional_images.items.[INDEX]","typeLabel":"string\u003curi> | string"},"description":"Additional reference images. Each an https URL or a data URL.","uniqueKey":"additional_images","typeLabel":"(string\u003curi> | string)[]"},"videos":{"type":"array","items":{"oneOf":[{"type":"string","format":"uri","uniqueKey":"videos.items.[INDEX].oneOf.0","typeLabel":"string\u003curi>"},{"type":"string","pattern":"^data:[^;,]+(?:;[^;,]+)*;base64,","uniqueKey":"videos.items.[INDEX].oneOf.1","typeLabel":"string"}],"uniqueKey":"videos.items.[INDEX]","typeLabel":"string\u003curi> | string"},"description":"The source videos. Each an https URL or a data URL.","uniqueKey":"videos","typeLabel":"(string\u003curi> | string)[]"},"use_character_voices":{"type":"boolean","default":true,"uniqueKey":"use_character_voices","typeLabel":"boolean"}},"required":["prompt"],"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"prompt":"A slow push-in on a lighthouse at dusk, waves breaking below","aspect_ratio":"16:9","duration":"4"},"examples":{"Example":{"title":"Example","value":{"prompt":"A slow push-in on a lighthouse at dusk, waves breaking below","aspect_ratio":"16:9","duration":"4"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"5843ba6a-82fe-49b8-9cdd-a695e2c7b54d":{"description":"The request was accepted; poll `status_url` for the result. A retried submit whose `Idempotency-Key` was used before answers `200` with the same shape, the original request, and charges nothing.","content":{"application/json":{"schema":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid","description":"The request id, also the id in `status_url` and `cancel_url`.","isRequired":true,"uniqueKey":"request_id","typeLabel":"string\u003cuuid>"},"status":{"type":"string","enum":["queued","in_progress","completed","failed","cancelled"],"description":"`queued` and `in_progress` are live; `completed`, `failed`, and `cancelled` are final.","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"architecture":{"type":"string","description":"The architecture the request generates with.","isRequired":true,"uniqueKey":"architecture","typeLabel":"string"},"model_id":{"oneOf":[{"type":"string","description":"The model variant, when the architecture has variants.","isRequired":true,"uniqueKey":"model_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"The model variant, when the architecture has variants.","isRequired":true,"uniqueKey":"model_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"model_id","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","description":"When the request was accepted.","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"When the request last changed.","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"billing":{"type":"object","properties":{"mode":{"type":"string","const":"gems","description":"Every API request is paid in gems.","isRequired":true,"uniqueKey":"billing.mode","typeLabel":"string"},"gems_charged":{"type":"number","description":"Gems debited for the request.","isRequired":true,"uniqueKey":"billing.gems_charged","typeLabel":"number"},"gems_refunded":{"description":"Gems returned to the account; present on failed requests.","type":"number","uniqueKey":"billing.gems_refunded","typeLabel":"number"}},"required":["mode","gems_charged"],"additionalProperties":false,"isRequired":true,"uniqueKey":"billing","typeLabel":"object"},"result":{"oneOf":[{"type":"object","description":"The output once `status` is `completed`, else null.","required":["type","url","width","height","seed","expires_at","moderation"],"properties":{"type":{"type":"string","enum":["image","video","audio"],"description":"The media type of the output.","isRequired":true,"uniqueKey":"result.oneOf.0.type","typeLabel":"enum\u003cstring>"},"url":{"type":"string","format":"uri","description":"Where to download the output.","isRequired":true,"uniqueKey":"result.oneOf.0.url","typeLabel":"string\u003curi>"},"width":{"type":"integer","description":"Output width in pixels; 0 for audio.","isRequired":true,"uniqueKey":"result.oneOf.0.width","typeLabel":"integer"},"height":{"type":"integer","description":"Output height in pixels; 0 for audio.","isRequired":true,"uniqueKey":"result.oneOf.0.height","typeLabel":"integer"},"seed":{"type":"integer","description":"The seed the generation ran with.","isRequired":true,"uniqueKey":"result.oneOf.0.seed","typeLabel":"integer"},"expires_at":{"oneOf":[{"type":"string","description":"When `url` stops working: 30 days after the request for temporary media, or null for permanent media.","format":"date-time","isRequired":true,"uniqueKey":"result.oneOf.0.expires_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","description":"When `url` stops working: 30 days after the request for temporary media, or null for permanent media.","isRequired":true,"uniqueKey":"result.oneOf.0.expires_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"result.oneOf.0.expires_at","typeLabel":"string\u003cdate-time> | null"},"moderation":{"type":"object","properties":{"nsfw":{"type":"boolean","description":"Whether moderation flagged the output as NSFW.","isRequired":true,"uniqueKey":"result.oneOf.0.moderation.nsfw","typeLabel":"boolean"}},"required":["nsfw"],"additionalProperties":false,"description":"Moderation flags on the output.","isRequired":true,"uniqueKey":"result.oneOf.0.moderation","typeLabel":"object"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"result.oneOf.0","typeLabel":"object"},{"type":"null","description":"The output once `status` is `completed`, else null.","isRequired":true,"uniqueKey":"result.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"result","typeLabel":"object | null"},"error":{"oneOf":[{"type":"object","description":"Why the request failed once `status` is `failed`, else null.","required":["code","message"],"properties":{"code":{"type":"string","enum":["unauthorized","invalid_request","invalid_config","architecture_not_found","architecture_retired","request_not_found","character_not_found","reference_not_found","not_found","insufficient_gems","payment_required","forbidden","content_blocked","request_finished","handle_taken","too_many_requests","generation_failed","preprocess_refused","internal_error"],"description":"A stable error code.","isRequired":true,"uniqueKey":"error.oneOf.0.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"What went wrong, for a person.","isRequired":true,"uniqueKey":"error.oneOf.0.message","typeLabel":"string"},"reason":{"description":"Present on `content_blocked` when the model's external provider refused the content, not Mage: `likeness` (a real person or celebrity), `ip` (copyrighted or trademarked material), `nsfw` (content past the model's own limit: sexual, violent, or otherwise sensitive), `minors` (may involve a minor), `audio` (the audio, usually copyrighted music or a real voice), or `unspecified` (the provider gave no reason). An open set: treat an unknown value as `unspecified`.","type":"string","enum":["likeness","ip","nsfw","minors","audio","unspecified"],"uniqueKey":"error.oneOf.0.reason","typeLabel":"enum\u003cstring>"},"stage":{"oneOf":[{"type":"string","description":"With `reason`: `input` when the provider refused the prompt or input media, `output` when it refused the generated media, or null when it did not say.","enum":["input","output"],"uniqueKey":"error.oneOf.0.stage.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"With `reason`: `input` when the provider refused the prompt or input media, `output` when it refused the generated media, or null when it did not say.","uniqueKey":"error.oneOf.0.stage.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.oneOf.0.stage","typeLabel":"enum\u003cstring> | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"error.oneOf.0","typeLabel":"object"},{"type":"null","description":"Why the request failed once `status` is `failed`, else null.","isRequired":true,"uniqueKey":"error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"error","typeLabel":"object | null"},"status_url":{"type":"string","format":"uri","description":"Poll this URL for the request.","isRequired":true,"uniqueKey":"status_url","typeLabel":"string\u003curi>"},"cancel_url":{"type":"string","format":"uri","description":"POST to this URL to stop the request.","isRequired":true,"uniqueKey":"cancel_url","typeLabel":"string\u003curi>"}},"required":["request_id","status","architecture","model_id","created_at","updated_at","billing","result","error","status_url","cancel_url"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff","status":"in_progress","architecture":"seedance","model_id":"seedance-2.5","created_at":"2026-09-17T14:52:48.000Z","updated_at":"2026-09-17T14:52:49.000Z","billing":{"mode":"gems","gems_charged":618},"result":null,"error":null,"status_url":"https://api.mage.space/v1/requests/d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff/status","cancel_url":"https://api.mage.space/v1/requests/d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff/cancel"},"examples":{"Example":{"title":"Example","value":{"request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff","status":"in_progress","architecture":"seedance","model_id":"seedance-2.5","created_at":"2026-09-17T14:52:48.000Z","updated_at":"2026-09-17T14:52:49.000Z","billing":{"mode":"gems","gems_charged":618},"result":null,"error":null,"status_url":"https://api.mage.space/v1/requests/d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff/status","cancel_url":"https://api.mage.space/v1/requests/d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff/cancel"}}},"exampleType":"examples"}},"exampleType":"examples"},"f65e5d7f-efaf-4d8a-ae15-8f1f758ea76a":{"description":"The body is not a JSON object, sets a server-owned field, contradicts the architecture, breaks a field's type or token list, mentions an `@handle` that does not resolve or that the model does not support, exceeds the image or audio budget, or breaks a model rule; or the `Idempotency-Key` is malformed. `invalid_config` names the field, the handle, or the rule.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","invalid_request","invalid_config","architecture_not_found","architecture_retired","request_not_found","character_not_found","reference_not_found","not_found","insufficient_gems","payment_required","forbidden","content_blocked","request_finished","handle_taken","too_many_requests","generation_failed","preprocess_refused","internal_error"],"description":"A stable error code; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"What went wrong, for a person.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"description":"The request the refusal belongs to, when one was recorded before the refusal.","type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"},"gems_required":{"description":"The price of the refused generation, on `insufficient_gems`.","type":"number","uniqueKey":"error.gems_required","typeLabel":"number"},"docs_url":{"description":"Where to read the API reference, on `not_found`.","type":"string","format":"uri","uniqueKey":"error.docs_url","typeLabel":"string\u003curi>"},"handle":{"description":"The handle that is taken, on `handle_taken`.","type":"string","uniqueKey":"error.handle","typeLabel":"string"}},"required":["code","message"],"additionalProperties":true,"description":"Further fields depend on the code.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"invalid_config","message":"`resolution` must be one of: 768P, 2K."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"invalid_config","message":"`resolution` must be one of: 768P, 2K."}}}},"exampleType":"examples"}},"exampleType":"examples"},"1948651f-a7de-4281-a474-bc42219608cc":{"description":"The key is missing, malformed, unknown, or revoked.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","invalid_request","invalid_config","architecture_not_found","architecture_retired","request_not_found","character_not_found","reference_not_found","not_found","insufficient_gems","payment_required","forbidden","content_blocked","request_finished","handle_taken","too_many_requests","generation_failed","preprocess_refused","internal_error"],"description":"A stable error code; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"What went wrong, for a person.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"description":"The request the refusal belongs to, when one was recorded before the refusal.","type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"},"gems_required":{"description":"The price of the refused generation, on `insufficient_gems`.","type":"number","uniqueKey":"error.gems_required","typeLabel":"number"},"docs_url":{"description":"Where to read the API reference, on `not_found`.","type":"string","format":"uri","uniqueKey":"error.docs_url","typeLabel":"string\u003curi>"},"handle":{"description":"The handle that is taken, on `handle_taken`.","type":"string","uniqueKey":"error.handle","typeLabel":"string"}},"required":["code","message"],"additionalProperties":true,"description":"Further fields depend on the code.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"unauthorized","message":"The API key is invalid or has been revoked."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"unauthorized","message":"The API key is invalid or has been revoked."}}}},"exampleType":"examples"}},"exampleType":"examples"},"599354ba-eab9-4001-8bc9-df139409fd9f":{"description":"The gems balance is below the price (`insufficient_gems`; `gems_required` is the price), or the account has never paid (`payment_required`).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","invalid_request","invalid_config","architecture_not_found","architecture_retired","request_not_found","character_not_found","reference_not_found","not_found","insufficient_gems","payment_required","forbidden","content_blocked","request_finished","handle_taken","too_many_requests","generation_failed","preprocess_refused","internal_error"],"description":"A stable error code; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"What went wrong, for a person.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"description":"The request the refusal belongs to, when one was recorded before the refusal.","type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"},"gems_required":{"description":"The price of the refused generation, on `insufficient_gems`.","type":"number","uniqueKey":"error.gems_required","typeLabel":"number"},"docs_url":{"description":"Where to read the API reference, on `not_found`.","type":"string","format":"uri","uniqueKey":"error.docs_url","typeLabel":"string\u003curi>"},"handle":{"description":"The handle that is taken, on `handle_taken`.","type":"string","uniqueKey":"error.handle","typeLabel":"string"}},"required":["code","message"],"additionalProperties":true,"description":"Further fields depend on the code.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"insufficient_gems","message":"This generation costs 40 gems and the account balance is too low.","request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff","gems_required":40}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"insufficient_gems","message":"This generation costs 40 gems and the account balance is too low.","request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff","gems_required":40}}}},"exampleType":"examples"}},"exampleType":"examples"},"a014442e-25f9-4eda-852e-103f65c56de5":{"description":"The account cannot generate (`forbidden`), or the request was blocked by the content policy before it ran (`content_blocked`).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","invalid_request","invalid_config","architecture_not_found","architecture_retired","request_not_found","character_not_found","reference_not_found","not_found","insufficient_gems","payment_required","forbidden","content_blocked","request_finished","handle_taken","too_many_requests","generation_failed","preprocess_refused","internal_error"],"description":"A stable error code; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"What went wrong, for a person.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"description":"The request the refusal belongs to, when one was recorded before the refusal.","type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"},"gems_required":{"description":"The price of the refused generation, on `insufficient_gems`.","type":"number","uniqueKey":"error.gems_required","typeLabel":"number"},"docs_url":{"description":"Where to read the API reference, on `not_found`.","type":"string","format":"uri","uniqueKey":"error.docs_url","typeLabel":"string\u003curi>"},"handle":{"description":"The handle that is taken, on `handle_taken`.","type":"string","uniqueKey":"error.handle","typeLabel":"string"}},"required":["code","message"],"additionalProperties":true,"description":"Further fields depend on the code.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"content_blocked","message":"The request was blocked by Mage's content policy.","request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"content_blocked","message":"The request was blocked by Mage's content policy.","request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"}}}},"exampleType":"examples"}},"exampleType":"examples"},"4a1f7276-ac2f-4140-9333-746948efdbb5":{"description":"The architecture has been retired.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","invalid_request","invalid_config","architecture_not_found","architecture_retired","request_not_found","character_not_found","reference_not_found","not_found","insufficient_gems","payment_required","forbidden","content_blocked","request_finished","handle_taken","too_many_requests","generation_failed","preprocess_refused","internal_error"],"description":"A stable error code; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"What went wrong, for a person.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"description":"The request the refusal belongs to, when one was recorded before the refusal.","type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"},"gems_required":{"description":"The price of the refused generation, on `insufficient_gems`.","type":"number","uniqueKey":"error.gems_required","typeLabel":"number"},"docs_url":{"description":"Where to read the API reference, on `not_found`.","type":"string","format":"uri","uniqueKey":"error.docs_url","typeLabel":"string\u003curi>"},"handle":{"description":"The handle that is taken, on `handle_taken`.","type":"string","uniqueKey":"error.handle","typeLabel":"string"}},"required":["code","message"],"additionalProperties":true,"description":"Further fields depend on the code.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"architecture_retired","message":"This architecture has been retired.","request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"architecture_retired","message":"This architecture has been retired.","request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"}}}},"exampleType":"examples"}},"exampleType":"examples"},"363f7eda-9603-48a0-a4d6-6f755d4bd103":{"description":"The account already has its cap of generations in flight (20 unless set otherwise for the account), web and API together. Wait for some to finish.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","invalid_request","invalid_config","architecture_not_found","architecture_retired","request_not_found","character_not_found","reference_not_found","not_found","insufficient_gems","payment_required","forbidden","content_blocked","request_finished","handle_taken","too_many_requests","generation_failed","preprocess_refused","internal_error"],"description":"A stable error code; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"What went wrong, for a person.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"description":"The request the refusal belongs to, when one was recorded before the refusal.","type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"},"gems_required":{"description":"The price of the refused generation, on `insufficient_gems`.","type":"number","uniqueKey":"error.gems_required","typeLabel":"number"},"docs_url":{"description":"Where to read the API reference, on `not_found`.","type":"string","format":"uri","uniqueKey":"error.docs_url","typeLabel":"string\u003curi>"},"handle":{"description":"The handle that is taken, on `handle_taken`.","type":"string","uniqueKey":"error.handle","typeLabel":"string"}},"required":["code","message"],"additionalProperties":true,"description":"Further fields depend on the code.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"too_many_requests","message":"At most 20 generations may be in flight at once for this account; 20 are running now."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"too_many_requests","message":"At most 20 generations may be in flight at once for this account; 20 are running now."}}}},"exampleType":"examples"}},"exampleType":"examples"},"c041c836-a644-4f22-b58f-4451030d4b3f":{"description":"The request was blocked by an external content restriction.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","invalid_request","invalid_config","architecture_not_found","architecture_retired","request_not_found","character_not_found","reference_not_found","not_found","insufficient_gems","payment_required","forbidden","content_blocked","request_finished","handle_taken","too_many_requests","generation_failed","preprocess_refused","internal_error"],"description":"A stable error code; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"What went wrong, for a person.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"description":"The request the refusal belongs to, when one was recorded before the refusal.","type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"},"gems_required":{"description":"The price of the refused generation, on `insufficient_gems`.","type":"number","uniqueKey":"error.gems_required","typeLabel":"number"},"docs_url":{"description":"Where to read the API reference, on `not_found`.","type":"string","format":"uri","uniqueKey":"error.docs_url","typeLabel":"string\u003curi>"},"handle":{"description":"The handle that is taken, on `handle_taken`.","type":"string","uniqueKey":"error.handle","typeLabel":"string"}},"required":["code","message"],"additionalProperties":true,"description":"Further fields depend on the code.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"content_blocked","message":"The request was blocked by an external content restriction.","request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"content_blocked","message":"The request was blocked by an external content restriction.","request_id":"d7e6c0f3-6699-4f6c-bb45-2ad7fd9158ff"}}}},"exampleType":"examples"}},"exampleType":"examples"},"bed1284b-9835-4d59-9754-1bd877a9c7cc":{"description":"Something failed on Mage's side. Retry, and contact support if it persists.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","invalid_request","invalid_config","architecture_not_found","architecture_retired","request_not_found","character_not_found","reference_not_found","not_found","insufficient_gems","payment_required","forbidden","content_blocked","request_finished","handle_taken","too_many_requests","generation_failed","preprocess_refused","internal_error"],"description":"A stable error code; treat an unknown code by its HTTP status.","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"What went wrong, for a person.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"description":"The request the refusal belongs to, when one was recorded before the refusal.","type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"},"gems_required":{"description":"The price of the refused generation, on `insufficient_gems`.","type":"number","uniqueKey":"error.gems_required","typeLabel":"number"},"docs_url":{"description":"Where to read the API reference, on `not_found`.","type":"string","format":"uri","uniqueKey":"error.docs_url","typeLabel":"string\u003curi>"},"handle":{"description":"The handle that is taken, on `handle_taken`.","type":"string","uniqueKey":"error.handle","typeLabel":"string"}},"required":["code","message"],"additionalProperties":true,"description":"Further fields depend on the code.","isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"internal_error","message":"Something went wrong on our side. Retry, and contact support if it persists."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"internal_error","message":"Something went wrong on our side. Retry, and contact support if it persists."}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"2d75daa8-c7f6-4aea-9b6e-943d6e423250":{"apiKey":{"type":"http","scheme":"bearer","description":"Create a key in [API → API Keys](https://www.mage.space/api?tab=api-keys): select **Create API key**, name it in the popup, then select **Create key**. Copy the one-time key and send it as `Authorization: Bearer mage_sk_…`. Keys are for server-side code only.","scopes":[],"schemeName":"apiKey"}}},"servers":{"aff39207-cd93-4322-9bf5-357a370300f1":{"url":"https://api.mage.space","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Create a key in [API → API Keys](https://www.mage.space/api?tab=api-keys): select **Create API key**, name it in the popup, then select **Create key**. Copy the one-time key and send it as `Authorization: Bearer mage_sk_…`. Keys are for server-side code only.","scopes":[],"schemeName":"apiKey"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Create a key in [API → API Keys](https://www.mage.space/api?tab=api-keys): select **Create API key**, name it in the popup, then select **Create key**. Copy the one-time key and send it as `Authorization: Bearer mage_sk_…`. Keys are for server-side code only.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"api/openapi.json"},"subdomain":"mage-space","siteName":"Mage","title":"Seedance - Mage","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T05:29:37.847Z","gitLastModified":"2026-11-05T05:29:24.000Z","originalFileLocation":"api/models/seedance.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=\"dark\"}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=\"Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Mage\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mage-space/RwBJFP0egq-BZOBp/_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/mage-space/RwBJFP0egq-BZOBp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mage-space/RwBJFP0egq-BZOBp/_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/mage-space/RwBJFP0egq-BZOBp/_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/mage-space/RwBJFP0egq-BZOBp/_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/mage-space/RwBJFP0egq-BZOBp/_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/mage-space/RwBJFP0egq-BZOBp/_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/mage-space/RwBJFP0egq-BZOBp/_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/mage-space/RwBJFP0egq-BZOBp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Seedance - Mage\">\u003cmeta data-mint-head property=\"og:description\" content=\"Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mage Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mage.space/api/models/seedance\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mage-space.mintlify.site/_mintlify/api/og/v2?division=Video+models\u0026amp;title=Seedance\u0026amp;description=Generate+video+with+Seedance+through+the+Mage+API%3A+the+fields+of+POST+%2Fv1%2Fseedance%2Fgenerate%2C+its+options+by+model%2C+the+rules+it+enforces%2C+and+its+gem+price.\u0026amp;theme=5d75d13899c499e104bfd2ff\u0026amp;signature=4fdb142bd7c7dced260b8ec866c3d3ac099f2c48e9150df37756e566df9b68d6\">\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=\"Seedance - Mage\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mage-space.mintlify.site/_mintlify/api/og/v2?division=Video+models\u0026amp;title=Seedance\u0026amp;description=Generate+video+with+Seedance+through+the+Mage+API%3A+the+fields+of+POST+%2Fv1%2Fseedance%2Fgenerate%2C+its+options+by+model%2C+the+rules+it+enforces%2C+and+its+gem+price.\u0026amp;theme=5d75d13899c499e104bfd2ff\u0026amp;signature=4fdb142bd7c7dced260b8ec866c3d3ac099f2c48e9150df37756e566df9b68d6\">\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/mage-space/RwBJFP0egq-BZOBp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Mage\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#d97000\">\u003cmeta data-mint-head name=\"msvalidate.01\" content=\"5EDBC0AF9865EE5A2B8FF37EA278E2FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mage.space/api/models/seedance\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/models/seedance.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.mage.space/#organization\",\"name\":\"Mage\",\"legalName\":\"Ollano, Inc.\",\"url\":\"https://www.mage.space\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mage-space/YzEDodIOcFhjY5Nm/logo/light.png?fit=max\u0026auto=format\u0026n=YzEDodIOcFhjY5Nm\u0026q=85\u0026s=64222af9a7e55b8fd0c6f477679de40d\"},\"sameAs\":[\"https://x.com/MageSpace_\",\"https://www.youtube.com/@MageSpace\",\"https://www.instagram.com/magespace_\",\"https://www.tiktok.com/@magespace_\",\"https://www.linkedin.com/company/magespace\",\"https://github.com/mage-space\",\"https://discord.gg/GT9bPgxyFP\"]},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mage.space#website\",\"name\":\"Mage\",\"url\":\"https://docs.mage.space\",\"publisher\":{\"@id\":\"https://www.mage.space/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mage.space/api/models/seedance#webpage\",\"url\":\"https://docs.mage.space/api/models/seedance\",\"name\":\"Seedance\",\"description\":\"Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.\",\"dateModified\":\"2026-11-05T05:29:24.000Z\",\"isPartOf\":{\"@id\":\"https://docs.mage.space#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mage.space/api/models/seedance#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mage.space/api/models/seedance#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Video models\",\"item\":\"https://docs.mage.space/api/models/berry\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Seedance\",\"item\":\"https://docs.mage.space/api/models/seedance\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mage.space/api/models/seedance#apireference\",\"headline\":\"Seedance\",\"name\":\"Seedance\",\"description\":\"Generate video with Seedance through the Mage API: the fields of POST /v1/seedance/generate, its options by model, the rules it enforces, and its gem price.\",\"url\":\"https://docs.mage.space/api/models/seedance\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mage.space/api/models/seedance#webpage\"},\"dateModified\":\"2026-11-05T05:29:24.000Z\",\"publisher\":{\"@id\":\"https://www.mage.space/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mage.space#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Mage\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Mage","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"Models","pages":[{"title":"Models","href":"/models/overview"}]},{"tab":"Apps","pages":[{"title":"Apps","href":"/apps/overview"}]},{"tab":"API","groups":[{"group":"Get started","pages":[{"title":"Mage API","sidebarTitle":"Overview","href":"/api/overview"},{"title":"Quickstart","sidebarTitle":"Quickstart","href":"/api/quickstart"},{"title":"Authentication","sidebarTitle":"Authentication","href":"/api/authentication"},{"title":"Use Mage from Claude, ChatGPT, Grok, and Cursor","sidebarTitle":"MCP server","href":"/api/mcp"}]},{"group":"SDKs and integrations","pages":[{"title":"TypeScript SDK","sidebarTitle":"TypeScript","href":"/api/sdks/typescript"},{"title":"Python SDK","sidebarTitle":"Python","href":"/api/sdks/python"},{"title":"Mage for ComfyUI","sidebarTitle":"ComfyUI","href":"/api/integrations/comfyui"},{"title":"Mage skills for Claude, Codex, and Cursor","sidebarTitle":"Agent skills","href":"/api/integrations/skills"}]},{"group":"Concepts","pages":[{"title":"Requests and lifecycle","sidebarTitle":"Requests and lifecycle","href":"/api/requests"},{"title":"Inputs and uploads","sidebarTitle":"Inputs and uploads","href":"/api/inputs"},{"title":"Errors and retries","sidebarTitle":"Errors and retries","href":"/api/errors"},{"title":"Rate limits and concurrency","sidebarTitle":"Rate limits","href":"/api/limits"},{"title":"Billing and retention","sidebarTitle":"Billing and retention","href":"/api/billing"},{"title":"Versioning and changes","sidebarTitle":"Versioning","href":"/api/versioning"}]},{"group":"Endpoints","pages":[{"title":"Generate","sidebarTitle":"Generate","openapi":"api/openapi.json POST /v1/{architecture}/generate","href":"/api/endpoints/generate"},{"title":"List architectures","sidebarTitle":"List architectures","openapi":"api/openapi.json GET /v1/architectures","href":"/api/endpoints/list-architectures"},{"title":"Get request status","sidebarTitle":"Get request status","openapi":"api/openapi.json GET /v1/requests/{request_id}/status","href":"/api/endpoints/get-request-status"},{"title":"Cancel request","sidebarTitle":"Cancel request","openapi":"api/openapi.json POST /v1/requests/{request_id}/cancel","href":"/api/endpoints/cancel-request"},{"title":"Get account","sidebarTitle":"Get account","openapi":"api/openapi.json GET /v1/account","href":"/api/endpoints/get-account"},{"title":"Create upload","sidebarTitle":"Create upload","openapi":"api/openapi.json POST /v1/uploads","href":"/api/endpoints/create-upload"},{"title":"List characters","sidebarTitle":"List characters","openapi":"api/openapi.json GET /v1/characters","href":"/api/endpoints/list-characters"},{"title":"Create character","sidebarTitle":"Create character","openapi":"api/openapi.json POST /v1/characters","href":"/api/endpoints/create-character"},{"title":"Delete character","sidebarTitle":"Delete character","openapi":"api/openapi.json DELETE /v1/characters/{character_id}","href":"/api/endpoints/delete-character"},{"title":"List references","sidebarTitle":"List references","openapi":"api/openapi.json GET /v1/references","href":"/api/endpoints/list-references"},{"title":"Create reference","sidebarTitle":"Create reference","openapi":"api/openapi.json POST /v1/references","href":"/api/endpoints/create-reference"},{"title":"Delete reference","sidebarTitle":"Delete reference","openapi":"api/openapi.json DELETE /v1/references/{reference_id}","href":"/api/endpoints/delete-reference"}]},{"group":"Models","pages":[{"title":"Models in the API","sidebarTitle":"Overview","href":"/api/models/overview"}]},{"group":"Image models","pages":[{"title":"Anima","sidebarTitle":"Anima","openapi":"api/openapi.json POST /v1/anima/generate","href":"/api/models/anima"},{"title":"Chroma","sidebarTitle":"Chroma","openapi":"api/openapi.json POST /v1/chroma/generate","href":"/api/models/chroma"},{"title":"Flux 2","sidebarTitle":"Flux 2","openapi":"api/openapi.json POST /v1/flux2/generate","href":"/api/models/flux2"},{"title":"GPT Image 2","sidebarTitle":"GPT Image 2","openapi":"api/openapi.json POST /v1/gpt_image_2/generate","href":"/api/models/gpt_image_2"},{"title":"Grok Image","sidebarTitle":"Grok Image","openapi":"api/openapi.json POST /v1/grok_image/generate","href":"/api/models/grok_image"},{"title":"Guava","sidebarTitle":"Guava","openapi":"api/openapi.json POST /v1/guava/generate","href":"/api/models/guava"},{"title":"HiDream","sidebarTitle":"HiDream","openapi":"api/openapi.json POST /v1/hidream/generate","href":"/api/models/hidream"},{"title":"Krea 2","sidebarTitle":"Krea 2","openapi":"api/openapi.json POST /v1/krea_2/generate","href":"/api/models/krea_2"},{"title":"Mango","sidebarTitle":"Mango","openapi":"api/openapi.json POST /v1/mango/generate","href":"/api/models/mango"},{"title":"MOSS-Image","sidebarTitle":"MOSS-Image","openapi":"api/openapi.json POST /v1/moss_image/generate","href":"/api/models/moss_image"},{"title":"Nano Banana 2","sidebarTitle":"Nano Banana 2","openapi":"api/openapi.json POST /v1/nano_banana_v2/generate","href":"/api/models/nano_banana_v2"},{"title":"SDXL Plus","sidebarTitle":"SDXL Plus","openapi":"api/openapi.json POST /v1/sdxl_plus/generate","href":"/api/models/sdxl_plus"},{"title":"Stable Diffusion v1.5","sidebarTitle":"Stable Diffusion v1.5","openapi":"api/openapi.json POST /v1/stable_diffusion_v15/generate","href":"/api/models/stable_diffusion_v15"},{"title":"Stable Diffusion v3.5 Large","sidebarTitle":"Stable Diffusion v3.5 Large","openapi":"api/openapi.json POST /v1/stable_diffusion_v35_large/generate","href":"/api/models/stable_diffusion_v35_large"},{"title":"Stable Diffusion XL","sidebarTitle":"Stable Diffusion XL","openapi":"api/openapi.json POST /v1/stable_diffusion_xl/generate","href":"/api/models/stable_diffusion_xl"},{"title":"Z-Image","sidebarTitle":"Z-Image","openapi":"api/openapi.json POST /v1/z_image/generate","href":"/api/models/z_image"}]},{"group":"Video models","pages":[{"title":"Berry","sidebarTitle":"Berry","openapi":"api/openapi.json POST /v1/berry/generate","href":"/api/models/berry"},{"title":"Blueberry","sidebarTitle":"Blueberry","openapi":"api/openapi.json POST /v1/blueberry/generate","href":"/api/models/blueberry"},{"title":"Cherry","sidebarTitle":"Cherry","openapi":"api/openapi.json POST /v1/cherry/generate","href":"/api/models/cherry"},{"title":"Grok Video","sidebarTitle":"Grok Video","openapi":"api/openapi.json POST /v1/grok_video/generate","href":"/api/models/grok_video"},{"title":"Kiwi","sidebarTitle":"Kiwi","openapi":"api/openapi.json POST /v1/kiwi/generate","href":"/api/models/kiwi"},{"title":"Lemon","sidebarTitle":"Lemon","openapi":"api/openapi.json POST /v1/lemon/generate","href":"/api/models/lemon"},{"title":"LTX Video","sidebarTitle":"LTX Video","openapi":"api/openapi.json POST /v1/ltx_video/generate","href":"/api/models/ltx_video"},{"title":"Magejutsu","sidebarTitle":"Magejutsu","openapi":"api/openapi.json POST /v1/magejutsu/generate","href":"/api/models/magejutsu"},{"title":"Melon","sidebarTitle":"Melon","openapi":"api/openapi.json POST /v1/melon/generate","href":"/api/models/melon"},{"title":"MiniMax-H3","sidebarTitle":"MiniMax-H3","openapi":"api/openapi.json POST /v1/minimax_h3/generate","href":"/api/models/minimax_h3"},{"title":"Plum","sidebarTitle":"Plum","openapi":"api/openapi.json POST /v1/plum/generate","href":"/api/models/plum"},{"title":"Raspberry","sidebarTitle":"Raspberry","description":"Generate video with Raspberry through the Mage API: the fields of POST /v1/raspberry/generate, its options by model, the rules it enforces, and its gem price.","openapi":"api/openapi.json POST /v1/raspberry/generate","href":"/api/models/raspberry"},{"title":"Seedance","sidebarTitle":"Seedance","openapi":"api/openapi.json POST /v1/seedance/generate","href":"/api/models/seedance"},{"title":"Wan 3.0","sidebarTitle":"Wan 3.0","description":"Generate video with Wan 3.0 through the Mage API: the fields of POST /v1/wan_3/generate, its options by model, the rules it enforces, and its gem price.","openapi":"api/openapi.json POST /v1/wan_3/generate","href":"/api/models/wan_3"},{"title":"Wan Video v2.2","sidebarTitle":"Wan Video v2.2","openapi":"api/openapi.json POST /v1/wan_22/generate","href":"/api/models/wan_22"}]},{"group":"Audio models","pages":[{"title":"Eleven Music","sidebarTitle":"Eleven Music","openapi":"api/openapi.json POST /v1/eleven_music/generate","href":"/api/models/eleven_music"},{"title":"Eleven Speech","sidebarTitle":"Eleven Speech","openapi":"api/openapi.json POST /v1/eleven_speech/generate","href":"/api/models/eleven_speech"},{"title":"Seed Audio","sidebarTitle":"Seed Audio","openapi":"api/openapi.json POST /v1/seed_audio/generate","href":"/api/models/seed_audio"}]}]}]},"basePath":"","title":"Seedance - Mage","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}