Read the OpenAI image generation guide before you rely on model-specific controls such as background, output_compression, streaming, or future GPT image options.
Use async: true for long-running image jobs when your client prefers a submit-and-poll flow instead of holding one HTTP connection open. The create request returns data.task_id.Poll Retrieve an image generation task until data.status is success or failure.The async field is a CometAPI extension for this route, not an OpenAI parameter. OpenAI documents stream and partial_images for GPT image models. CometAPI asynchronous task mode returns JSON task metadata and uses polling.Use async task mode with these documented model IDs: gpt-image-2 and doubao-seedream-4-0-250828. For other image models, use synchronous generation or streaming unless async task support is documented for that model.When a request includes both async: true and stream: true, async task mode takes precedence. The create request returns JSON task metadata instead of an SSE stream.
Set background to transparent to generate an isolated subject with no background fill. This is supported on gpt-image-2.5-sunburst and gpt-image-2.5-flare.Transparency needs an output format with an alpha channel. Set output_format to png or webp. JPEG has no alpha channel, so a transparent request with output_format: "jpeg" is rejected.The response returns base64 image data in b64_json with an alpha channel. Decode it to save the file:
import base64import osfrom openai import OpenAIclient = OpenAI( base_url="https://api.cometapi.com/v1", api_key=os.environ["COMETAPI_KEY"],)result = client.images.generate( model="gpt-image-2.5-sunburst", prompt="A single red apple, centered, isolated subject.", quality="low", size="1024x1024", background="transparent", output_format="png",)with open("apple.png", "wb") as f: f.write(base64.b64decode(result.data[0].b64_json))
Set background to opaque to force a solid background, or auto to let the model decide. The response echoes the applied value in the top-level background field.
Generated images must comply with provider usage policies. Do not send illegal, violent, pornographic, or copyright-infringing prompts.
Quality setting for models that support it. GPT image models accept low, medium, high, and auto. gpt-image-2.5-sunburst and gpt-image-2.5-flare also accept xhigh and max. dall-e-3 accepts standard and hd. See the OpenAI image generation guide for the latest model-specific values.
Background mode for the generated image. Set transparent to generate an isolated subject with no background fill; this requires output_format set to png or webp, and returns an error with jpeg. Set opaque for a solid background, or auto to let the model decide. Supported on gpt-image-2.5-sunburst and gpt-image-2.5-flare.
Compression level for the output image, from 0 to 100. Applies when output_format is webp or jpeg. Lower values produce smaller files with more compression artifacts.
Number of partial images to emit while a streaming response is in progress, from 0 to 3. Each partial image arrives as an image_generation.partial_image event before the final image_generation.completed event. Applies when stream is true.
The encoded image type for GPT image model results, such as png, jpeg, or webp. See the OpenAI image generation guide for current GPT image output controls.
Set this to true to receive server-sent image generation events instead of waiting for the completed JSON response. Streaming responses use text/event-stream and can include final events such as image_generation.completed. When stream and async are both true, async task mode takes precedence and the create request returns JSON instead of a streaming image response.
CometAPI asynchronous task mode. Set this to true to return immediately with data.task_id, then poll GET /v1/images/generations/{task_id} for the final image data. Documented model IDs for this mode: gpt-image-2 and doubao-seedream-4-0-250828. This is a CometAPI extension, not an OpenAI parameter. When async and stream are both true, async takes precedence and returns JSON task metadata instead of an SSE stream.
Response
Image generation result. Synchronous requests return completed image data. Async requests return a task response with data.task_id.
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"CometAPI Documentation","description":"CometAPI developer documentation for unified API access to GPT, Claude, Gemini, Grok, Llama, DeepSeek, Mistral, Qwen, and more, including API reference, quickstart guides, and integration tutorials.","colors":{"primary":"#00ACE2","light":"#00ACE2","dark":"#0274C3"},"logo":{"light":"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet-light.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=7ae2fde0df7785d111912bce23157ef2","dark":"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet-dark.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=2d25d0a1c0376b7a3b5b2b06c4149fbc"},"favicon":"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=bd1150b78a8058af98088b06cbe67cdc","api":{"playground":{"display":"interactive","proxy":true},"examples":{"defaults":"required","prefill":true}},"navbar":{"links":[{"href":"https://www.cometapi.com/models/","label":"Models"}],"primary":{"type":"button","label":"Dashboard","href":"https://www.cometapi.com/console"}},"footer":{},"seo":{"metatags":{"og:site_name":"CometAPI Docs","og:type":"website","twitter:card":"summary_large_image","canonical":"https://apidoc.cometapi.com","author":"CometAPI","copyright":"Copyright 2026 CometAPI","category":"Technology","distribution":"global","coverage":"Worldwide"},"indexing":"navigable"},"integrations":{"posthog":{"apiKey":"phc_y3KwBz46V9TGDjqPtDrpuSahVg3bDky6eyzGsD8vuCYS","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","href":""},{"language":"zh-Hans","href":"zh-Hans"},{"language":"zh-Hant","href":"zh-Hant"},{"language":"ja","href":"ja"},{"language":"ko","href":"ko"},{"language":"fr","href":"fr"},{"language":"de","href":"de"},{"language":"es","href":"es"},{"language":"it","href":"it"},{"language":"pt","href":"pt"},{"language":"ru","href":"ru"},{"language":"ar","href":"ar"},{"language":"vi","href":"vi"},{"language":"id","href":"id"},{"language":"tr","href":"tr"},{"language":"pl","href":"pl"},{"language":"nl","href":"nl"},{"language":"no","href":"no"},{"language":"uk","href":"uk"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cometapi","hasAudioNarration":false,"actualSubdomain":"cometapi","customDomains":["apidoc.cometapi.com"],"gitSource":{"type":"github","owner":"cometapi-dev","repo":"cometapi-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ae2ec350f3a19b455e9452e","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"en","tag":"API","count":109},{"language":"en","tag":"Video Models","count":66},{"language":"en","tag":"Integrations","count":53},{"language":"en","tag":"Docs","count":35},{"language":"en","tag":"Kling","count":33},{"language":"en","tag":"Image Models","count":28},{"language":"en","tag":"AI chat clients","count":14},{"language":"en","tag":"Runway","count":13},{"language":"en","tag":"Midjourney","count":10},{"language":"en","tag":"AI coding agents","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img[src*=\"cloudfront.net/flags/\"]{display:none!important}div.relative:has(>img[src*=\"cloudfront.net/flags/\"]){display:none!important}#localization-select-item-zh-Hans{display:none!important}nav a.link[class~=\"bg-gray-950/[0.03]\"]{background-color:rgb(var(--primary) / 0.12);box-shadow:inset 0 0 0 1px rgb(var(--primary) / 0.38), 0 1px 2px rgb(var(--primary) / 0.08);color:rgb(var(--primary))}nav a.link[class~=\"bg-gray-950/[0.03]\"]:hover,nav a.link[class~=\"bg-gray-950/[0.03]\"]:focus-visible{background-color:rgb(var(--primary) / 0.18);box-shadow:inset 0 0 0 1px rgb(var(--primary) / 0.58), 0 1px 2px rgb(var(--primary) / 0.1);color:rgb(var(--primary))}nav a.link[class~=\"bg-gray-950/[0.03]\"]:focus-visible{outline:2px solid rgb(var(--primary) / 0.45);outline-offset:2px}.dark nav a.link[class~=\"bg-gray-950/[0.03]\"]{background-color:rgb(var(--primary-light) / 0.2);box-shadow:inset 0 0 0 1px rgb(var(--primary-light) / 0.55), 0 1px 2px rgb(var(--primary-light) / 0.16);color:rgb(var(--primary-light))}.dark nav a.link[class~=\"bg-gray-950/[0.03]\"]:hover,.dark nav a.link[class~=\"bg-gray-950/[0.03]\"]:focus-visible{background-color:rgb(var(--primary-light) / 0.28);box-shadow:inset 0 0 0 1px rgb(var(--primary-light) / 0.7), 0 1px 2px rgb(var(--primary-light) / 0.18);color:rgb(var(--primary-light))}.integration-logo-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:12px;margin:16px 0 28px}.integration-logo-card{align-items:center;background:rgba(127, 127, 127, 0.04);border:1px solid rgba(127, 127, 127, 0.22);border-radius:8px;color:inherit;display:flex;gap:14px;min-height:72px;padding:14px 16px;text-decoration:none!important;transition:background 160ms ease, border-color 160ms ease, transform 160ms ease}.integration-logo-card:hover,.integration-logo-card:focus-visible{background:rgba(0, 172, 226, 0.08);border-color:rgba(0, 172, 226, 0.55);transform:translateY(-1px)}.integration-logo-card:focus-visible{outline:2px solid rgba(0, 172, 226, 0.45);outline-offset:2px}.integration-logo-mark{align-items:center;background:#fff;background-position:center;background-repeat:no-repeat;background-size:28px 28px;border:1px solid rgba(127, 127, 127, 0.18);border-radius:8px;display:flex;flex:0 0 38px;height:38px;justify-content:center;overflow:hidden;width:38px}.integration-logo-body{display:flex;flex-direction:column;gap:2px;min-width:0}.integration-logo-title{font-size:0.95rem;font-weight:600;line-height:1.3}.integration-logo-subtitle{color:rgba(90, 90, 90, 0.92);font-size:0.78rem;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integration-card-arrow{color:rgba(90, 90, 90, 0.7);flex:0 0 16px;font-size:0.9rem;margin-left:auto;text-align:right}.integration-card-arrow::before{content:\"\\2197\"}.integration-logo-ai-sdk{background-image:url(\"/images/integrations/logos/ai-sdk.png\")}.integration-logo-agno{background-image:url(\"/images/integrations/logos/agno.png\")}.integration-logo-claude-code{background-image:url(\"/images/integrations/logos/claude-code.png\")}.integration-logo-claude-desktop{background-image:url(\"/images/integrations/logos/claude-desktop.png\")}.integration-logo-codex{background-image:url(\"/images/integrations/logos/codex.png\")}.integration-logo-dify{background-image:url(\"/images/integrations/logos/dify.png\")}.integration-logo-gemini-cli{background-image:url(\"/images/integrations/logos/gemini-cli.png\")}.integration-logo-hermes-agent{background-image:url(\"/images/integrations/logos/hermes-agent.png\");background-size:34px 34px}.integration-logo-langchain{background-image:url(\"/images/integrations/logos/langchain.png\")}.integration-logo-langflow{background-image:url(\"/images/integrations/logos/langflow.png\")}.integration-logo-langfuse{background-image:url(\"/images/integrations/logos/langfuse.png\")}.integration-logo-litellm{background-image:url(\"/images/integrations/logos/litellm.png\")}.integration-logo-llamaindex{background-image:url(\"/images/integrations/logos/llamaindex.png\")}.integration-logo-lobe-chat{background-image:url(\"/images/integrations/logos/lobe-chat.jpg\")}.integration-logo-make{background-image:url(\"/images/integrations/logos/make.jpg\")}.integration-logo-n8n{background-image:url(\"/images/integrations/logos/n8n.png\")}.integration-logo-open-webui{background-image:url(\"/images/integrations/logos/open-webui.png\")}.integration-logo-workbuddy-ai{background-image:url(\"/images/integrations/logos/workbuddy-ai.svg\")}.integration-logo-openclaw{background-image:url(\"/images/integrations/logos/openclaw.svg\")}.integration-logo-opencode{background-image:url(\"/images/integrations/logos/opencode.png\")}.integration-logo-pi{background-image:url(\"/images/integrations/logos/pi.svg\")}.integration-logo-promptfoo{background-image:url(\"/images/integrations/logos/promptfoo.png\")}.dark .integration-logo-card{background:rgba(255, 255, 255, 0.035);border-color:rgba(255, 255, 255, 0.14)}.dark .integration-logo-card:hover,.dark .integration-logo-card:focus-visible{background:rgba(0, 172, 226, 0.14);border-color:rgba(0, 172, 226, 0.65)}.dark .integration-logo-mark{background-color:rgba(255, 255, 255, 0.96)}.dark .integration-logo-subtitle{color:rgba(255, 255, 255, 0.66)}.dark .integration-card-arrow{color:rgba(255, 255, 255, 0.64)}@media (max-width: 1024px){.integration-logo-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 640px){.integration-logo-grid{grid-template-columns:1fr}.integration-logo-card{min-height:68px}}"}],"page":{"pagePath":"api/image/openai/images","slug":"/api/image/openai/images","pageMetadata":{"title":"Create an image","sidebarTitle":"Create an image","openapi":"api/openapi/image/openai/post-images.openapi.json POST /v1/images/generations","description":"Use CometAPI POST /v1/images/generations to create images with OpenAI-compatible image models and model-specific controls.","keywords":["CometAPI","openai images api","/v1/images/generations","image generation","text-to-image","gpt image models","response_format","output_format"],"href":"/api/image/openai/images"},"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: \"Use CometAPI POST /v1/images/generations to create images with OpenAI-compatible image models and model-specific controls.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use this route to create images from text with OpenAI-compatible request shapes on CometAPI.`}),`\n`,_jsx(Heading,{level:`2`,id:`official-reference`,children:`Official reference`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Read the `,_jsx(_components.a,{href:`https://developers.openai.com/api/docs/guides/image-generation`,children:`OpenAI image generation guide`}),` before you rely on model-specific controls such as `,_jsx(_components.code,{children:`background`}),`, `,_jsx(_components.code,{children:`output_compression`}),`, streaming, or future GPT image options.`]}),`\n`,_jsxs(_components.li,{children:[`Use the `,_jsx(_components.a,{href:`https://developers.openai.com/api/reference/resources/images/methods/generate`,children:`OpenAI Create image reference`}),` for the current parameter list.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`choose-a-model-first`,children:`Choose a model first`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Use a GPT image model such as `,_jsx(_components.code,{children:`gpt-image-2`}),` for text-to-image requests with controls like `,_jsx(_components.code,{children:`output_format`}),`, `,_jsx(_components.code,{children:`quality`}),`, or `,_jsx(_components.code,{children:`background`})]}),`\n`,_jsxs(_components.li,{children:[`Use `,_jsx(_components.code,{children:`gpt-image-2.5-sunburst`}),` or `,_jsx(_components.code,{children:`gpt-image-2.5-flare`}),` when you need transparent backgrounds or the `,_jsx(_components.code,{children:`xhigh`}),` and `,_jsx(_components.code,{children:`max`}),` quality levels`]}),`\n`,_jsxs(_components.li,{children:[`Use the same request shape with other image model families, such as Qwen-Image, Doubao Seedream, or Grok Imagine; start with `,_jsx(_components.code,{children:`model`}),` and `,_jsx(_components.code,{children:`prompt`})]}),`\n`,_jsxs(_components.li,{children:[`Pick a current image model ID from the `,_jsx(_components.a,{href:`/overview/models`,children:`Models page`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`safe-first-request`,children:`Safe first request`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Start with `,_jsx(_components.code,{children:`gpt-image-2`})]}),`\n`,_jsxs(_components.li,{children:[`Keep `,_jsx(_components.code,{children:`size`}),` at `,_jsx(_components.code,{children:`1024x1024`})]}),`\n`,_jsxs(_components.li,{children:[`GPT image models return base64-encoded image data in `,_jsx(_components.code,{children:`b64_json`}),`; decode it to save the image file`]}),`\n`,_jsxs(_components.li,{children:[`Add `,_jsx(_components.code,{children:`output_format`}),` only when you need a specific encoded image type such as `,_jsx(_components.code,{children:`jpeg`})]}),`\n`,_jsx(_components.li,{children:`Use one prompt and one output image before you add batch generation or style tuning`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`run-an-async-image-task`,children:`Run an async image task`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`async: true`}),` for long-running image jobs when your client prefers a submit-and-poll flow instead of holding one HTTP connection open. The create request returns `,_jsx(_components.code,{children:`data.task_id`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Poll `,_jsx(_components.a,{href:`/api/image/openai/image-generation-task`,children:`Retrieve an image generation task`}),` until `,_jsx(_components.code,{children:`data.status`}),` is `,_jsx(_components.code,{children:`success`}),` or `,_jsx(_components.code,{children:`failure`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`async`}),` field is a CometAPI extension for this route, not an OpenAI parameter. OpenAI documents `,_jsx(_components.code,{children:`stream`}),` and `,_jsx(_components.code,{children:`partial_images`}),` for GPT image models. CometAPI asynchronous task mode returns JSON task metadata and uses polling.`]}),`\n`,_jsxs(_components.p,{children:[`Use async task mode with these documented model IDs: `,_jsx(_components.code,{children:`gpt-image-2`}),` and `,_jsx(_components.code,{children:`doubao-seedream-4-0-250828`}),`. For other image models, use synchronous generation or streaming unless async task support is documented for that model.`]}),`\n`,_jsxs(_components.p,{children:[`When a request includes both `,_jsx(_components.code,{children:`async: true`}),` and `,_jsx(_components.code,{children:`stream: true`}),`, async task mode takes precedence. The create request returns JSON task metadata instead of an SSE stream.`]}),`\n`,_jsx(Heading,{level:`2`,id:`model-specific-request-behavior`,children:`Model-specific request behavior`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`response_format`}),` applies to DALL·E models only; GPT image models return base64 data and ignore it`]}),`\n`,_jsxs(_components.li,{children:[`GPT image models use GPT-only controls such as `,_jsx(_components.code,{children:`output_format`}),`, `,_jsx(_components.code,{children:`quality`}),`, `,_jsx(_components.code,{children:`background`}),`, and `,_jsx(_components.code,{children:`output_compression`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`quality`}),` accepts `,_jsx(_components.code,{children:`low`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`high`}),`, and `,_jsx(_components.code,{children:`auto`}),` on GPT image models; `,_jsx(_components.code,{children:`gpt-image-2.5-sunburst`}),` and `,_jsx(_components.code,{children:`gpt-image-2.5-flare`}),` also accept `,_jsx(_components.code,{children:`xhigh`}),` and `,_jsx(_components.code,{children:`max`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`output_compression`}),` applies when `,_jsx(_components.code,{children:`output_format`}),` is `,_jsx(_components.code,{children:`webp`}),` or `,_jsx(_components.code,{children:`jpeg`}),`; it has no effect on `,_jsx(_components.code,{children:`png`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`partial_images`}),` applies only when `,_jsx(_components.code,{children:`stream`}),` is `,_jsx(_components.code,{children:`true`})]}),`\n`,_jsx(_components.li,{children:`Follow the OpenAI image generation guide for the latest model-specific options`}),`\n`,_jsxs(_components.li,{children:[`Other image model families can return the image in `,_jsx(_components.code,{children:`url`}),` instead of `,_jsx(_components.code,{children:`b64_json`}),`; read the field that each result item contains`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`generate-a-transparent-background`,children:`Generate a transparent background`}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`background`}),` to `,_jsx(_components.code,{children:`transparent`}),` to generate an isolated subject with no background fill. This is supported on `,_jsx(_components.code,{children:`gpt-image-2.5-sunburst`}),` and `,_jsx(_components.code,{children:`gpt-image-2.5-flare`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Transparency needs an output format with an alpha channel. Set `,_jsx(_components.code,{children:`output_format`}),` to `,_jsx(_components.code,{children:`png`}),` or `,_jsx(_components.code,{children:`webp`}),`. JPEG has no alpha channel, so a transparent request with `,_jsx(_components.code,{children:`output_format: \"jpeg\"`}),` is rejected.`]}),`\n`,_jsxs(_components.p,{children:[`The response returns base64 image data in `,_jsx(_components.code,{children:`b64_json`}),` with an alpha channel. Decode it to save the file:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`20`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`20`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` base64`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` os`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` openai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAI`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`client `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OpenAI(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` base_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://api.cometapi.com/v1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` api_key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`os.environ[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"COMETAPI_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` client.images.generate(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` model`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gpt-image-2.5-sunburst\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` prompt`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"A single red apple, centered, isolated subject.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` quality`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"low\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` size`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1024x1024\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` background`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"transparent\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` output_format`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"png\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`with`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` open`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"apple.png\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"wb\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` f:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` f.write(base64.b64decode(result.data[`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`0`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`].b64_json))`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`background`}),` to `,_jsx(_components.code,{children:`opaque`}),` to force a solid background, or `,_jsx(_components.code,{children:`auto`}),` to let the model decide. The response echoes the applied value in the top-level `,_jsx(_components.code,{children:`background`}),` field.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Generated images must comply with provider usage policies. Do not send illegal, violent, pornographic, or copyright-infringing prompts.`})})]})}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":"Create an image","sidebarTitle":"Create an image","openapi":"api/openapi/image/openai/post-images.openapi.json POST /v1/images/generations","description":"Use CometAPI POST /v1/images/generations to create images with OpenAI-compatible image models and model-specific controls.","keywords":["CometAPI","openai images api","/v1/images/generations","image generation","text-to-image","gpt image models","response_format","output_format"],"href":"/api/image/openai/images"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Official reference","slug":"official-reference","depth":2,"children":[]},{"title":"Choose a model first","slug":"choose-a-model-first","depth":2,"children":[]},{"title":"Safe first request","slug":"safe-first-request","depth":2,"children":[]},{"title":"Run an async image task","slug":"run-an-async-image-task","depth":2,"children":[]},{"title":"Model-specific request behavior","slug":"model-specific-request-behavior","depth":2,"children":[]},{"title":"Generate a transparent background","slug":"generate-a-transparent-background","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/cometapi/430a303ac1007180/analytics.js"],"openApiReferenceData":{"operation":{"summary":"Create images","operationId":"images","description":"Use CometAPI POST /v1/images/generations to create images with OpenAI-compatible image models and model-specific controls.","requestBody":"929be54f-ef55-4010-a8d0-4d87408de401","responses":{"200":"09ec70ba-9b2f-43e5-8463-3213e9ae2416"},"x-codeSamples":[{"lang":"Shell","label":"Default","source":"curl https://api.cometapi.com/v1/images/generations \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\"\n }'\n"},{"lang":"Python","label":"Default","source":"import base64\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nresult = client.images.generate(\n model=\"gpt-image-2\",\n prompt=\"A paper boat floating on calm water at sunrise.\",\n quality=\"low\",\n size=\"1024x1024\",\n output_format=\"jpeg\",\n)\n\nimage_bytes = base64.b64decode(result.data[0].b64_json)\nwith open(\"boat.jpg\", \"wb\") as f:\n f.write(image_bytes)\n"},{"lang":"JavaScript","label":"Default","source":"import fs from \"node:fs\";\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst result = await client.images.generate({\n model: \"gpt-image-2\",\n prompt: \"A paper boat floating on calm water at sunrise.\",\n quality: \"low\",\n size: \"1024x1024\",\n output_format: \"jpeg\",\n});\n\nfs.writeFileSync(\"boat.jpg\", Buffer.from(result.data[0].b64_json, \"base64\"));\n"},{"lang":"Shell","label":"Transparent background","source":"curl https://api.cometapi.com/v1/images/generations \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"gpt-image-2.5-sunburst\",\n \"prompt\": \"A single red apple, centered, isolated subject.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"background\": \"transparent\",\n \"output_format\": \"png\"\n }' | jq -r '.data[0].b64_json' | base64 --decode > apple.png"},{"lang":"Python","label":"Transparent background","source":"import base64\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nresult = client.images.generate(\n model=\"gpt-image-2.5-sunburst\",\n prompt=\"A single red apple, centered, isolated subject.\",\n quality=\"low\",\n size=\"1024x1024\",\n background=\"transparent\",\n output_format=\"png\",\n)\n\nimage_bytes = base64.b64decode(result.data[0].b64_json)\nwith open(\"apple.png\", \"wb\") as f:\n f.write(image_bytes)"},{"lang":"JavaScript","label":"Transparent background","source":"import fs from \"node:fs\";\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst result = await client.images.generate({\n model: \"gpt-image-2.5-sunburst\",\n prompt: \"A single red apple, centered, isolated subject.\",\n quality: \"low\",\n size: \"1024x1024\",\n background: \"transparent\",\n output_format: \"png\",\n});\n\nfs.writeFileSync(\"apple.png\", Buffer.from(result.data[0].b64_json, \"base64\"));"},{"lang":"Shell","label":"Streaming request","source":"curl -N https://api.cometapi.com/v1/images/generations \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\",\n \"stream\": true\n }'\n"},{"lang":"Python","label":"Streaming request","source":"import json\nimport os\nimport urllib.request\n\npayload = {\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\",\n \"stream\": True,\n}\n\nrequest = urllib.request.Request(\n \"https://api.cometapi.com/v1/images/generations\",\n data=json.dumps(payload).encode(\"utf-8\"),\n headers={\n \"Authorization\": \"Bearer \" + os.environ[\"COMETAPI_KEY\"],\n \"Content-Type\": \"application/json\",\n },\n method=\"POST\",\n)\n\nwith urllib.request.urlopen(request) as response:\n for raw_line in response:\n line = raw_line.decode(\"utf-8\").strip()\n if line:\n print(line)\n"},{"lang":"JavaScript","label":"Streaming request","source":"const response = await fetch(\"https://api.cometapi.com/v1/images/generations\", {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${process.env.COMETAPI_KEY}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n model: \"gpt-image-2\",\n prompt: \"A paper boat floating on calm water at sunrise.\",\n quality: \"low\",\n size: \"1024x1024\",\n output_format: \"jpeg\",\n stream: true,\n }),\n});\n\nconst decoder = new TextDecoder();\nfor await (const chunk of response.body) {\n process.stdout.write(decoder.decode(chunk));\n}\n"},{"lang":"Shell","label":"Async request","source":"curl https://api.cometapi.com/v1/images/generations \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\",\n \"async\": true\n }'\n"},{"lang":"Python","label":"Async request","source":"import os\nimport requests\n\nresponse = requests.post(\n \"https://api.cometapi.com/v1/images/generations\",\n headers={\n \"Authorization\": \"Bearer \" + os.environ[\"COMETAPI_KEY\"],\n \"Content-Type\": \"application/json\",\n },\n json={\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\",\n \"async\": True,\n },\n)\n\nresult = response.json()\nprint(result[\"data\"][\"task_id\"])\n"},{"lang":"JavaScript","label":"Async request","source":"const response = await fetch(\"https://api.cometapi.com/v1/images/generations\", {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${process.env.COMETAPI_KEY}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n model: \"gpt-image-2\",\n prompt: \"A paper boat floating on calm water at sunrise.\",\n quality: \"low\",\n size: \"1024x1024\",\n output_format: \"jpeg\",\n async: true,\n }),\n});\n\nconst result = await response.json();\nconsole.log(result.data.task_id);\n"}],"method":"post","type":"path","servers":["8b39faed-c8e9-43ad-a681-903427108c4e"],"security":["0767444a-fada-44ec-b7c8-5d900ee3d9dd"],"path":"/v1/images/generations","baseUrlOptions":["https://api.cometapi.com"],"title":"Create images","codeSamples":[{"label":"Default","lang":"Shell","source":"curl https://api.cometapi.com/v1/images/generations \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\"\n }'\n"},{"label":"Default","lang":"Python","source":"import base64\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nresult = client.images.generate(\n model=\"gpt-image-2\",\n prompt=\"A paper boat floating on calm water at sunrise.\",\n quality=\"low\",\n size=\"1024x1024\",\n output_format=\"jpeg\",\n)\n\nimage_bytes = base64.b64decode(result.data[0].b64_json)\nwith open(\"boat.jpg\", \"wb\") as f:\n f.write(image_bytes)\n"},{"label":"Default","lang":"JavaScript","source":"import fs from \"node:fs\";\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst result = await client.images.generate({\n model: \"gpt-image-2\",\n prompt: \"A paper boat floating on calm water at sunrise.\",\n quality: \"low\",\n size: \"1024x1024\",\n output_format: \"jpeg\",\n});\n\nfs.writeFileSync(\"boat.jpg\", Buffer.from(result.data[0].b64_json, \"base64\"));\n"},{"label":"Transparent background","lang":"Shell","source":"curl https://api.cometapi.com/v1/images/generations \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"gpt-image-2.5-sunburst\",\n \"prompt\": \"A single red apple, centered, isolated subject.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"background\": \"transparent\",\n \"output_format\": \"png\"\n }' | jq -r '.data[0].b64_json' | base64 --decode > apple.png"},{"label":"Transparent background","lang":"Python","source":"import base64\nimport os\nfrom openai import OpenAI\n\nclient = OpenAI(\n base_url=\"https://api.cometapi.com/v1\",\n api_key=os.environ[\"COMETAPI_KEY\"],\n)\n\nresult = client.images.generate(\n model=\"gpt-image-2.5-sunburst\",\n prompt=\"A single red apple, centered, isolated subject.\",\n quality=\"low\",\n size=\"1024x1024\",\n background=\"transparent\",\n output_format=\"png\",\n)\n\nimage_bytes = base64.b64decode(result.data[0].b64_json)\nwith open(\"apple.png\", \"wb\") as f:\n f.write(image_bytes)"},{"label":"Transparent background","lang":"JavaScript","source":"import fs from \"node:fs\";\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n baseURL: \"https://api.cometapi.com/v1\",\n apiKey: process.env.COMETAPI_KEY,\n});\n\nconst result = await client.images.generate({\n model: \"gpt-image-2.5-sunburst\",\n prompt: \"A single red apple, centered, isolated subject.\",\n quality: \"low\",\n size: \"1024x1024\",\n background: \"transparent\",\n output_format: \"png\",\n});\n\nfs.writeFileSync(\"apple.png\", Buffer.from(result.data[0].b64_json, \"base64\"));"},{"label":"Streaming request","lang":"Shell","source":"curl -N https://api.cometapi.com/v1/images/generations \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\",\n \"stream\": true\n }'\n"},{"label":"Streaming request","lang":"Python","source":"import json\nimport os\nimport urllib.request\n\npayload = {\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\",\n \"stream\": True,\n}\n\nrequest = urllib.request.Request(\n \"https://api.cometapi.com/v1/images/generations\",\n data=json.dumps(payload).encode(\"utf-8\"),\n headers={\n \"Authorization\": \"Bearer \" + os.environ[\"COMETAPI_KEY\"],\n \"Content-Type\": \"application/json\",\n },\n method=\"POST\",\n)\n\nwith urllib.request.urlopen(request) as response:\n for raw_line in response:\n line = raw_line.decode(\"utf-8\").strip()\n if line:\n print(line)\n"},{"label":"Streaming request","lang":"JavaScript","source":"const response = await fetch(\"https://api.cometapi.com/v1/images/generations\", {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${process.env.COMETAPI_KEY}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n model: \"gpt-image-2\",\n prompt: \"A paper boat floating on calm water at sunrise.\",\n quality: \"low\",\n size: \"1024x1024\",\n output_format: \"jpeg\",\n stream: true,\n }),\n});\n\nconst decoder = new TextDecoder();\nfor await (const chunk of response.body) {\n process.stdout.write(decoder.decode(chunk));\n}\n"},{"label":"Async request","lang":"Shell","source":"curl https://api.cometapi.com/v1/images/generations \\\n -H \"Authorization: Bearer $COMETAPI_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\",\n \"async\": true\n }'\n"},{"label":"Async request","lang":"Python","source":"import os\nimport requests\n\nresponse = requests.post(\n \"https://api.cometapi.com/v1/images/generations\",\n headers={\n \"Authorization\": \"Bearer \" + os.environ[\"COMETAPI_KEY\"],\n \"Content-Type\": \"application/json\",\n },\n json={\n \"model\": \"gpt-image-2\",\n \"prompt\": \"A paper boat floating on calm water at sunrise.\",\n \"quality\": \"low\",\n \"size\": \"1024x1024\",\n \"output_format\": \"jpeg\",\n \"async\": True,\n },\n)\n\nresult = response.json()\nprint(result[\"data\"][\"task_id\"])\n"},{"label":"Async request","lang":"JavaScript","source":"const response = await fetch(\"https://api.cometapi.com/v1/images/generations\", {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${process.env.COMETAPI_KEY}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n model: \"gpt-image-2\",\n prompt: \"A paper boat floating on calm water at sunrise.\",\n quality: \"low\",\n size: \"1024x1024\",\n output_format: \"jpeg\",\n async: true,\n }),\n});\n\nconst result = await response.json();\nconsole.log(result.data.task_id);\n"}],"requiredOnlyExamples":true,"requestExampleType":"codeSamples","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.model":"gpt-image-2","body.prompt":"A paper boat floating on calm water at sunrise.","body.quality":"low","body.size":"1024x1024","body.output_format":"jpeg"},{"body.model":"gpt-image-2.5-sunburst","body.prompt":"A single red apple, centered, isolated subject.","body.quality":"low","body.background":"transparent","body.size":"1024x1024","body.output_format":"png"},{"body.model":"gpt-image-2","body.prompt":"A paper boat floating on calm water at sunrise.","body.quality":"low","body.size":"1024x1024","body.output_format":"jpeg","body.stream":true},{"body.model":"gpt-image-2","body.prompt":"A paper boat floating on calm water at sunrise.","body.quality":"low","body.size":"1024x1024","body.output_format":"jpeg","body.async":true},{"body.model":"gpt-image-1","body.prompt":"A paper boat floating on calm water at sunrise.","body.quality":"low","body.size":"1024x1024"}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["model","prompt"],"properties":{"model":{"type":"string","description":"The image generation model to use. Choose a current model from the [Models page](/overview/models).","default":"gpt-image-2","isRequired":true,"uniqueKey":"model","typeLabel":"string"},"prompt":{"type":"string","description":"Text description of the image you want to generate.","example":"A paper boat floating on calm water at sunrise.","isRequired":true,"uniqueKey":"prompt","typeLabel":"string"},"n":{"type":"integer","description":"Number of images to generate. Keep this at 1 for the broadest compatibility.","default":1,"uniqueKey":"n","typeLabel":"integer"},"quality":{"type":"string","description":"Quality setting for models that support it. GPT image models accept `low`, `medium`, `high`, and `auto`. `gpt-image-2.5-sunburst` and `gpt-image-2.5-flare` also accept `xhigh` and `max`. `dall-e-3` accepts `standard` and `hd`. See the OpenAI image generation guide for the latest model-specific values.","example":"low","uniqueKey":"quality","typeLabel":"string"},"background":{"type":"string","description":"Background mode for the generated image. Set `transparent` to generate an isolated subject with no background fill; this requires `output_format` set to `png` or `webp`, and returns an error with `jpeg`. Set `opaque` for a solid background, or `auto` to let the model decide. Supported on `gpt-image-2.5-sunburst` and `gpt-image-2.5-flare`.","enum":["transparent","opaque","auto"],"uniqueKey":"background","typeLabel":"enum\u003cstring>"},"output_compression":{"type":"integer","description":"Compression level for the output image, from 0 to 100. Applies when `output_format` is `webp` or `jpeg`. Lower values produce smaller files with more compression artifacts.","minimum":0,"maximum":100,"default":100,"uniqueKey":"output_compression","typeLabel":"integer"},"moderation":{"type":"string","description":"Content moderation level for GPT image models. `low` is less restrictive; `auto` is the default.","enum":["low","auto"],"default":"auto","uniqueKey":"moderation","typeLabel":"enum\u003cstring>"},"partial_images":{"type":"integer","description":"Number of partial images to emit while a streaming response is in progress, from 0 to 3. Each partial image arrives as an `image_generation.partial_image` event before the final `image_generation.completed` event. Applies when `stream` is `true`.","minimum":0,"maximum":3,"uniqueKey":"partial_images","typeLabel":"integer"},"size":{"type":"string","description":"Requested output size. Supported values depend on the selected model. See the OpenAI image generation guide for the latest model-specific ranges.","example":"1024x1024","uniqueKey":"size","typeLabel":"string"},"response_format":{"type":"string","description":"The response container for `dall-e-2` and `dall-e-3`. This parameter is not supported for GPT image models, which return base64-encoded image data.","enum":["url","b64_json"],"uniqueKey":"response_format","typeLabel":"enum\u003cstring>"},"output_format":{"type":"string","description":"The encoded image type for GPT image model results, such as `png`, `jpeg`, or `webp`. See the OpenAI image generation guide for current GPT image output controls.","example":"jpeg","uniqueKey":"output_format","typeLabel":"string"},"stream":{"type":"boolean","description":"Set this to `true` to receive server-sent image generation events instead of waiting for the completed JSON response. Streaming responses use `text/event-stream` and can include final events such as `image_generation.completed`. When `stream` and `async` are both `true`, async task mode takes precedence and the create request returns JSON instead of a streaming image response.","default":false,"uniqueKey":"stream","typeLabel":"boolean"},"async":{"type":"boolean","description":"CometAPI asynchronous task mode. Set this to `true` to return immediately with `data.task_id`, then poll `GET /v1/images/generations/{task_id}` for the final image data. Documented model IDs for this mode: `gpt-image-2` and `doubao-seedream-4-0-250828`. This is a CometAPI extension, not an OpenAI parameter. When `async` and `stream` are both `true`, async takes precedence and returns JSON task metadata instead of an SSE stream.","default":false,"uniqueKey":"async","typeLabel":"boolean"}},"default":{"model":"gpt-image-2","prompt":"A paper boat floating on calm water at sunrise.","n":1,"size":"1024x1024","output_format":"jpeg"},"uniqueKey":"","typeLabel":"object"},"examples":{"gpt_image":{"title":"gpt_image","value":{"model":"gpt-image-2","prompt":"A paper boat floating on calm water at sunrise.","quality":"low","size":"1024x1024","output_format":"jpeg"}},"transparent_background":{"title":"transparent_background","value":{"model":"gpt-image-2.5-sunburst","prompt":"A single red apple, centered, isolated subject.","quality":"low","size":"1024x1024","background":"transparent","output_format":"png"}},"streaming_image":{"title":"streaming_image","value":{"model":"gpt-image-2","prompt":"A paper boat floating on calm water at sunrise.","quality":"low","size":"1024x1024","output_format":"jpeg","stream":true}},"async_image":{"title":"async_image","value":{"model":"gpt-image-2","prompt":"A paper boat floating on calm water at sunrise.","quality":"low","size":"1024x1024","output_format":"jpeg","async":true}},"gpt_image_1":{"title":"gpt_image_1","value":{"model":"gpt-image-1","prompt":"A paper boat floating on calm water at sunrise.","quality":"low","size":"1024x1024"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"09ec70ba-9b2f-43e5-8463-3213e9ae2416":{"description":"Image generation result. Synchronous requests return completed image data. Async requests return a task response with `data.task_id`.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"Completed image response","required":["created","data"],"properties":{"created":{"type":"integer","description":"Unix timestamp for the completed generation.","isRequired":true,"uniqueKey":"oneOf.0.created","typeLabel":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","description":"Temporary image URL when the selected model supports URL output.","uniqueKey":"oneOf.0.data.items.[INDEX].url","typeLabel":"string"},"b64_json":{"type":"string","description":"Base64-encoded image payload for models that return inline content.","uniqueKey":"oneOf.0.data.items.[INDEX].b64_json","typeLabel":"string"},"revised_prompt":{"type":"string","description":"Provider-rewritten prompt, when available.","uniqueKey":"oneOf.0.data.items.[INDEX].revised_prompt","typeLabel":"string"}},"uniqueKey":"oneOf.0.data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.0.data","typeLabel":"object[]"},"background":{"type":"string","description":"Background mode returned by models that expose it.","uniqueKey":"oneOf.0.background","typeLabel":"string"},"output_format":{"type":"string","description":"Encoded image type returned by GPT image models.","uniqueKey":"oneOf.0.output_format","typeLabel":"string"},"quality":{"type":"string","description":"Quality level returned by models that expose it.","uniqueKey":"oneOf.0.quality","typeLabel":"string"},"size":{"type":"string","description":"Output size returned by models that expose it.","uniqueKey":"oneOf.0.size","typeLabel":"string"},"usage":{"type":"object","description":"Token usage details when returned by the selected model.","properties":{"input_tokens":{"type":"integer","uniqueKey":"oneOf.0.usage.input_tokens","typeLabel":"integer"},"output_tokens":{"type":"integer","uniqueKey":"oneOf.0.usage.output_tokens","typeLabel":"integer"},"total_tokens":{"type":"integer","uniqueKey":"oneOf.0.usage.total_tokens","typeLabel":"integer"},"input_tokens_details":{"type":"object","properties":{"image_tokens":{"type":"integer","uniqueKey":"oneOf.0.usage.input_tokens_details.image_tokens","typeLabel":"integer"},"text_tokens":{"type":"integer","uniqueKey":"oneOf.0.usage.input_tokens_details.text_tokens","typeLabel":"integer"}},"uniqueKey":"oneOf.0.usage.input_tokens_details","typeLabel":"object"},"output_tokens_details":{"type":"object","properties":{"image_tokens":{"type":"integer","uniqueKey":"oneOf.0.usage.output_tokens_details.image_tokens","typeLabel":"integer"},"text_tokens":{"type":"integer","uniqueKey":"oneOf.0.usage.output_tokens_details.text_tokens","typeLabel":"integer"}},"uniqueKey":"oneOf.0.usage.output_tokens_details","typeLabel":"object"}},"uniqueKey":"oneOf.0.usage","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"Completed image response · object"},{"type":"object","title":"Async task response","required":["code","data"],"example":{"code":"success","message":"","data":{"task_id":"\u003ctask_id>","status":"pending","data":[]}},"properties":{"code":{"type":"string","description":"Request status code. A successful async submit returns `success`.","example":"success","isRequired":true,"uniqueKey":"oneOf.1.code","typeLabel":"string"},"data":{"type":"object","required":["task_id","status","data"],"properties":{"task_id":{"type":"string","description":"Task ID to pass to `GET /v1/images/generations/{task_id}`.","isRequired":true,"uniqueKey":"oneOf.1.data.task_id","typeLabel":"string"},"status":{"type":"string","description":"Task state for the submitted image generation job.","enum":["pending","success","failure"],"isRequired":true,"uniqueKey":"oneOf.1.data.status","typeLabel":"enum\u003cstring>"},"data":{"type":"array","description":"Empty at submit time. Poll the task endpoint to receive final image data.","items":{"type":"object","uniqueKey":"oneOf.1.data.data.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"oneOf.1.data.data","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"oneOf.1.data","typeLabel":"object"},"message":{"type":"string","description":"Optional status message.","uniqueKey":"oneOf.1.message","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"Async task response · object"}],"uniqueKey":"","typeLabel":"Completed image response · object | Async task response · object"},"example":{"created":1781075000,"background":"opaque","output_format":"jpeg","quality":"low","size":"1024x1024","usage":{"input_tokens":13,"input_tokens_details":{"image_tokens":0,"text_tokens":13},"output_tokens":196,"output_tokens_details":{"image_tokens":196,"text_tokens":0},"total_tokens":209},"data":[{"b64_json":"/9j/4AAQSkZJRgABAQAAAQABAAD..."}]},"examples":{"Example":{"title":"Example","value":{"created":1781075000,"background":"opaque","output_format":"jpeg","quality":"low","size":"1024x1024","usage":{"input_tokens":13,"input_tokens_details":{"image_tokens":0,"text_tokens":13},"output_tokens":196,"output_tokens_details":{"image_tokens":196,"text_tokens":0},"total_tokens":209},"data":[{"b64_json":"/9j/4AAQSkZJRgABAQAAAQABAAD..."}]}}},"exampleType":"examples"},"text/event-stream":{"schema":{"type":"string","description":"Server-sent events returned when `stream` is `true`. Events can include image generation progress and final image data.","uniqueKey":"","typeLabel":"string"},"example":"event: image_generation.completed\ndata: {\"created_at\":1783305600,\"type\":\"image_generation.completed\",\"b64_json\":\"\u003cbase64-image-data>\"}\n\n","examples":{"Example":{"title":"Example","value":"event: image_generation.completed\ndata: {\"created_at\":1783305600,\"type\":\"image_generation.completed\",\"b64_json\":\"\u003cbase64-image-data>\"}\n\n"}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"0767444a-fada-44ec-b7c8-5d900ee3d9dd":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Bearer token authentication. Use your CometAPI key.","scopes":[]}}},"servers":{"8b39faed-c8e9-43ad-a681-903427108c4e":{"url":"https://api.cometapi.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Bearer token authentication. Use your CometAPI key.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer token authentication. Use your CometAPI key.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api/openapi/image/openai/post-images.openapi.json"},"subdomain":"cometapi","siteName":"CometAPI Documentation","title":"Create an image - CometAPI Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api/image/openai/images","matchLevel":0},"zh-Hans":{"href":"/zh-Hans/api/image/openai/images","matchLevel":1,"noindex":true},"zh-Hant":{"href":"/zh-Hant/api/image/openai/images","matchLevel":1,"noindex":true},"ja":{"href":"/ja/api/image/openai/images","matchLevel":1,"noindex":true},"ko":{"href":"/ko/api/image/openai/images","matchLevel":1,"noindex":true},"fr":{"href":"/fr/api/image/openai/images","matchLevel":1,"noindex":true},"de":{"href":"/de/api/image/openai/images","matchLevel":1,"noindex":true},"es":{"href":"/es/api/image/openai/images","matchLevel":1,"noindex":true},"it":{"href":"/it/api/image/openai/images","matchLevel":1,"noindex":true},"pt":{"href":"/pt/api/image/openai/images","matchLevel":1,"noindex":true},"ru":{"href":"/ru/api/image/openai/images","matchLevel":1,"noindex":true},"ar":{"href":"/ar/api/image/openai/images","matchLevel":1,"noindex":true},"vi":{"href":"/vi/api/image/openai/images","matchLevel":1,"noindex":true},"id":{"href":"/id/api/image/openai/images","matchLevel":1,"noindex":true},"tr":{"href":"/tr/api/image/openai/images","matchLevel":1,"noindex":true},"pl":{"href":"/pl/api/image/openai/images","matchLevel":1,"noindex":true},"nl":{"href":"/nl/api/image/openai/images","matchLevel":1,"noindex":true},"no":{"href":"/no/api/image/openai/images","matchLevel":1,"noindex":true},"uk":{"href":"/uk/api/image/openai/images","matchLevel":1,"noindex":true}}},"lastModified":"2026-10-29T06:48:56.104Z","gitLastModified":"2026-10-29T06:41:10.000Z","originalFileLocation":"api/image/openai/images.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=\"Use CometAPI POST /v1/images/generations to create images with OpenAI-compatible image models and model-specific controls.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CometAPI Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_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/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cometapi/Jhcr00uAqm6Ci9Vs/_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/cometapi/Jhcr00uAqm6Ci9Vs/_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/cometapi/Jhcr00uAqm6Ci9Vs/_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/cometapi/Jhcr00uAqm6Ci9Vs/_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/cometapi/Jhcr00uAqm6Ci9Vs/_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/cometapi/Jhcr00uAqm6Ci9Vs/_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/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create an image - CometAPI Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Use CometAPI POST /v1/images/generations to create images with OpenAI-compatible image models and model-specific controls.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CometAPI Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://apidoc.cometapi.com/api/image/openai/images\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cometapi.mintlify.site/_mintlify/api/og/v2?division=OpenAI\u0026amp;title=Create+an+image\u0026amp;description=Use+CometAPI+POST+%2Fv1%2Fimages%2Fgenerations+to+create+images+with+OpenAI-compatible+image+models+and+model-specific+controls.\u0026amp;theme=d910b0d04a2d93f2b29ac00c\u0026amp;signature=f6428f93d03b19f33fcb4541b14c4ac9ce01f3c534220080600ed4f017ba0258\">\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=\"Create an image - CometAPI Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Use CometAPI POST /v1/images/generations to create images with OpenAI-compatible image models and model-specific controls.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cometapi.mintlify.site/_mintlify/api/og/v2?division=OpenAI\u0026amp;title=Create+an+image\u0026amp;description=Use+CometAPI+POST+%2Fv1%2Fimages%2Fgenerations+to+create+images+with+OpenAI-compatible+image+models+and+model-specific+controls.\u0026amp;theme=d910b0d04a2d93f2b29ac00c\u0026amp;signature=f6428f93d03b19f33fcb4541b14c4ac9ce01f3c534220080600ed4f017ba0258\">\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/cometapi/Jhcr00uAqm6Ci9Vs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CometAPI Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00ACE2\">\u003cmeta data-mint-head name=\"author\" content=\"CometAPI\">\u003cmeta data-mint-head name=\"copyright\" content=\"Copyright 2026 CometAPI\">\u003cmeta data-mint-head name=\"category\" content=\"Technology\">\u003cmeta data-mint-head name=\"distribution\" content=\"global\">\u003cmeta data-mint-head name=\"coverage\" content=\"Worldwide\">\u003clink data-mint-head rel=\"canonical\" href=\"https://apidoc.cometapi.com/api/image/openai/images\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api/image/openai/images.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://apidoc.cometapi.com/#organization\",\"name\":\"CometAPI Documentation\",\"url\":\"https://apidoc.cometapi.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cometapi/cmhWX83dzrkf2F-2/logo/comet-light.svg?fit=max\u0026auto=format\u0026n=cmhWX83dzrkf2F-2\u0026q=85\u0026s=7ae2fde0df7785d111912bce23157ef2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://apidoc.cometapi.com#website\",\"name\":\"CometAPI Documentation\",\"url\":\"https://apidoc.cometapi.com\",\"publisher\":{\"@id\":\"https://apidoc.cometapi.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://apidoc.cometapi.com/api/image/openai/images#webpage\",\"url\":\"https://apidoc.cometapi.com/api/image/openai/images\",\"name\":\"Create an image\",\"description\":\"Use CometAPI POST /v1/images/generations to create images with OpenAI-compatible image models and model-specific controls.\",\"dateModified\":\"2026-10-29T06:41:10.000Z\",\"isPartOf\":{\"@id\":\"https://apidoc.cometapi.com#website\"},\"breadcrumb\":{\"@id\":\"https://apidoc.cometapi.com/api/image/openai/images#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://apidoc.cometapi.com/api/image/openai/images#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Image Models\",\"item\":\"https://apidoc.cometapi.com/api/image/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create an image\",\"item\":\"https://apidoc.cometapi.com/api/image/openai/images\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://apidoc.cometapi.com/api/image/openai/images#apireference\",\"headline\":\"Create an image\",\"name\":\"Create an image\",\"description\":\"Use CometAPI POST /v1/images/generations to create images with OpenAI-compatible image models and model-specific controls.\",\"url\":\"https://apidoc.cometapi.com/api/image/openai/images\",\"mainEntityOfPage\":{\"@id\":\"https://apidoc.cometapi.com/api/image/openai/images#webpage\"},\"dateModified\":\"2026-10-29T06:41:10.000Z\",\"keywords\":\"CometAPI, openai images api, /v1/images/generations, image generation, text-to-image, gpt image models, response_format, output_format\",\"publisher\":{\"@id\":\"https://apidoc.cometapi.com/#organization\"},\"isPartOf\":{\"@id\":\"https://apidoc.cometapi.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CometAPI Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CometAPI Documentation","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Docs","pages":[{"title":"Docs","href":""}]},{"tab":"API","groups":[{"group":"Text Models","icon":"message","root":{"title":"Text and chat APIs","sidebarTitle":"Text and chat APIs","href":"/api/text"},"expanded":false,"pages":[{"title":"Create a chat completion","sidebarTitle":"Create a chat completion","openapi":"api/openapi/text/post-chat.openapi.json POST /v1/chat/completions","href":"/api/text/chat"},{"title":"Create a model response","sidebarTitle":"Create a model response","openapi":"api/openapi/text/post-responses.openapi.json POST /v1/responses","href":"/api/text/responses"},{"title":"Create a Message","sidebarTitle":"Create a Message","openapi":"api/openapi/text/post-anthropic-messages.openapi.json POST /v1/messages","href":"/api/text/anthropic-messages"},{"title":"Generate content","sidebarTitle":"Generate content","openapi":"api/openapi/text/post-gemini-generating-content.openapi.json POST /v1beta/models/{model}:{operator}","href":"/api/text/gemini-generating-content"}]},{"group":"Image Models","icon":"image","root":{"title":"Image generation and editing APIs","sidebarTitle":"Image Models","description":"Choose CometAPI image routes for OpenAI-compatible generation and edits, Gemini and Nano Banana, Midjourney, Flux, Bria, Replicate, and Seedream or SeedEdit workflows.","href":"/api/image/index"},"expanded":false,"pages":[{"group":"OpenAI","pages":[{"title":"Create an image","sidebarTitle":"Create an image","openapi":"api/openapi/image/openai/post-images.openapi.json POST /v1/images/generations","href":"/api/image/openai/images"},{"title":"Retrieve an image generation task","sidebarTitle":"Retrieve image task","openapi":"api/openapi/image/openai/get-image-generation-task.openapi.json GET /v1/images/generations/{task_id}","description":"Use CometAPI GET /v1/images/generations/{task_id} to poll an async OpenAI-compatible image generation task and retrieve final image data.","href":"/api/image/openai/image-generation-task"},{"title":"Create image edit","sidebarTitle":"Create image edit","openapi":"api/openapi/image/openai/post-image-editing.openapi.json POST /v1/images/edits","href":"/api/image/openai/image-editing"}]},{"group":"Gemini","pages":[{"title":"Generate images with Gemini","sidebarTitle":"Generate images with Gemini","openapi":"api/openapi/image/gemini/post-gemini-generates-image.openapi.json POST /v1beta/models/{model}:generateContent","href":"/api/image/gemini/gemini-generates-image"},{"title":"Use Gemini image models","sidebarTitle":"Use Gemini image models","href":"/api/image/gemini/generate-image-guide"}]},{"group":"Grok","pages":[{"title":"Generate images with Grok","sidebarTitle":"Generate images","openapi":"api/openapi/image/grok/post-image-generation.openapi.json POST /v1/images/generations","href":"/api/image/grok/image-generation"},{"title":"Edit images with Grok","sidebarTitle":"Edit images","openapi":"api/openapi/image/grok/post-image-editing.openapi.json POST /v1/images/edits","href":"/api/image/grok/image-editing"}]},{"group":"Kling","pages":[{"title":"Generate images with Kling","sidebarTitle":"Generate images with Kling","openapi":"api/openapi/image/kling/post-image-generation.openapi.json POST /kling/v1/images/generations","href":"/api/image/kling/image-generation"},{"title":"Generate a Kling image from multiple images","sidebarTitle":"Generate a Kling image from multiple images","openapi":"api/openapi/image/kling/post-multi-image-to-image.openapi.json POST /kling/v1/images/multi-image2image","href":"/api/image/kling/multi-image-to-image"},{"title":"Expand an image with Kling","sidebarTitle":"Expand an image with Kling","openapi":"api/openapi/image/kling/post-image-expansion.openapi.json POST /kling/v1/images/editing/expand","href":"/api/image/kling/image-expansion"},{"title":"Create a Kling Omni image task","sidebarTitle":"Create a Kling Omni image task","openapi":"api/openapi/image/kling/post-omni-image.openapi.json POST /kling/v1/images/omni-image","href":"/api/image/kling/omni-image"},{"title":"Get a Kling Omni image task","sidebarTitle":"Get a Kling Omni image task","openapi":"api/openapi/image/kling/get-omni-image.openapi.json GET /kling/v1/images/omni-image/{task_id}","href":"/api/image/kling/omni-image-query"}]},{"group":"Midjourney","pages":[{"title":"Start with Midjourney API","sidebarTitle":"Start with Midjourney API","href":"/api/image/midjourney/midjourney-api-quick-start"},{"group":"Task fetching","pages":[{"title":"List Midjourney tasks","sidebarTitle":"List Midjourney tasks","openapi":"api/openapi/image/midjourney/task-fetching-api/post-list-by-condition.openapi.json POST /mj/task/list-by-condition","href":"/api/image/midjourney/task-fetching-api/list-by-condition"},{"title":"Fetch a Midjourney task","sidebarTitle":"Fetch a Midjourney task","openapi":"api/openapi/image/midjourney/task-fetching-api/get-fetch-single-task.openapi.json GET /mj/task/{id}/fetch","href":"/api/image/midjourney/task-fetching-api/fetch-single-task"}]},{"title":"Create a Midjourney imagine task","sidebarTitle":"Create a Midjourney imagine task","openapi":"api/openapi/image/midjourney/post-imagine.openapi.json POST /mj/submit/imagine","href":"/api/image/midjourney/imagine"},{"title":"Create a Midjourney video task","sidebarTitle":"Create a Midjourney video task","openapi":"api/openapi/image/midjourney/post-submit-video.openapi.json POST /mj/submit/video","href":"/api/image/midjourney/submit-video"},{"title":"Create a Midjourney editor task","sidebarTitle":"Create a Midjourney editor task","openapi":"api/openapi/image/midjourney/post-submit-editor.openapi.json POST /mj/submit/edits","href":"/api/image/midjourney/submit-editor"},{"title":"Create a Midjourney action task","sidebarTitle":"Create a Midjourney action task","openapi":"api/openapi/image/midjourney/post-action.openapi.json POST /mj/submit/action","href":"/api/image/midjourney/action"},{"title":"Create a Midjourney blend task","sidebarTitle":"Create a Midjourney blend task","openapi":"api/openapi/image/midjourney/post-blend.openapi.json POST /mj/submit/blend","href":"/api/image/midjourney/blend"},{"title":"Describe an image with Midjourney","sidebarTitle":"Describe an image with Midjourney","openapi":"api/openapi/image/midjourney/post-describe.openapi.json POST /mj/submit/describe","href":"/api/image/midjourney/describe"},{"title":"Create a Midjourney modal task","sidebarTitle":"Create a Midjourney modal task","openapi":"api/openapi/image/midjourney/post-modal.openapi.json POST /mj/submit/modal","href":"/api/image/midjourney/modal"}]},{"group":"Replicate","pages":[{"title":"Create a Replicate prediction","sidebarTitle":"Create a Replicate prediction","openapi":"api/openapi/image/replicate/post-create-predictions-general.openapi.json POST /replicate/v1/models/{models}/predictions","href":"/api/image/replicate/create-predictions-general"},{"title":"Get a Replicate prediction","sidebarTitle":"Get a Replicate prediction","openapi":"api/openapi/image/replicate/get-replicate-query.openapi.json GET /replicate/v1/predictions/{id}","href":"/api/image/replicate/replicate-query"}]},{"group":"Seedream","pages":[{"title":"Create a Seedream image task","sidebarTitle":"Create image task","openapi":"api/openapi/image/seededit-seedream/post-bytedance-image-generation.openapi.json POST /v1/images/generations","href":"/api/image/seededit-seedream/bytedance-image-generation"},{"title":"Retrieve a Seedream image task","sidebarTitle":"Retrieve image task","openapi":"api/openapi/image/seededit-seedream/get-bytedance-image-generation-task.openapi.json GET /v1/images/generations/{task_id}","href":"/api/image/seededit-seedream/bytedance-image-generation-task"}]},{"group":"Flux","pages":[{"title":"Generate a FLUX image","sidebarTitle":"Generate a FLUX image","openapi":"api/openapi/image/flux/post-flux-generate-image.openapi.json POST /flux/v1/{model}","href":"/api/image/flux/flux-generate-image"},{"title":"Get a FLUX image result","sidebarTitle":"Get a FLUX image result","openapi":"api/openapi/image/flux/get-flux-query.openapi.json GET /flux/v1/get_result","href":"/api/image/flux/flux-query"}]}]},{"group":"Video Models","icon":"video","root":{"title":"Video generation APIs","sidebarTitle":"Video Models","href":"/api/video/index"},"expanded":false,"pages":[{"group":"Seedance","pages":[{"title":"Create a Seedance video","sidebarTitle":"Create a Seedance video","openapi":"api/openapi/video/seedance/post-seedance-create.openapi.json POST /v1/videos","href":"/api/video/seedance/create"},{"title":"Retrieve a Seedance video","sidebarTitle":"Retrieve a Seedance video","openapi":"api/openapi/video/seedance/get-seedance-query.openapi.json GET /v1/videos/{id}","href":"/api/video/seedance/query"}]},{"group":"HappyHorse","pages":[{"title":"Create a HappyHorse video","sidebarTitle":"Create a HappyHorse video","openapi":"api/openapi/video/happyhorse/post-create.openapi.json POST /v1/videos","href":"/api/video/happyhorse/create"},{"title":"Retrieve a HappyHorse video","sidebarTitle":"Retrieve a HappyHorse video","openapi":"api/openapi/video/happyhorse/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/happyhorse/retrieve"},{"title":"Download HappyHorse video content","sidebarTitle":"Download HappyHorse video content","openapi":"api/openapi/video/happyhorse/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/happyhorse/retrieve-content"}]},{"group":"MiniMax H3","pages":[{"title":"Create a MiniMax H3 video","sidebarTitle":"Create a MiniMax H3 video","openapi":"api/openapi/video/minimax-h3/post-create.openapi.json POST /v1/videos","href":"/api/video/minimax-h3/create"},{"title":"Retrieve a MiniMax H3 video","sidebarTitle":"Retrieve a MiniMax H3 video","openapi":"api/openapi/video/minimax-h3/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/minimax-h3/retrieve"},{"title":"Download MiniMax H3 video content","sidebarTitle":"Download MiniMax H3 video content","openapi":"api/openapi/video/minimax-h3/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/minimax-h3/retrieve-content"}]},{"group":"Flux 3","pages":[{"title":"Create a Flux 3 video","sidebarTitle":"Create a Flux 3 video","openapi":"api/openapi/video/flux-3/post-create.openapi.json POST /v1/videos","href":"/api/video/flux-3/create"},{"title":"Retrieve a Flux 3 video","sidebarTitle":"Retrieve a Flux 3 video","openapi":"api/openapi/video/flux-3/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/flux-3/retrieve"},{"title":"Download Flux 3 video content","sidebarTitle":"Download Flux 3 video content","openapi":"api/openapi/video/flux-3/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/flux-3/retrieve-content"}]},{"group":"Veo 3","pages":[{"title":"Create a Veo 3 video","sidebarTitle":"Create a Veo 3 video","openapi":"api/openapi/video/veo3/post-create.openapi.json POST /v1/videos","href":"/api/video/veo3/create"},{"title":"Retrieve a Veo 3 video","sidebarTitle":"Retrieve a Veo 3 video","openapi":"api/openapi/video/veo3/get-retrieve.openapi.json GET /v1/videos/{video_id}","href":"/api/video/veo3/retrieve"}]},{"group":"Wan","pages":[{"title":"Create a Wan video","sidebarTitle":"Create a Wan video","openapi":"api/openapi/video/wan/post-create.openapi.json POST /v1/videos","href":"/api/video/wan/create"},{"title":"Retrieve a Wan video","sidebarTitle":"Retrieve a Wan video","openapi":"api/openapi/video/wan/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/wan/retrieve"},{"title":"Download Wan video content","sidebarTitle":"Download Wan video content","openapi":"api/openapi/video/wan/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/wan/retrieve-content"}]},{"group":"xAI","pages":[{"title":"Create a video with Grok","sidebarTitle":"Create a Grok video","openapi":"api/openapi/video/xai/post-video-generation.openapi.json POST /grok/v1/videos/generations","href":"/api/video/xai/video-generation"},{"title":"Create an xAI video edit","sidebarTitle":"Create an xAI video edit","openapi":"api/openapi/video/xai/post-video-edit.openapi.json POST /grok/v1/videos/edits","href":"/api/video/xai/video-edit"},{"title":"Get xAI video results","sidebarTitle":"Get xAI video results","openapi":"api/openapi/video/xai/get-get-video-generation-results.openapi.json GET /grok/v1/videos/{request_id}","href":"/api/video/xai/get-video-generation-results"}]},{"group":"Vidu","pages":[{"title":"Create a Vidu video","sidebarTitle":"Create a Vidu video","openapi":"api/openapi/video/vidu/post-create.openapi.json POST /v1/videos","href":"/api/video/vidu/create"},{"title":"Retrieve a Vidu video","sidebarTitle":"Retrieve a Vidu video","openapi":"api/openapi/video/vidu/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/vidu/retrieve"},{"title":"Download Vidu video content","sidebarTitle":"Download Vidu video content","openapi":"api/openapi/video/vidu/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/vidu/retrieve-content"}]},{"group":"Omni","tag":"Beta","pages":[{"title":"Create an Omni video from text, image, or video","sidebarTitle":"Create an Omni video","openapi":"api/openapi/video/omni/post-create.openapi.json POST /v1/videos","href":"/api/video/omni/create"},{"title":"Retrieve an Omni video","sidebarTitle":"Retrieve an Omni video","openapi":"api/openapi/video/omni/get-retrieve.openapi.json GET /v1/videos/{task_id}","href":"/api/video/omni/retrieve"},{"title":"Download Omni video content","sidebarTitle":"Download Omni video content","openapi":"api/openapi/video/omni/get-retrieve-content.openapi.json GET /v1/videos/{task_id}/content","href":"/api/video/omni/retrieve-content"}]},{"group":"Kling","pages":[{"group":"Multimodal video editing","pages":[{"title":"Initialize a Kling editing session","sidebarTitle":"Initialize a Kling editing session","openapi":"api/openapi/video/kling/multimodal-video-editing/post-initialize-video-for-editing.openapi.json POST /kling/v1/videos/multi-elements/init-selection","href":"/api/video/kling/multimodal-video-editing/initialize-video-for-editing"},{"title":"Add Kling video selection","sidebarTitle":"Add Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-add-video-selection.openapi.json POST /kling/v1/videos/multi-elements/add-selection","href":"/api/video/kling/multimodal-video-editing/add-video-selection"},{"title":"Delete Kling video selection","sidebarTitle":"Delete Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-delete-video-selection.openapi.json POST /kling/v1/videos/multi-elements/delete-selection","href":"/api/video/kling/multimodal-video-editing/delete-video-selection"},{"title":"Clear Kling video selection","sidebarTitle":"Clear Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-clear-video-selection.openapi.json POST /kling/v1/videos/multi-elements/clear-selection","href":"/api/video/kling/multimodal-video-editing/clear-video-selection"},{"title":"Preview Kling video selection","sidebarTitle":"Preview Kling video selection","openapi":"api/openapi/video/kling/multimodal-video-editing/post-preview-selected-video-area.openapi.json POST /kling/v1/videos/multi-elements/preview-selection","href":"/api/video/kling/multimodal-video-editing/preview-selected-video-area"},{"title":"Create a Kling multimodal edit task","sidebarTitle":"Create a Kling multimodal edit task","openapi":"api/openapi/video/kling/multimodal-video-editing/post-create-task.openapi.json POST /kling/v1/videos/multi-elements","href":"/api/video/kling/multimodal-video-editing/create-task"}]},{"group":"Model routes","pages":[{"title":"Create a Kling text-to-video task by model","sidebarTitle":"Text to video","openapi":"api/openapi/video/kling/model-routes/post-text-to-video.openapi.json POST /text-to-video/{model}","href":"/api/video/kling/model-routes/text-to-video"},{"title":"Create a Kling image-to-video task by model","sidebarTitle":"Image to video","openapi":"api/openapi/video/kling/model-routes/post-image-to-video.openapi.json POST /image-to-video/{model}","href":"/api/video/kling/model-routes/image-to-video"},{"title":"Create a Kling Omni video","sidebarTitle":"Omni video","openapi":"api/openapi/video/kling/model-routes/post-omni-video.openapi.json POST /omni-video/{model}","href":"/api/video/kling/model-routes/omni-video"},{"title":"Create a Kling motion-control video","sidebarTitle":"Motion control","openapi":"api/openapi/video/kling/model-routes/post-motion-control.openapi.json POST /motion-control/{model}","href":"/api/video/kling/model-routes/motion-control"},{"title":"Get a Kling model-route task","sidebarTitle":"Get a Kling task","openapi":"api/openapi/video/kling/model-routes/get-tasks.openapi.json GET /tasks","href":"/api/video/kling/model-routes/tasks"}]},{"title":"Create a Kling text-to-video task","sidebarTitle":"Create a Kling text-to-video task","openapi":"api/openapi/video/kling/post-text-to-video.openapi.json POST /kling/v1/videos/text2video","href":"/api/video/kling/text-to-video"},{"title":"Create a Kling image-to-video task","sidebarTitle":"Create a Kling image-to-video task","openapi":"api/openapi/video/kling/post-image-to-video.openapi.json POST /kling/v1/videos/image2video","href":"/api/video/kling/image-to-video"},{"title":"Create a Kling Motion Control task","sidebarTitle":"Create a Kling Motion Control task","openapi":"api/openapi/video/kling/post-motion-control.openapi.json POST /kling/v1/videos/motion-control","href":"/api/video/kling/motion-control"},{"title":"Create a Kling multi-image video task","sidebarTitle":"Create a Kling multi-image video task","openapi":"api/openapi/video/kling/post-multi-image-to-video.openapi.json POST /kling/v1/videos/multi-image2video","href":"/api/video/kling/multi-image-to-video"},{"title":"Extend a Kling video","sidebarTitle":"Extend a Kling video","openapi":"api/openapi/video/kling/post-video-extension.openapi.json POST /kling/v1/videos/video-extend","href":"/api/video/kling/video-extension"},{"title":"Create Kling speech","sidebarTitle":"Create Kling speech","openapi":"api/openapi/video/kling/post-tts.openapi.json POST /kling/v1/audio/tts","href":"/api/video/kling/tts"},{"title":"Create a Kling avatar video","sidebarTitle":"Create a Kling avatar video","openapi":"api/openapi/video/kling/post-avatar.openapi.json POST /kling/v1/videos/avatar/image2video","href":"/api/video/kling/avatar"},{"title":"Identify faces for Kling lip-sync","sidebarTitle":"Identify faces for Kling lip-sync","openapi":"api/openapi/video/kling/post-lip-sync.openapi.json POST /kling/v1/videos/identify-face","href":"/api/video/kling/lip-sync"},{"title":"Create a Kling advanced lip-sync task","sidebarTitle":"Create a Kling advanced lip-sync task","openapi":"api/openapi/video/kling/post-counterpart-creating-tasks.openapi.json POST /kling/v1/videos/advanced-lip-sync","href":"/api/video/kling/counterpart-creating-tasks"},{"title":"Apply Kling video effects","sidebarTitle":"Apply Kling video effects","openapi":"api/openapi/video/kling/post-video-effects.openapi.json POST /kling/v1/videos/effects","href":"/api/video/kling/video-effects"},{"title":"Create Kling text-to-audio","sidebarTitle":"Create Kling text-to-audio","openapi":"api/openapi/video/kling/post-text-to-audio.openapi.json POST /kling/v1/audio/text-to-audio","href":"/api/video/kling/text-to-audio"},{"title":"Create Kling video-to-audio","sidebarTitle":"Create Kling video-to-audio","openapi":"api/openapi/video/kling/post-video-to-audio.openapi.json POST /kling/v1/audio/video-to-audio","href":"/api/video/kling/video-to-audio"},{"title":"Recognize images with Kling","sidebarTitle":"Recognize images with Kling","openapi":"api/openapi/video/kling/post-image-recognize.openapi.json POST /kling/v1/videos/image-recognize","href":"/api/video/kling/image-recognize"},{"title":"Get a Kling task","sidebarTitle":"Get a Kling task","openapi":"api/openapi/video/kling/get-individual-queries.openapi.json GET /kling/v1/{action}/{action2}/{task_id}","href":"/api/video/kling/individual-queries"},{"title":"Create a Kling Omni video","sidebarTitle":"Create a Kling Omni video","openapi":"api/openapi/video/kling/post-omni-video.openapi.json POST /kling/v1/videos/omni-video","href":"/api/video/kling/omni-video"},{"title":"Get a Kling Omni video","sidebarTitle":"Get a Kling Omni video","openapi":"api/openapi/video/kling/get-omni-query.openapi.json GET /kling/v1/videos/omni-video/{task_id}","href":"/api/video/kling/omni-query"},{"title":"Use Kling callback URLs","sidebarTitle":"Use Kling callback URLs","href":"/api/video/kling/callback_url"}]},{"group":"Runway","pages":[{"title":"Runway API overview","sidebarTitle":"Overview","href":"/api/video/runway/overview"},{"group":"Images","pages":[{"title":"Create a Runway image","sidebarTitle":"Create a Runway image","openapi":"api/openapi/video/runway/official-format/post-generate-an-image-from-text.openapi.json POST /runwayml/v1/text_to_image","href":"/api/video/runway/official-format/generate-an-image-from-text"}]},{"group":"Videos","pages":[{"title":"Create a Runway image-to-video task","sidebarTitle":"Create a Runway image-to-video task","openapi":"api/openapi/video/runway/official-format/post-runway-images-raw-video.openapi.json POST /runwayml/v1/image_to_video","href":"/api/video/runway/official-format/runway-images-raw-video"},{"title":"Create a Runway text-to-video task","sidebarTitle":"Create a Runway text-to-video task","openapi":"api/openapi/video/runway/official-format/post-generate-a-video-from-text.openapi.json POST /runwayml/v1/text_to_video","href":"/api/video/runway/official-format/generate-a-video-from-text"},{"title":"Create a Runway video-to-video task","sidebarTitle":"Create a Runway video-to-video task","openapi":"api/openapi/video/runway/official-format/post-generate-a-video-from-a-video.openapi.json POST /runwayml/v1/video_to_video","href":"/api/video/runway/official-format/generate-a-video-from-a-video"},{"title":"Create a Runway character performance","sidebarTitle":"Create a Runway character performance","openapi":"api/openapi/video/runway/official-format/post-control-a-character.openapi.json POST /runwayml/v1/character_performance","href":"/api/video/runway/official-format/control-a-character"},{"title":"Upscale a Runway video","sidebarTitle":"Upscale a Runway video","openapi":"api/openapi/video/runway/official-format/post-upscale-a-video.openapi.json POST /runwayml/v1/video_upscale","href":"/api/video/runway/official-format/upscale-a-video"}]},{"group":"Audio","pages":[{"title":"Generate Runway sound effects","sidebarTitle":"Generate Runway sound effects","openapi":"api/openapi/video/runway/official-format/post-generate-sound-effects.openapi.json POST /runwayml/v1/sound_effect","href":"/api/video/runway/official-format/generate-sound-effects"},{"title":"Generate Runway speech from text","sidebarTitle":"Generate Runway speech from text","openapi":"api/openapi/video/runway/official-format/post-generate-speech-from-text.openapi.json POST /runwayml/v1/text_to_speech","href":"/api/video/runway/official-format/generate-speech-from-text"},{"title":"Convert Runway speech","sidebarTitle":"Convert Runway speech","openapi":"api/openapi/video/runway/official-format/post-convert-speech.openapi.json POST /runwayml/v1/speech_to_speech","href":"/api/video/runway/official-format/convert-speech"},{"title":"Dub Runway audio","sidebarTitle":"Dub Runway audio","openapi":"api/openapi/video/runway/official-format/post-dub-audio.openapi.json POST /runwayml/v1/voice_dubbing","href":"/api/video/runway/official-format/dub-audio"},{"title":"Isolate a Runway voice","sidebarTitle":"Isolate a Runway voice","openapi":"api/openapi/video/runway/official-format/post-isolate-voice.openapi.json POST /runwayml/v1/voice_isolation","href":"/api/video/runway/official-format/isolate-voice"}]},{"group":"Tasks","pages":[{"title":"Get a Runway task","sidebarTitle":"Get a Runway task","openapi":"api/openapi/video/runway/official-format/get-runway-to-get-task-details.openapi.json GET /runwayml/v1/tasks/{id}","href":"/api/video/runway/official-format/runway-to-get-task-details"}]}]}]},{"group":"Audio Models","icon":"volume-high","root":{"title":"Audio APIs","sidebarTitle":"Audio Models","href":"/api/audio/index"},"expanded":false,"pages":[{"title":"Create speech","sidebarTitle":"Create speech","openapi":"api/openapi/audio/post-create-speech.openapi.json POST /v1/audio/speech","href":"/api/audio/create-speech"},{"title":"Create transcription","sidebarTitle":"Create transcription","openapi":"api/openapi/audio/post-create-transcription.openapi.json POST /v1/audio/transcriptions","href":"/api/audio/create-transcription"},{"title":"Create translation","sidebarTitle":"Create translation","openapi":"api/openapi/audio/post-create-translation.openapi.json POST /v1/audio/translations","href":"/api/audio/create-translation"}]},{"group":"Embeddings","icon":"database","root":{"title":"Embeddings API","sidebarTitle":"Embeddings","href":"/api/embeddings/index"},"expanded":false,"pages":[{"title":"Create embeddings","sidebarTitle":"Create embeddings","openapi":"api/openapi/text/post-embeddings.openapi.json POST /v1/embeddings","href":"/api/text/embeddings"}]},{"group":"Content moderation","icon":"shield-check","expanded":false,"pages":[{"title":"Create a moderation","sidebarTitle":"Create a moderation","openapi":"api/openapi/content-moderation/create-moderation.openapi.json POST /v1/moderations","href":"/api/content-moderation/create-moderation"}]},{"group":"API keys","icon":"key","expanded":false,"pages":[{"title":"Get current API key","sidebarTitle":"Get current API key","openapi":"api/openapi/api-keys/get-current-api-key.openapi.json GET /api/usage/token","href":"/api/api-keys/get-current-api-key"},{"title":"List API keys","sidebarTitle":"List API keys","openapi":"api/openapi/api-keys/list-api-keys.openapi.json GET /api/token/","href":"/api/api-keys/list-api-keys"},{"title":"Create an API key","sidebarTitle":"Create an API key","openapi":"api/openapi/api-keys/create-api-key.openapi.json POST /api/token/","href":"/api/api-keys/create-api-key"},{"title":"Retrieve an API key","sidebarTitle":"Retrieve an API key","openapi":"api/openapi/api-keys/get-api-key.openapi.json GET /api/token/{id}","href":"/api/api-keys/get-api-key"},{"title":"Delete an API key","sidebarTitle":"Delete an API key","openapi":"api/openapi/api-keys/delete-api-key.openapi.json DELETE /api/token/{id}","href":"/api/api-keys/delete-api-key"},{"title":"Update an API key","sidebarTitle":"Update an API key","openapi":"api/openapi/api-keys/update-api-key.openapi.json PUT /api/token/","href":"/api/api-keys/update-api-key"}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]}]},{"language":"zh-Hans","pages":[{"title":"zh-Hans","href":"/zh-Hans/api/image/openai/images"}]},{"language":"zh-Hant","pages":[{"title":"zh-Hant","href":"/zh-Hant/api/image/openai/images"}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/api/image/openai/images"}]},{"language":"ko","pages":[{"title":"ko","href":"/ko/api/image/openai/images"}]},{"language":"fr","pages":[{"title":"fr","href":"/fr/api/image/openai/images"}]},{"language":"de","pages":[{"title":"de","href":"/de/api/image/openai/images"}]},{"language":"es","pages":[{"title":"es","href":"/es/api/image/openai/images"}]},{"language":"it","pages":[{"title":"it","href":"/it/api/image/openai/images"}]},{"language":"pt","pages":[{"title":"pt","href":"/pt/api/image/openai/images"}]},{"language":"ru","pages":[{"title":"ru","href":"/ru/api/image/openai/images"}]},{"language":"ar","pages":[{"title":"ar","href":"/ar/api/image/openai/images"}]},{"language":"vi","pages":[{"title":"vi","href":"/vi/api/image/openai/images"}]},{"language":"id","pages":[{"title":"id","href":"/id/api/image/openai/images"}]},{"language":"tr","pages":[{"title":"tr","href":"/tr/api/image/openai/images"}]},{"language":"pl","pages":[{"title":"pl","href":"/pl/api/image/openai/images"}]},{"language":"nl","pages":[{"title":"nl","href":"/nl/api/image/openai/images"}]},{"language":"no","pages":[{"title":"no","href":"/no/api/image/openai/images"}]},{"language":"uk","pages":[{"title":"uk","href":"/uk/api/image/openai/images"}]}]},"basePath":"","title":"Create an image - CometAPI Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","Page-C945cI-W.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}