fallback defaults to false. In the first release, each image/video item can try one eligible low-cost channel and, with fallback enabled, one official channel. Each item has at most two generation attempts.With fallback off, an unavailable low-cost route does not silently become a more expensive official call. With fallback on, the official route must support the full input before acceptance.
Providers can use different field names, units, enums, and supported combinations for the same model. APIstable maps a versioned public schema to each eligible provider. Renaming duration_seconds to seconds is a mapping; dropping audio or changing resolution is not.
Requested capability
Channel behavior
5 seconds at 720p
Accept only channels supporting the exact combination.
A confirmed rejection before acceptance or an eligible terminal provider failure can trigger fallback. An unknown submission, running generation, content-policy rejection, or invalid input cannot be treated as a free pass to submit elsewhere.Unknown results enter reconciliation. If a final decision releases the credits, a late success cannot silently recharge the account.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"APIstable","colors":{"primary":"#6256e8","light":"#7468f2","dark":"#a9a0ff"},"api":{"playground":{"display":"interactive","proxy":true},"examples":{"languages":["curl","javascript","python"]}},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":"en/quickstart"},{"language":"cn","href":"cn/quickstart"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"apistable","hasAudioNarration":false,"actualSubdomain":"apistable","customDomains":[],"gitSource":{"type":"artifacts","owner":"prod","repo":"e3efe432bfca6de9b68154bf","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":"","_id":"6ae5e3ed778ca28c5ec178e9"},"entitlements":{},"buildId":"6ae5e44b511388ce7ebc68a1","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"cn","tag":"接口参考","count":6},{"language":"cn","tag":"核心概念","count":6},{"language":"en","tag":"API reference","count":6},{"language":"en","tag":"Core concepts","count":6},{"language":"cn","tag":"快速开始","count":2},{"language":"en","tag":"Get started","count":2}]},"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":"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":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"en/fallback","slug":"/en/fallback","pageMetadata":{"title":"Routing \u0026 fallback","description":"Lower-cost routes first. Explicit permission for official fallback.","href":"/en/fallback"},"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: \"Lower-cost routes first. Explicit permission for official fallback.\"\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={blockquote:`blockquote`,p:`p`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Table}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:`API preview: generation providers are not connected. An authenticated request can return 503 without creating a task or charging credits.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`fallback-is-opt-in`,children:`Fallback is opt-in`}),`\n`,_jsx(_components.p,{children:`fallback defaults to false. In the first release, each image/video item can try one eligible low-cost channel and, with fallback enabled, one official channel. Each item has at most two generation attempts.`}),`\n`,_jsx(_components.p,{children:`With fallback off, an unavailable low-cost route does not silently become a more expensive official call. With fallback on, the official route must support the full input before acceptance.`}),`\n`,_jsx(Heading,{level:`2`,id:`compatibility-before-price`,children:`Compatibility before price`}),`\n`,_jsx(_components.p,{children:`Providers can use different field names, units, enums, and supported combinations for the same model. APIstable maps a versioned public schema to each eligible provider. Renaming duration_seconds to seconds is a mapping; dropping audio or changing resolution is not.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Requested capability`}),_jsx(_components.th,{children:`Channel behavior`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`5 seconds at 720p`}),_jsx(_components.td,{children:`Accept only channels supporting the exact combination.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Audio enabled`}),_jsx(_components.td,{children:`Exclude channels that cannot produce audio.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Fixed seed`}),_jsx(_components.td,{children:`Do not silently remove or substitute it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Official route incompatible`}),_jsx(_components.td,{children:`Reject fallback=true before acceptance.`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`a-timeout-is-not-a-safe-failure`,children:`A timeout is not a safe failure`}),`\n`,_jsx(_components.p,{children:`A confirmed rejection before acceptance or an eligible terminal provider failure can trigger fallback. An unknown submission, running generation, content-policy rejection, or invalid input cannot be treated as a free pass to submit elsewhere.`}),`\n`,_jsx(_components.p,{children:`Unknown results enter reconciliation. If a final decision releases the credits, a late success cannot silently recharge the 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":"Routing \u0026 fallback","description":"Lower-cost routes first. Explicit permission for official fallback.","href":"/en/fallback"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Fallback is opt-in","slug":"fallback-is-opt-in","depth":2,"children":[]},{"title":"Compatibility before price","slug":"compatibility-before-price","depth":2,"children":[]},{"title":"A timeout is not a safe failure","slug":"a-timeout-is-not-a-safe-failure","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"apistable","siteName":"APIstable","title":"Routing \u0026 fallback - APIstable","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/en/fallback","matchLevel":0},"cn":{"href":"/cn/fallback","matchLevel":1}}},"lastModified":"2026-10-31T12:51:27.171Z","originalFileLocation":"en/fallback.mdx","locale":"en"},"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=\"Lower-cost routes first. Explicit permission for official fallback.\">\u003cmeta data-mint-head name=\"application-name\" content=\"APIstable\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/apistable/_generated/favicon/apple-touch-icon.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/apistable/_generated/favicon/favicon-32x32.png?v=3\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/apistable/_generated/favicon/favicon-16x16.png?v=3\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"https://mintlify.s3.us-west-1.amazonaws.com/apistable/_generated/favicon/favicon.ico?v=3\">\u003cmeta data-mint-head property=\"og:title\" content=\"Routing \u0026amp; fallback - APIstable\">\u003cmeta data-mint-head property=\"og:description\" content=\"Lower-cost routes first. Explicit permission for official fallback.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"APIstable\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://apistable.mintlify.app/en/fallback\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://apistable.mintlify.app/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Routing+%26+fallback\u0026amp;description=Lower-cost+routes+first.+Explicit+permission+for+official+fallback.\u0026amp;theme=0021cbb4aa87915489c6b7ac\u0026amp;signature=8f7564bdcdeee22c79b20fd58057c7199e8fbc65553c3f0cd45b4263f042ae8d\">\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=\"Routing \u0026amp; fallback - APIstable\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Lower-cost routes first. Explicit permission for official fallback.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://apistable.mintlify.app/_mintlify/api/og/v2?division=Core+concepts\u0026amp;title=Routing+%26+fallback\u0026amp;description=Lower-cost+routes+first.+Explicit+permission+for+official+fallback.\u0026amp;theme=0021cbb4aa87915489c6b7ac\u0026amp;signature=8f7564bdcdeee22c79b20fd58057c7199e8fbc65553c3f0cd45b4263f042ae8d\">\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=\"https://mintlify.s3.us-west-1.amazonaws.com/apistable/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"APIstable\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6256e8\">\u003clink data-mint-head rel=\"canonical\" href=\"https://apistable.mintlify.app/en/fallback\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/en/fallback.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://apistable.mintlify.app/en/fallback\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://apistable.mintlify.app/cn/fallback\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://apistable.mintlify.app/en/fallback\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://apistable.mintlify.app/#organization\",\"name\":\"APIstable\",\"url\":\"https://apistable.mintlify.app\"},{\"@type\":\"WebSite\",\"@id\":\"https://apistable.mintlify.app#website\",\"name\":\"APIstable\",\"url\":\"https://apistable.mintlify.app\",\"publisher\":{\"@id\":\"https://apistable.mintlify.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://apistable.mintlify.app/en/fallback#webpage\",\"url\":\"https://apistable.mintlify.app/en/fallback\",\"name\":\"Routing \u0026 fallback\",\"description\":\"Lower-cost routes first. Explicit permission for official fallback.\",\"dateModified\":\"2026-10-31T12:51:27.171Z\",\"isPartOf\":{\"@id\":\"https://apistable.mintlify.app#website\"},\"breadcrumb\":{\"@id\":\"https://apistable.mintlify.app/en/fallback#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://apistable.mintlify.app/en/fallback#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Core concepts\",\"item\":\"https://apistable.mintlify.app/en/outputs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Routing \u0026 fallback\",\"item\":\"https://apistable.mintlify.app/en/fallback\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://apistable.mintlify.app/en/fallback#article\",\"headline\":\"Routing \u0026 fallback\",\"name\":\"Routing \u0026 fallback\",\"description\":\"Lower-cost routes first. Explicit permission for official fallback.\",\"url\":\"https://apistable.mintlify.app/en/fallback\",\"mainEntityOfPage\":{\"@id\":\"https://apistable.mintlify.app/en/fallback#webpage\"},\"dateModified\":\"2026-10-31T12:51:27.171Z\",\"publisher\":{\"@id\":\"https://apistable.mintlify.app/#organization\"},\"isPartOf\":{\"@id\":\"https://apistable.mintlify.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"APIstable\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"APIstable","nav":{"global":null,"languages":[{"language":"en","groups":[{"group":"Get started","pages":[{"title":"Your first request","openapi":"openapi.json POST /v1/tasks","href":"/en/quickstart"},{"title":"Authentication","href":"/en/authentication"}]},{"group":"API reference","pages":[{"title":"List models","openapi":"openapi.json GET /v1/models","href":"/en/models"},{"title":"List tasks","openapi":"openapi.json GET /v1/tasks","href":"/en/list-tasks"},{"title":"Get a quote","openapi":"openapi.json POST /v1/quotes","href":"/en/quotes"},{"title":"Create a task","openapi":"openapi.json POST /v1/tasks","href":"/en/create-task"},{"title":"Query a task","openapi":"openapi.json GET /v1/tasks/{id}","href":"/en/query-task"},{"title":"LLM \u0026 streaming","openapi":"openapi.json POST /v1/chat/completions","href":"/en/llm"}]},{"group":"Core concepts","pages":[{"title":"Multiple results","description":"One request. Up to four independent image or video results.","href":"/en/outputs"},{"title":"Routing \u0026 fallback","href":"/en/fallback"},{"title":"Credits \u0026 billing","description":"Buy credits in USD. See exactly how each result is charged.","openapi":"openapi.json GET /v1/balance","href":"/en/credits"},{"title":"Music works \u0026 assets","href":"/en/music"},{"title":"Callbacks \u0026 polling","href":"/en/webhooks"},{"title":"Errors \u0026 idempotency","href":"/en/errors"}]}]},{"language":"cn","pages":[{"title":"cn","href":"/cn/fallback"}]}]},"basePath":"","title":"Routing \u0026 fallback - APIstable","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":[],"chunks":[]}