{
"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_not_found",
"message": "Unknown architecture `fluxx`. List architectures at GET /v1/architectures."
}
}
{
"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."
}
}
Endpoints
Generate
Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.
POST
/
v1
/
{architecture}
/
generate
cURL
curl --request POST \ --url https://api.mage.space/v1/{architecture}/generate \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "prompt": "Editorial portrait in soft daylight, 35mm film look"}'
import Mage from '@mage-space/sdk';
const mage = new Mage(); // reads MAGE_API_KEY
const request = await mage.generate('mango', {
prompt: 'Editorial portrait in soft daylight, 35mm film look',
aspect_ratio: '4:5',
});
console.log(request.request_id, request.status);
from mage_space import Mage
mage = Mage() # reads MAGE_API_KEY
request = mage.generate("mango", {
"prompt": "Editorial portrait in soft daylight, 35mm film look",
"aspect_ratio": "4:5",
})
print(request["request_id"], request["status"])
{
"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_not_found",
"message": "Unknown architecture `fluxx`. List architectures at GET /v1/architectures."
}
}
{
"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."
}
}
Submit a generation. The body is a partial config for the architecture in the path: it is layered onto the architecture’s default config, so every field you leave out keeps its default. Each model page lists the fields its architecture accepts, with tokens and defaults; the same schema comes back from GET /v1/architectures as input_schema.The response is the request’s current state, with status_url to poll and cancel_url to stop it. Gems are charged when the request is accepted; a request that fails is refunded. See Requests and lifecycle for what happens next.This page documents the endpoint in general. For a specific model, open its page under Models: the playground there is filled in with that model’s fields.
The same field names mean the same thing on every model. aspect_ratio is a W:H ratio such as 16:9; first_image and last_image are the frames a video starts and ends on; image and additional_images are reference images; video or videos is the source video; resolution and duration are tokens from the model’s lists. A model’s page lists which of these it takes and the values it accepts. A setting a model does not have is not an error: it passes through like any unknown field, and the model ignores it.A config copied from the app is accepted as it is.
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 clip length in seconds as a token, on video and audio models that offer one; each model lists its tokens.
Response
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":"#fd7e14","light":"#fd7e14","dark":"#fd7e14"},"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"},"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":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae6177a3aae848cfc96f715","collectionId":"7cce8119-0f0e-476e-8d96-988ff894b41b","liveDeploymentHistoryId":"6ae6177a3aae848cfc96f715","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6ae6177a3aae848cfc96f715","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API","count":59},{"language":"default","tag":"Models","count":39},{"language":"default","tag":"Guides","count":27},{"language":"default","tag":"Apps","count":21},{"language":"default","tag":"Image models","count":16},{"language":"default","tag":"Video models","count":13},{"language":"default","tag":"Open-weights models","count":13},{"language":"default","tag":"Endpoints","count":12},{"language":"default","tag":"Features","count":12},{"language":"default","tag":"Mage models","count":11}]},"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":"api/endpoints/generate","slug":"/api/endpoints/generate","pageMetadata":{"title":"Generate","sidebarTitle":"Generate","description":"Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.","openapi":"api/openapi.json POST /v1/{architecture}/generate","href":"/api/endpoints/generate"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Submit a generation. The body is a partial config for the architecture in the path: it is layered onto the architecture’s default config, so every field you leave out keeps its default. Each model page lists the fields its architecture accepts, with tokens and defaults; the same schema comes back from `,_jsx(_components.a,{href:`/api/endpoints/list-architectures`,children:_jsx(_components.code,{children:`GET /v1/architectures`})}),` as `,_jsx(_components.code,{children:`input_schema`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The response is the request’s current state, with `,_jsx(_components.code,{children:`status_url`}),` to poll and `,_jsx(_components.code,{children:`cancel_url`}),` to stop it. Gems are charged when the request is accepted; a request that fails is refunded. See `,_jsx(_components.a,{href:`/api/requests`,children:`Requests and lifecycle`}),` for what happens next.`]}),`\n`,_jsxs(_components.p,{children:[`This page documents the endpoint in general. For a specific model, open its page under `,_jsx(_components.a,{href:`/api/models/overview`,children:`Models`}),`: the playground there is filled in with that model’s fields.`]}),`\n`,_jsx(Heading,{level:`2`,id:`common-fields`,children:`Common fields`}),`\n`,_jsxs(_components.p,{children:[`The same field names mean the same thing on every model. `,_jsx(_components.code,{children:`aspect_ratio`}),` is a `,_jsx(_components.code,{children:`W:H`}),` ratio such as `,_jsx(_components.code,{children:`16:9`}),`; `,_jsx(_components.code,{children:`first_image`}),` and `,_jsx(_components.code,{children:`last_image`}),` are the frames a video starts and ends on; `,_jsx(_components.code,{children:`image`}),` and `,_jsx(_components.code,{children:`additional_images`}),` are reference images; `,_jsx(_components.code,{children:`video`}),` or `,_jsx(_components.code,{children:`videos`}),` is the source video; `,_jsx(_components.code,{children:`resolution`}),` and `,_jsx(_components.code,{children:`duration`}),` are tokens from the model’s lists. A model’s page lists which of these it takes and the values it accepts. A setting a model does not have is not an error: it passes through like any unknown field, and the model ignores it.`]}),`\n`,_jsx(_components.p,{children:`A config copied from the app is accepted as it is.`})]})}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":"Generate","sidebarTitle":"Generate","description":"Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.","openapi":"api/openapi.json POST /v1/{architecture}/generate","href":"/api/endpoints/generate"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Common fields","slug":"common-fields","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"generate","summary":"Generate","description":"Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.","tags":["Requests"],"parameters":["3e32dc92-abfb-40aa-917f-c0b8c4c508a5","b5824a28-d0d2-4bfa-a797-7312141d856a"],"requestBody":"d752ca4c-513f-4864-a5f7-ff14567d6c58","responses":{"202":"db45dc38-d2d8-41a5-87e1-b7a9ed93a60a","400":"1b27086c-f949-45c9-ab94-7682f1031567","401":"001f2948-97de-4b6b-b28f-cd5fc5eb1845","402":"438b56fc-51bf-41c3-875f-61e6f1904602","403":"dfc8d039-9376-47bf-873a-531786c8bfac","404":"b2bfcb3a-f2f8-4407-a84d-0a560d6ee410","410":"1cd7fdfe-f782-462b-ac47-5f998f935c2f","429":"e28f8f4f-4560-480d-a905-bbfd2ed16f71","451":"fc20fb85-b7ae-405e-b963-3aa863d9a95b","500":"df0bcb94-c5b3-42f0-9b43-914db2d2bfbc"},"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.generate('mango', {\n prompt: 'Editorial portrait in soft daylight, 35mm film look',\n aspect_ratio: '4:5',\n});\n\nconsole.log(request.request_id, request.status);"},{"lang":"python","label":"Python SDK","source":"from mage_space import Mage\n\nmage = Mage() # reads MAGE_API_KEY\n\nrequest = mage.generate(\"mango\", {\n \"prompt\": \"Editorial portrait in soft daylight, 35mm film look\",\n \"aspect_ratio\": \"4:5\",\n})\n\nprint(request[\"request_id\"], request[\"status\"])"}],"method":"post","type":"path","servers":["e5ff5bd1-5582-414a-ae5b-03de4e310ca9"],"security":["a5188668-a3c5-4df7-ac0e-0b1363dda753"],"path":"/v1/{architecture}/generate","baseUrlOptions":["https://api.mage.space"],"title":"Generate","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.generate('mango', {\n prompt: 'Editorial portrait in soft daylight, 35mm film look',\n aspect_ratio: '4:5',\n});\n\nconsole.log(request.request_id, request.status);"},{"label":"Python SDK","lang":"python","source":"from mage_space import Mage\n\nmage = Mage() # reads MAGE_API_KEY\n\nrequest = mage.generate(\"mango\", {\n \"prompt\": \"Editorial portrait in soft daylight, 35mm film look\",\n \"aspect_ratio\": \"4:5\",\n})\n\nprint(request[\"request_id\"], request[\"status\"])"}],"requestExampleLanguages":["bash","typescript","python","javascript"],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"3e32dc92-abfb-40aa-917f-c0b8c4c508a5":{"name":"architecture","in":"path","required":true,"description":"The architecture id, from the catalog.","schema":{"type":"string","enum":["mango","krea_2","moss_image","minimax_h3","magejutsu","z_image","stable_diffusion_xl","kiwi","blueberry","wan_22","flux2","chroma","hidream","ltx_video","stable_diffusion_v15","stable_diffusion_v35_large","guava","nano_banana_v2","sdxl_plus","cherry","raspberry","grok_image","grok_video","berry","gpt_image_2","anima","melon","seed_audio","eleven_speech","eleven_music","plum","lemon"],"isRequired":true,"description":"The architecture id, from the catalog.","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"b5824a28-d0d2-4bfa-a797-7312141d856a":{"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 the architecture.","content":{"application/json":{"schema":{"type":"object","properties":{"prompt":{"type":"string","minLength":1,"description":"The text prompt. An `@handle` in it attaches one of your saved characters or references.","isRequired":true,"uniqueKey":"prompt","typeLabel":"string"},"model_id":{"description":"The model variant; the architecture default when omitted.","type":"string","uniqueKey":"model_id","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"},"aspect_ratio":{"description":"The output aspect ratio as `W:H` (`16:9`), on models that have one; each model lists its ratios.","type":"string","uniqueKey":"aspect_ratio","typeLabel":"string"},"first_image":{"description":"The first frame image, on models that start a video from one. An https URL or a data URL.","type":"string","uniqueKey":"first_image","typeLabel":"string"},"last_image":{"description":"The last frame image, on models that end a video on one. An https URL or a data URL.","type":"string","uniqueKey":"last_image","typeLabel":"string"},"resolution":{"description":"The output resolution token, on models that offer one; each model lists its tokens.","type":"string","uniqueKey":"resolution","typeLabel":"string"},"duration":{"description":"The clip length in seconds as a token, on video and audio models that offer one; each model lists its tokens.","type":"string","uniqueKey":"duration","typeLabel":"string"}},"required":["prompt"],"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"example":{"prompt":"Editorial portrait in soft daylight, 35mm film look"},"examples":{"Example":{"title":"Example","value":{"prompt":"Editorial portrait in soft daylight, 35mm film look"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"db45dc38-d2d8-41a5-87e1-b7a9ed93a60a":{"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":"flux2","model_id":"flux2-dev","created_at":"2026-09-17T14:52:48.000Z","updated_at":"2026-09-17T14:52:49.000Z","billing":{"mode":"gems","gems_charged":40},"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":"flux2","model_id":"flux2-dev","created_at":"2026-09-17T14:52:48.000Z","updated_at":"2026-09-17T14:52:49.000Z","billing":{"mode":"gems","gems_charged":40},"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"},"1b27086c-f949-45c9-ab94-7682f1031567":{"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"},"001f2948-97de-4b6b-b28f-cd5fc5eb1845":{"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"},"438b56fc-51bf-41c3-875f-61e6f1904602":{"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"},"dfc8d039-9376-47bf-873a-531786c8bfac":{"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"},"b2bfcb3a-f2f8-4407-a84d-0a560d6ee410":{"description":"No such architecture.","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_not_found","message":"Unknown architecture `fluxx`. List architectures at GET /v1/architectures."}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"architecture_not_found","message":"Unknown architecture `fluxx`. List architectures at GET /v1/architectures."}}}},"exampleType":"examples"}},"exampleType":"examples"},"1cd7fdfe-f782-462b-ac47-5f998f935c2f":{"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"},"e28f8f4f-4560-480d-a905-bbfd2ed16f71":{"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"},"fc20fb85-b7ae-405e-b963-3aa863d9a95b":{"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"},"df0bcb94-c5b3-42f0-9b43-914db2d2bfbc":{"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":{"a5188668-a3c5-4df7-ac0e-0b1363dda753":{"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":{"e5ff5bd1-5582-414a-ae5b-03de4e310ca9":{"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":"Generate - Mage","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-23T17:03:12.166Z","gitLastModified":"2026-09-26T15:10:46.000Z","originalFileLocation":"api/endpoints/generate.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=\"Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.\">\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=\"Generate - Mage\">\u003cmeta data-mint-head property=\"og:description\" content=\"Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mage Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mage.space/api/endpoints/generate\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://mage-space.mintlify.app/_mintlify/api/og/v2?division=Endpoints\u0026amp;title=Generate\u0026amp;description=Submit+an+image%2C+video%2C+or+audio+generation+with+any+Mage+model%3A+the+partial+config+body%2C+the+Idempotency-Key+header%2C+the+202+response%2C+and+every+error+the+gene\u0026amp;theme=15e3959de07cfae439e998da\u0026amp;signature=7bda8fd74044b3ce21c9161629e6ba0eb3af4aab1b5817c62cede90ea61f5071\">\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=\"Generate - Mage\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://mage-space.mintlify.app/_mintlify/api/og/v2?division=Endpoints\u0026amp;title=Generate\u0026amp;description=Submit+an+image%2C+video%2C+or+audio+generation+with+any+Mage+model%3A+the+partial+config+body%2C+the+Idempotency-Key+header%2C+the+202+response%2C+and+every+error+the+gene\u0026amp;theme=15e3959de07cfae439e998da\u0026amp;signature=7bda8fd74044b3ce21c9161629e6ba0eb3af4aab1b5817c62cede90ea61f5071\">\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=\"#fd7e14\">\u003cmeta data-mint-head name=\"msvalidate.01\" content=\"5EDBC0AF9865EE5A2B8FF37EA278E2FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mage.space/api/endpoints/generate\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/endpoints/generate.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/endpoints/generate#webpage\",\"url\":\"https://docs.mage.space/api/endpoints/generate\",\"name\":\"Generate\",\"description\":\"Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.\",\"dateModified\":\"2026-09-26T15:10:46.000Z\",\"isPartOf\":{\"@id\":\"https://docs.mage.space#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mage.space/api/endpoints/generate#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mage.space/api/endpoints/generate#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Mage\",\"item\":\"https://docs.mage.space\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Generate\",\"item\":\"https://docs.mage.space/api/endpoints/generate\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.mage.space/api/endpoints/generate#apireference\",\"headline\":\"Generate\",\"name\":\"Generate\",\"description\":\"Submit an image, video, or audio generation with any Mage model: the partial config body, the Idempotency-Key header, the 202 response, and every error the generate endpoint can return.\",\"url\":\"https://docs.mage.space/api/endpoints/generate\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mage.space/api/endpoints/generate#webpage\"},\"dateModified\":\"2026-09-26T15:10:46.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","description":"How the Mage API changes over time: what ships within v1, what waits for v2, how deprecations are announced, and what a client must tolerate.","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","description":"GET /v1/architectures returns every model the Mage API can generate with, each with its input fields, option tokens, defaults, JSON Schema, and gem price.","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","openapi":"api/openapi.json POST /v1/raspberry/generate","href":"/api/models/raspberry"},{"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":"Generate - Mage","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}