curl --request POST \ --url https://api.goenhance.ai/api/v1/images/generations \ --header 'Content-Type: application/json' \ --data '{ "model": "qwen-image-2-1", "prompt": "A red panda barista making latte art in a cozy wooden cafe, warm morning light", "ratio": "16:9", "image_size": "1K"}'
import requests
url = "https://api.goenhance.ai/api/v1/images/generations"
payload = {
"model": "qwen-image-2-1",
"prompt": "A red panda barista making latte art in a cozy wooden cafe, warm morning light",
"ratio": "16:9",
"image_size": "1K"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'qwen-image-2-1',
prompt: 'A red panda barista making latte art in a cozy wooden cafe, warm morning light',
ratio: '16:9',
image_size: '1K'
})
};
fetch('https://api.goenhance.ai/api/v1/images/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.goenhance.ai/api/v1/images/generations"
payload := strings.NewReader("{\n \"model\": \"qwen-image-2-1\",\n \"prompt\": \"A red panda barista making latte art in a cozy wooden cafe, warm morning light\",\n \"ratio\": \"16:9\",\n \"image_size\": \"1K\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.goenhance.ai/api/v1/images/generations")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"qwen-image-2-1\",\n \"prompt\": \"A red panda barista making latte art in a cozy wooden cafe, warm morning light\",\n \"ratio\": \"16:9\",\n \"image_size\": \"1K\"\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.goenhance.ai/api/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"qwen-image-2-1\",\n \"prompt\": \"A red panda barista making latte art in a cozy wooden cafe, warm morning light\",\n \"ratio\": \"16:9\",\n \"image_size\": \"1K\"\n}"
response = http.request(request)
puts response.read_body
Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit image_list for text to image; pass it to edit. Always returns a single PNG.
Pricing — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing:
image_size
Tokens
USD
1K (about 1 MP, default)
1
$0.02
2K (about 4 MP, native)
4
$0.08
Editing and reference images
Refer to the images in the prompt as <image1>, <image2> … in image_list order. image1 is the image being edited; the rest are references.
Up to 10 images at 1K. At 2K the limit is 3, because every reference is also encoded at 2K.
With ratio: auto (the default when editing) the output keeps the aspect ratio of image1. Choosing a ratio far from image1 can shift the edit.
PNG references with transparency are read with their alpha channel.
Transparent background — set background to transparent for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in image_list with background: transparent and no prompt.
Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour.
Transparent materials such as glass or lenses come out opaque.
For plain cut-outs, Background Remover is cheaper and gives cleaner hair edges.
Timing — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.
POST
/
api
/
v1
/
images
/
generations
Qwen-Image 2.1
curl --request POST \ --url https://api.goenhance.ai/api/v1/images/generations \ --header 'Content-Type: application/json' \ --data '{ "model": "qwen-image-2-1", "prompt": "A red panda barista making latte art in a cozy wooden cafe, warm morning light", "ratio": "16:9", "image_size": "1K"}'
import requests
url = "https://api.goenhance.ai/api/v1/images/generations"
payload = {
"model": "qwen-image-2-1",
"prompt": "A red panda barista making latte art in a cozy wooden cafe, warm morning light",
"ratio": "16:9",
"image_size": "1K"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'qwen-image-2-1',
prompt: 'A red panda barista making latte art in a cozy wooden cafe, warm morning light',
ratio: '16:9',
image_size: '1K'
})
};
fetch('https://api.goenhance.ai/api/v1/images/generations', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.goenhance.ai/api/v1/images/generations"
payload := strings.NewReader("{\n \"model\": \"qwen-image-2-1\",\n \"prompt\": \"A red panda barista making latte art in a cozy wooden cafe, warm morning light\",\n \"ratio\": \"16:9\",\n \"image_size\": \"1K\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.post("https://api.goenhance.ai/api/v1/images/generations")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"qwen-image-2-1\",\n \"prompt\": \"A red panda barista making latte art in a cozy wooden cafe, warm morning light\",\n \"ratio\": \"16:9\",\n \"image_size\": \"1K\"\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.goenhance.ai/api/v1/images/generations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"qwen-image-2-1\",\n \"prompt\": \"A red panda barista making latte art in a cozy wooden cafe, warm morning light\",\n \"ratio\": \"16:9\",\n \"image_size\": \"1K\"\n}"
response = http.request(request)
puts response.read_body
What to generate, or the edit instruction. Refer to reference images as <image1> … <image10>. Required, except for background removal (one image in image_list with background: transparent). Any language is accepted, and text you ask for in the image is rendered as written.
Optional reference images for editing, [{"url": "https://..."}]. Up to 10 at 1K, up to 3 at 2K. The array order is the <imageN> order; the first image is the one being edited. Reference images do not change the price.
Optional. A publicly accessible HTTPS URL. When the task status changes (processing / success / failed), GoEnhance sends a POST request to this URL. The request body is identical to the response of GET /api/v1/jobs/detail. If your server does not respond with HTTP 200, the notification is retried up to 3 times, with a 3-second timeout per attempt.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"GoEnhanceAI API","description":"GoEnhanceAI API Documentation","colors":{"primary":"#7733ff","light":"#7430ff","dark":"#9763ff"},"logo":{"light":"https://mintcdn.com/goenhance/ux0xsztZxWklu5wk/logo/logo.png?fit=max\u0026auto=format\u0026n=ux0xsztZxWklu5wk\u0026q=85\u0026s=c998419e70da93dfc152516fac667c23","dark":"https://mintcdn.com/goenhance/ux0xsztZxWklu5wk/logo/logo.png?fit=max\u0026auto=format\u0026n=ux0xsztZxWklu5wk\u0026q=85\u0026s=c998419e70da93dfc152516fac667c23"},"favicon":"https://mintcdn.com/goenhance/ux0xsztZxWklu5wk/goenhance-logo-favicon.png?fit=max\u0026auto=format\u0026n=ux0xsztZxWklu5wk\u0026q=85\u0026s=e1bc71b8ba3308936fb843990c6a3360","navbar":{"links":[{"href":"mailto:api@goenhance.ai","label":"Support"}],"primary":{"type":"button","label":"Pricing","href":"https://platform.goenhance.ai/billing"}},"footer":{"socials":{"x":"https://x.com/goenhanceai","github":"https://github.com/goenhanceai","linkedin":"https://linkedin.com/company/goenhance-ai"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"goenhance","hasAudioNarration":false,"actualSubdomain":"goenhance","customDomains":["docs.goenhance.ai"],"gitSource":{"type":"github","owner":"hua1995116","repo":"goenhance-api-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec9b3d981b8170d4f27cfa","collectionId":"297c20ee-0958-4993-96d8-919f43747e6a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec9b3d981b8170d4f27cfa"},"entitlements":{},"buildId":"6aee15fa23712a2918a1a351","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API","count":186},{"language":"default","tag":"Video Generation API","count":69},{"language":"default","tag":"Image API","count":41},{"language":"default","tag":"Video Effects API","count":39},{"language":"default","tag":"Quick Start","count":35},{"language":"default","tag":"Audio API","count":27},{"language":"default","tag":"Suno Music","count":14},{"language":"default","tag":"Other Models","count":14},{"language":"default","tag":"Kling","count":14},{"language":"default","tag":"Nano Banana","count":10}]},"assistantConfig":{},"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":"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":[],"page":{"pagePath":"api-reference/image-api/qwen-image-2-1","slug":"/api-reference/image-api/qwen-image-2-1","pageMetadata":{"title":"Qwen-Image 2.1","openapi":"api-reference/image-api/openapi-qwen-image-2-1.json POST /api/v1/images/generations","description":"Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit `image_list` for text to image; pass it to edit. Always returns a single PNG.\n\n**Pricing** — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing:\n\n| image_size | Tokens | USD |\n|---|---|---|\n| 1K (about 1 MP, default) | 1 | $0.02 |\n| 2K (about 4 MP, native) | 4 | $0.08 |\n\n**Editing and reference images**\n\n- Refer to the images in the prompt as `\u003cimage1>`, `\u003cimage2>` … in `image_list` order. `image1` is the image being edited; the rest are references.\n- Up to 10 images at 1K. **At 2K the limit is 3**, because every reference is also encoded at 2K.\n- With `ratio: auto` (the default when editing) the output keeps the aspect ratio of `image1`. Choosing a ratio far from `image1` can shift the edit.\n- PNG references with transparency are read with their alpha channel.\n\n**Transparent background** — set `background` to `transparent` for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in `image_list` with `background: transparent` and no prompt.\n\n- Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour.\n- Transparent materials such as glass or lenses come out opaque.\n- For plain cut-outs, [Background Remover](/api-reference/image-api/background-remover) is cheaper and gives cleaner hair edges.\n\n**Timing** — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.","href":"/api-reference/image-api/qwen-image-2-1"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n table: \"table\",\n tbody: \"tbody\",\n td: \"td\",\n th: \"th\",\n thead: \"thead\",\n tr: \"tr\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit \", _jsx(_components.code, {\n children: \"image_list\"\n }), \" for text to image; pass it to edit. Always returns a single PNG.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Pricing\"\n }), \" — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing:\"]\n }), \"\\n\", _jsxs(_components.table, {\n children: [_jsx(_components.thead, {\n children: _jsxs(_components.tr, {\n children: [_jsx(_components.th, {\n children: \"image_size\"\n }), _jsx(_components.th, {\n children: \"Tokens\"\n }), _jsx(_components.th, {\n children: \"USD\"\n })]\n })\n }), _jsxs(_components.tbody, {\n children: [_jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"1K (about 1 MP, default)\"\n }), _jsx(_components.td, {\n children: \"1\"\n }), _jsx(_components.td, {\n children: \"$0.02\"\n })]\n }), _jsxs(_components.tr, {\n children: [_jsx(_components.td, {\n children: \"2K (about 4 MP, native)\"\n }), _jsx(_components.td, {\n children: \"4\"\n }), _jsx(_components.td, {\n children: \"$0.08\"\n })]\n })]\n })]\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Editing and reference images\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"Refer to the images in the prompt as \", _jsx(_components.code, {\n children: \"\u003cimage1>\"\n }), \", \", _jsx(_components.code, {\n children: \"\u003cimage2>\"\n }), \" … in \", _jsx(_components.code, {\n children: \"image_list\"\n }), \" order. \", _jsx(_components.code, {\n children: \"image1\"\n }), \" is the image being edited; the rest are references.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"Up to 10 images at 1K. \", _jsx(_components.strong, {\n children: \"At 2K the limit is 3\"\n }), \", because every reference is also encoded at 2K.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"With \", _jsx(_components.code, {\n children: \"ratio: auto\"\n }), \" (the default when editing) the output keeps the aspect ratio of \", _jsx(_components.code, {\n children: \"image1\"\n }), \". Choosing a ratio far from \", _jsx(_components.code, {\n children: \"image1\"\n }), \" can shift the edit.\"]\n }), \"\\n\", _jsx(_components.li, {\n children: \"PNG references with transparency are read with their alpha channel.\"\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Transparent background\"\n }), \" — set \", _jsx(_components.code, {\n children: \"background\"\n }), \" to \", _jsx(_components.code, {\n children: \"transparent\"\n }), \" for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in \", _jsx(_components.code, {\n children: \"image_list\"\n }), \" with \", _jsx(_components.code, {\n children: \"background: transparent\"\n }), \" and no prompt.\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsx(_components.li, {\n children: \"Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour.\"\n }), \"\\n\", _jsx(_components.li, {\n children: \"Transparent materials such as glass or lenses come out opaque.\"\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"For plain cut-outs, \", _jsx(_components.a, {\n href: \"/api-reference/image-api/background-remover\",\n children: \"Background Remover\"\n }), \" is cheaper and gives cleaner hair edges.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Timing\"\n }), \" — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.\"]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Qwen-Image 2.1","openapi":"api-reference/image-api/openapi-qwen-image-2-1.json POST /api/v1/images/generations","description":"Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit `image_list` for text to image; pass it to edit. Always returns a single PNG.\n\n**Pricing** — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing:\n\n| image_size | Tokens | USD |\n|---|---|---|\n| 1K (about 1 MP, default) | 1 | $0.02 |\n| 2K (about 4 MP, native) | 4 | $0.08 |\n\n**Editing and reference images**\n\n- Refer to the images in the prompt as `\u003cimage1>`, `\u003cimage2>` … in `image_list` order. `image1` is the image being edited; the rest are references.\n- Up to 10 images at 1K. **At 2K the limit is 3**, because every reference is also encoded at 2K.\n- With `ratio: auto` (the default when editing) the output keeps the aspect ratio of `image1`. Choosing a ratio far from `image1` can shift the edit.\n- PNG references with transparency are read with their alpha channel.\n\n**Transparent background** — set `background` to `transparent` for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in `image_list` with `background: transparent` and no prompt.\n\n- Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour.\n- Transparent materials such as glass or lenses come out opaque.\n- For plain cut-outs, [Background Remover](/api-reference/image-api/background-remover) is cheaper and gives cleaner hair edges.\n\n**Timing** — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.","href":"/api-reference/image-api/qwen-image-2-1"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Qwen-Image 2.1","deprecated":false,"description":"Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit `image_list` for text to image; pass it to edit. Always returns a single PNG.\n\n**Pricing** — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing:\n\n| image_size | Tokens | USD |\n|---|---|---|\n| 1K (about 1 MP, default) | 1 | $0.02 |\n| 2K (about 4 MP, native) | 4 | $0.08 |\n\n**Editing and reference images**\n\n- Refer to the images in the prompt as `\u003cimage1>`, `\u003cimage2>` … in `image_list` order. `image1` is the image being edited; the rest are references.\n- Up to 10 images at 1K. **At 2K the limit is 3**, because every reference is also encoded at 2K.\n- With `ratio: auto` (the default when editing) the output keeps the aspect ratio of `image1`. Choosing a ratio far from `image1` can shift the edit.\n- PNG references with transparency are read with their alpha channel.\n\n**Transparent background** — set `background` to `transparent` for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in `image_list` with `background: transparent` and no prompt.\n\n- Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour.\n- Transparent materials such as glass or lenses come out opaque.\n- For plain cut-outs, [Background Remover](/api-reference/image-api/background-remover) is cheaper and gives cleaner hair edges.\n\n**Timing** — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.","tags":["ImageAPI"],"parameters":["3eeb66ab-f198-4f47-8a16-75c253ce0c71"],"requestBody":"2708250c-b59c-420d-95d0-530bae995f37","responses":{"200":"c9f6e293-7b79-4647-84f7-c3d448e70665","401":"2004efe8-91e0-4e08-87af-cd1178c6eee0"},"security":[],"method":"post","type":"path","servers":["572a6396-73ac-4c28-8e83-4ccaa6a94c0b"],"path":"/api/v1/images/generations","baseUrlOptions":["https://api.goenhance.ai"],"title":"Qwen-Image 2.1","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3eeb66ab-f198-4f47-8a16-75c253ce0c71":{"name":"Authorization","in":"header","description":"","required":false,"example":"{{Authorization}}","schema":{"type":"string","isRequired":false,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"model":{"type":"string","enum":["qwen-image-2-1"],"description":"Model name. Must be `qwen-image-2-1`.","isRequired":true,"uniqueKey":"model","typeLabel":"enum\u003cstring>"},"prompt":{"type":"string","maxLength":4000,"description":"What to generate, or the edit instruction. Refer to reference images as `\u003cimage1>` … `\u003cimage10>`. Required, except for background removal (one image in `image_list` with `background: transparent`). Any language is accepted, and text you ask for in the image is rendered as written.","uniqueKey":"prompt","typeLabel":"string"},"image_list":{"type":"array","items":{"type":"object","properties":{"url":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"image_list.items.[INDEX].url","typeLabel":"string\u003curi>"}},"required":["url"],"uniqueKey":"image_list.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":10,"description":"Optional reference images for editing, [{\"url\": \"https://...\"}]. Up to 10 at 1K, up to 3 at 2K. The array order is the `\u003cimageN>` order; the first image is the one being edited. Reference images do not change the price.","uniqueKey":"image_list","typeLabel":"object[]"},"ratio":{"type":"string","enum":["auto","1:1","2:3","3:2","3:4","4:3","9:16","16:9","21:9"],"default":"auto","description":"Aspect ratio. `auto` follows the first reference image when editing and means 1:1 for text to image.","uniqueKey":"ratio","typeLabel":"enum\u003cstring>"},"image_size":{"type":"string","enum":["1K","2K"],"default":"1K","description":"Resolution tier, also the price tier. 1K is about 1 megapixel, 2K about 4 megapixels (native). Case-insensitive.","uniqueKey":"image_size","typeLabel":"enum\u003cstring>"},"background":{"type":"string","enum":["opaque","transparent"],"default":"opaque","description":"`transparent` returns a PNG with an alpha channel. Does not affect pricing.","uniqueKey":"background","typeLabel":"enum\u003cstring>"},"seed":{"type":"integer","minimum":0,"maximum":2147483647,"description":"Optional. Fixing the seed makes results more reproducible.","uniqueKey":"seed","typeLabel":"integer"},"custom_callback_url":{"type":"string","format":"uri","description":"Optional. A publicly accessible HTTPS URL. When the task status changes (processing / success / failed), GoEnhance sends a POST request to this URL. The request body is identical to the response of GET /api/v1/jobs/detail. If your server does not respond with HTTP 200, the notification is retried up to 3 times, with a 3-second timeout per attempt.","example":"https://your-server.com/goenhance/callback","uniqueKey":"custom_callback_url","typeLabel":"string\u003curi>"}},"required":["model"],"uniqueKey":"","typeLabel":"object"},"example":{"model":"qwen-image-2-1","prompt":"A red panda barista making latte art in a cozy wooden cafe, warm morning light","ratio":"16:9","image_size":"1K"},"examples":{"Example":{"title":"Example","value":{"model":"qwen-image-2-1","prompt":"A red panda barista making latte art in a cozy wooden cafe, warm morning light","ratio":"16:9","image_size":"1K"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"c9f6e293-7b79-4647-84f7-c3d448e70665":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"msg":{"type":"string","isRequired":true,"uniqueKey":"msg","typeLabel":"string"},"data":{"type":"object","properties":{"img_uuid":{"type":"string","isRequired":true,"uniqueKey":"data.img_uuid","typeLabel":"string"},"cost":{"type":"number","description":"Tokens deducted for this request. This is the amount actually charged, so it already reflects any discount active on your account and can be lower than the listed price. Tokens are deducted when the task is accepted, and refunded automatically if the generation ends in failure.","example":1,"isRequired":true,"uniqueKey":"data.cost","typeLabel":"number"}},"required":["img_uuid","cost"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["code","msg","data"],"uniqueKey":"","typeLabel":"object"},"examples":{"1":{"title":"1","value":{"code":0,"msg":"Success","data":{"img_uuid":"c12b656c-747a-44fd-9c80-add79b0c52d5","cost":1}}},"2":{"title":"2","value":{"code":100,"msg":"tokens is not enough"}},"quota":{"title":"quota","value":{"code":101,"msg":"API key quota exceeded: 4990 of 5000 tokens used (monthly)"}}},"exampleType":"examples"}},"headers":{},"exampleType":"examples"},"2004efe8-91e0-4e08-87af-cd1178c6eee0":{"description":"","content":{"application/json":{"schema":{"type":"object","properties":{"code":{"type":"integer","isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"msg":{"type":"string","isRequired":true,"uniqueKey":"msg","typeLabel":"string"}},"required":["code","msg"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"code":123,"msg":"\u003cstring>"}}},"exampleType":"generated"}},"headers":{},"exampleType":"generated"}},"security":{},"servers":{"572a6396-73ac-4c28-8e83-4ccaa6a94c0b":{"url":"https://api.goenhance.ai"}}},"originalFileLocation":"api-reference/image-api/openapi-qwen-image-2-1.json"},"subdomain":"goenhance","siteName":"GoEnhanceAI API","title":"Qwen-Image 2.1 - GoEnhanceAI API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-22T11:48:46.347Z","originalFileLocation":"api-reference/image-api/qwen-image-2-1.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit image_list for text to image; pass it to edit. Always returns a single PNG. Pricing — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing: | image_size | Tokens | USD | |---|---|---| | 1K (about 1 MP, default) | 1 | $0.02 | | 2K (about 4 MP, native) | 4 | $0.08 | Editing and reference images - Refer to the images in the prompt as , … in image_list order. image1 is the image being edited; the rest are references. - Up to 10 images at 1K. At 2K the limit is 3, because every reference is also encoded at 2K. - With ratio: auto (the default when editing) the output keeps the aspect ratio of image1. Choosing a ratio far from image1 can shift the edit. - PNG references with transparency are read with their alpha channel. Transparent background — set background to transparent for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in image_list with background: transparent and no prompt. - Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour. - Transparent materials such as glass or lenses come out opaque. - For plain cut-outs, Background Remover is cheaper and gives cleaner hair edges. Timing — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.\">\u003cmeta data-mint-head name=\"application-name\" content=\"GoEnhanceAI API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/goenhance/mn1mgyQNDbD4qv1p/_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/goenhance/mn1mgyQNDbD4qv1p/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/goenhance/mn1mgyQNDbD4qv1p/_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/goenhance/mn1mgyQNDbD4qv1p/_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/goenhance/mn1mgyQNDbD4qv1p/_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/goenhance/mn1mgyQNDbD4qv1p/_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/goenhance/mn1mgyQNDbD4qv1p/_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/goenhance/mn1mgyQNDbD4qv1p/_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/goenhance/mn1mgyQNDbD4qv1p/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Qwen-Image 2.1 - GoEnhanceAI API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit image_list for text to image; pass it to edit. Always returns a single PNG. Pricing — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing: | image_size | Tokens | USD | |---|---|---| | 1K (about 1 MP, default) | 1 | $0.02 | | 2K (about 4 MP, native) | 4 | $0.08 | Editing and reference images - Refer to the images in the prompt as , … in image_list order. image1 is the image being edited; the rest are references. - Up to 10 images at 1K. At 2K the limit is 3, because every reference is also encoded at 2K. - With ratio: auto (the default when editing) the output keeps the aspect ratio of image1. Choosing a ratio far from image1 can shift the edit. - PNG references with transparency are read with their alpha channel. Transparent background — set background to transparent for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in image_list with background: transparent and no prompt. - Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour. - Transparent materials such as glass or lenses come out opaque. - For plain cut-outs, Background Remover is cheaper and gives cleaner hair edges. Timing — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"GoEnhanceAI API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://goenhance.mintlify.site/_mintlify/api/og/v2?division=Qwen\u0026amp;title=Qwen-Image+2.1\u0026amp;description=Qwen-Image+2.1+in+a+single+endpoint%3A+text+to+image%2C+editing+with+up+to+10+reference+images%2C+transparent+PNG+output%2C+and+background+removal.+Omit+%60image_list%60+fo\u0026amp;theme=741bf0d536b2d350e0e71986\u0026amp;signature=1449dfe40888a00c7ff9718f7bc5b3cf67cef53bac577a1df959f453e7937a94\">\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=\"Qwen-Image 2.1 - GoEnhanceAI API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit image_list for text to image; pass it to edit. Always returns a single PNG. Pricing — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing: | image_size | Tokens | USD | |---|---|---| | 1K (about 1 MP, default) | 1 | $0.02 | | 2K (about 4 MP, native) | 4 | $0.08 | Editing and reference images - Refer to the images in the prompt as , … in image_list order. image1 is the image being edited; the rest are references. - Up to 10 images at 1K. At 2K the limit is 3, because every reference is also encoded at 2K. - With ratio: auto (the default when editing) the output keeps the aspect ratio of image1. Choosing a ratio far from image1 can shift the edit. - PNG references with transparency are read with their alpha channel. Transparent background — set background to transparent for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in image_list with background: transparent and no prompt. - Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour. - Transparent materials such as glass or lenses come out opaque. - For plain cut-outs, Background Remover is cheaper and gives cleaner hair edges. Timing — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://goenhance.mintlify.site/_mintlify/api/og/v2?division=Qwen\u0026amp;title=Qwen-Image+2.1\u0026amp;description=Qwen-Image+2.1+in+a+single+endpoint%3A+text+to+image%2C+editing+with+up+to+10+reference+images%2C+transparent+PNG+output%2C+and+background+removal.+Omit+%60image_list%60+fo\u0026amp;theme=741bf0d536b2d350e0e71986\u0026amp;signature=1449dfe40888a00c7ff9718f7bc5b3cf67cef53bac577a1df959f453e7937a94\">\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/goenhance/mn1mgyQNDbD4qv1p/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"GoEnhanceAI API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7733ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/image-api/qwen-image-2-1.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.goenhance.ai/#organization\",\"name\":\"GoEnhanceAI API\",\"url\":\"https://docs.goenhance.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/goenhance/ux0xsztZxWklu5wk/logo/logo.png?fit=max\u0026auto=format\u0026n=ux0xsztZxWklu5wk\u0026q=85\u0026s=c998419e70da93dfc152516fac667c23\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.goenhance.ai#website\",\"name\":\"GoEnhanceAI API\",\"url\":\"https://docs.goenhance.ai\",\"publisher\":{\"@id\":\"https://docs.goenhance.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1#webpage\",\"url\":\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1\",\"name\":\"Qwen-Image 2.1\",\"description\":\"Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit image_list for text to image; pass it to edit. Always returns a single PNG. Pricing — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing: | image_size | Tokens | USD | |---|---|---| | 1K (about 1 MP, default) | 1 | $0.02 | | 2K (about 4 MP, native) | 4 | $0.08 | Editing and reference images - Refer to the images in the prompt as , … in image_list order. image1 is the image being edited; the rest are references. - Up to 10 images at 1K. At 2K the limit is 3, because every reference is also encoded at 2K. - With ratio: auto (the default when editing) the output keeps the aspect ratio of image1. Choosing a ratio far from image1 can shift the edit. - PNG references with transparency are read with their alpha channel. Transparent background — set background to transparent for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in image_list with background: transparent and no prompt. - Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour. - Transparent materials such as glass or lenses come out opaque. - For plain cut-outs, Background Remover is cheaper and gives cleaner hair edges. Timing — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.\",\"dateModified\":\"2026-09-22T11:48:46.347Z\",\"isPartOf\":{\"@id\":\"https://docs.goenhance.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API\",\"item\":\"https://docs.goenhance.ai/api-reference/video-to-video/generate\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Image API\",\"item\":\"https://docs.goenhance.ai/api-reference/image-api/nano-banana\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Qwen-Image 2.1\",\"item\":\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1#apireference\",\"headline\":\"Qwen-Image 2.1\",\"name\":\"Qwen-Image 2.1\",\"description\":\"Qwen-Image 2.1 in a single endpoint: text to image, editing with up to 10 reference images, transparent PNG output, and background removal. Omit image_list for text to image; pass it to edit. Always returns a single PNG. Pricing — flat per image by resolution tier. Text to image, editing and transparent output cost the same, and reference images add nothing: | image_size | Tokens | USD | |---|---|---| | 1K (about 1 MP, default) | 1 | $0.02 | | 2K (about 4 MP, native) | 4 | $0.08 | Editing and reference images - Refer to the images in the prompt as , … in image_list order. image1 is the image being edited; the rest are references. - Up to 10 images at 1K. At 2K the limit is 3, because every reference is also encoded at 2K. - With ratio: auto (the default when editing) the output keeps the aspect ratio of image1. Choosing a ratio far from image1 can shift the edit. - PNG references with transparency are read with their alpha channel. Transparent background — set background to transparent for a PNG with an alpha channel, for both text to image and editing. To remove the background of one image, send one image in image_list with background: transparent and no prompt. - Fully transparent pixels carry an arbitrary colour underneath. Composite the PNG over your own background before converting to JPEG, or the transparent area turns into a solid colour. - Transparent materials such as glass or lenses come out opaque. - For plain cut-outs, Background Remover is cheaper and gives cleaner hair edges. Timing — about 30 to 60 seconds of processing for 1K, and about 3 to 7 minutes for 2K, plus queue time.\",\"url\":\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1\",\"mainEntityOfPage\":{\"@id\":\"https://docs.goenhance.ai/api-reference/image-api/qwen-image-2-1#webpage\"},\"dateModified\":\"2026-09-22T11:48:46.347Z\",\"publisher\":{\"@id\":\"https://docs.goenhance.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.goenhance.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"GoEnhanceAI API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"GoEnhanceAI API","nav":{"global":null,"groups":[{"group":"Getting started","pages":[{"title":"API Introduction","href":"/index"},{"title":"Quickstart Guide","href":"/guides/quickstart"},{"title":"Rate Limits \u0026 Concurrency","href":"/guides/limits"},{"title":"Best Practices","href":"/guides/best-practices"},{"title":"Privacy Policy \u0026 Terms of Use","href":"/guides/privacy-terms"}]},{"group":"API","pages":[{"group":"Video To Video API","pages":[{"title":"Generate Video to Video API","openapi":"POST /api/v1/video2video/generate","sidebarTitle":"Generate Video","href":"/api-reference/video-to-video/generate"},{"title":"Get Video to Video Style List API","sidebarTitle":"Get Style List","openapi":"GET /api/v1/video2video/modellist","href":"/api-reference/video-to-video/modellist"},{"title":"Task Status API","openapi":"GET /api/v1/jobs/detail","href":"/api-reference/video-to-video/task-status"}]},{"group":"Image API","pages":[{"group":"Nano Banana","pages":[{"title":"Nano Banana API","openapi":"api-reference/image-api/openapi-nano-banana.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana"},{"title":"Nano Banana Edit API","openapi":"api-reference/image-api/openapi-nano-banana-edit.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana-edit"},{"title":"Nano Banana 2 API","openapi":"api-reference/image-api/openapi-nano-banana-2.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana-2"},{"title":"Nano Banana 2 Edit API","openapi":"api-reference/image-api/openapi-nano-banana-2-edit.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana-2-edit"},{"title":"Nano Banana 2.1 API","openapi":"api-reference/image-api/openapi-nano-banana-2-1.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana-2-1"},{"title":"Nano Banana 2.1 Edit API","openapi":"api-reference/image-api/openapi-nano-banana-2-1-edit.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana-2-1-edit"},{"title":"Nano Banana 2 Lite","openapi":"api-reference/image-api/openapi-nano-banana-2-lite.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana-2-lite"},{"title":"Nano Banana 2 Lite Edit","openapi":"api-reference/image-api/openapi-nano-banana-2-lite-edit.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana-2-lite-edit"},{"title":"Nano Banana Pro API","openapi":"api-reference/image-api/openapi-nano-banana-pro.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana-pro"},{"title":"Nano Banana Pro Edit API","openapi":"api-reference/image-api/openapi-nano-banana-pro-edit.json POST /api/v1/images/generations","href":"/api-reference/image-api/nano-banana-pro-edit"}]},{"group":"Seedream","pages":[{"title":"Seedream 4.0","openapi":"api-reference/image-api/openapi-seedream-4-0.json POST /api/v1/images/generations","href":"/api-reference/image-api/seedream-4-0"},{"title":"Seedream 4.5","openapi":"api-reference/image-api/openapi-seedream-4-5.json POST /api/v1/images/generations","href":"/api-reference/image-api/seedream-4-5"},{"title":"Seedream 5 Lite","openapi":"api-reference/image-api/openapi-seedream-5-lite.json POST /api/v1/images/generations","href":"/api-reference/image-api/seedream-5-lite"},{"title":"Seedream 5.0 Pro","openapi":"api-reference/image-api/openapi-seedream-5-pro.json POST /api/v1/images/generations","href":"/api-reference/image-api/seedream-5-pro"},{"title":"Seedream 5.0 Pro Layers","openapi":"api-reference/image-api/openapi-seedream-5-pro-layers.json POST /api/v1/images/generations","href":"/api-reference/image-api/seedream-5-pro-layers"},{"title":"Seedream 5.0 Flash","openapi":"api-reference/image-api/openapi-seedream-5-flash.json POST /api/v1/images/generations","href":"/api-reference/image-api/seedream-5-flash"},{"title":"Seedream 5.0 Flash Layers","openapi":"api-reference/image-api/openapi-seedream-5-flash-layers.json POST /api/v1/images/generations","href":"/api-reference/image-api/seedream-5-flash-layers"}]},{"group":"OpenAI","pages":[{"title":"GPT Image 2 API","openapi":"api-reference/image-api/openapi-gpt-image-2.json POST /api/v1/images/generations","href":"/api-reference/image-api/gpt-image-2"},{"title":"GPT Image 2.6 Sunburst","openapi":"api-reference/image-api/openapi-gpt-image-2-6-sunburst.json POST /api/v1/images/generations","href":"/api-reference/image-api/gpt-image-2-6-sunburst"},{"title":"GPT Image 2.5 Sunburst","openapi":"api-reference/image-api/openapi-gpt-image-2-5-sunburst.json POST /api/v1/images/generations","href":"/api-reference/image-api/gpt-image-2-5-sunburst"},{"title":"GPT Image 2.6 Flare","openapi":"api-reference/image-api/openapi-gpt-image-2-6-flare.json POST /api/v1/images/generations","href":"/api-reference/image-api/gpt-image-2-6-flare"},{"title":"GPT Image 2.5 Flare","openapi":"api-reference/image-api/openapi-gpt-image-2-5-flare.json POST /api/v1/images/generations","href":"/api-reference/image-api/gpt-image-2-5-flare"}]},{"group":"Grok","pages":[{"title":"Grok Image","openapi":"api-reference/image-api/openapi-grok-image.json POST /api/v1/images/generations","href":"/api-reference/image-api/grok-image"},{"title":"Grok Imagine Image 2.0 API","openapi":"api-reference/image-api/openapi-grok-image-2.json POST /api/v1/images/generations","description":"Grok Imagine Image 2.0 text-to-image and image editing.\n\nPass `image_list` to switch into edit mode — the model rewrites the supplied image(s) according to your prompt, or reinterprets them if no prompt is given.\n\n**Pricing:** 2.5 tokens per image (= $0.05). Both modes are billed at the same rate.\n\nReturns an `img_uuid`; poll GET /api/v1/jobs/detail (or use `custom_callback_url`) to get the generated image.","href":"/api-reference/image-api/grok-image-2"}]},{"group":"Qwen","pages":[{"title":"Qwen-Image 2.1","openapi":"api-reference/image-api/openapi-qwen-image-2-1.json POST /api/v1/images/generations","href":"/api-reference/image-api/qwen-image-2-1"},{"title":"Qwen-Image 3.0","openapi":"api-reference/image-api/openapi-qwen-image-3.json POST /api/v1/images/generations","description":"Qwen-Image 3.0 text-to-image and image editing in a single endpoint. Pass `image_list` to edit reference images (1-3), or omit it for pure text-to-image. Always returns a single image.\n\n**Pricing** — output tier plus a surcharge per reference image:\n\n| What | Tokens | USD |\n|---|---|---|\n| Output, 1K or 2K | 1.75 | $0.035 |\n| Each reference image | 0.19 | $0.0039 |\n\nBoth tiers cost the same on this model, so `image_size` only changes the output size. Example: 2 reference images = 1.75 + 2 x 0.19 = 2.13 tokens (= $0.0426).\n\nFor higher quality use `/api/v1/qwen-image-3-pro`, where the 2K tier costs twice as much as 1K.\n\nReturns an `img_uuid`; poll GET /api/v1/jobs/detail (or use `custom_callback_url`) to get the generated image.","href":"/api-reference/image-api/qwen-image-3"},{"title":"Qwen-Image 3.0 Pro","openapi":"api-reference/image-api/openapi-qwen-image-3-pro.json POST /api/v1/images/generations","href":"/api-reference/image-api/qwen-image-3-pro"},{"title":"Qwen Image Edit 2511","openapi":"api-reference/image-api/openapi-qwen-image-edit.json POST /api/v1/images/generations","href":"/api-reference/image-api/qwen-image-edit"},{"title":"Anime Waifu","openapi":"api-reference/image-api/openapi-anime-waifu.json POST /api/v1/images/generations","href":"/api-reference/image-api/anime-waifu"},{"title":"Anime Illustration","openapi":"api-reference/image-api/openapi-anime-illustration.json POST /api/v1/images/generations","href":"/api-reference/image-api/anime-illustration"},{"title":"Z-Image","openapi":"api-reference/image-api/openapi-z-image.json POST /api/v1/images/generations","href":"/api-reference/image-api/z-image"}]},{"group":"Other Models","pages":[{"title":"Muse Image","openapi":"api-reference/image-api/openapi-muse-image.json POST /api/v1/images/generations","href":"/api-reference/image-api/muse-image"},{"title":"MOSS-Image","openapi":"api-reference/image-api/openapi-moss-image.json POST /api/v1/images/generations","href":"/api-reference/image-api/moss-image"},{"title":"SeedVR2","openapi":"api-reference/image-api/openapi-seedvr2.json POST /api/v1/images/generations","href":"/api-reference/image-api/seedvr2"},{"title":"FLUX.2 klein 9B","openapi":"api-reference/image-api/openapi-flux-2-9b.json POST /api/v1/images/generations","href":"/api-reference/image-api/flux-2-9b"},{"title":"OC Maker","openapi":"api-reference/image-api/openapi-oc-maker.json POST /api/v1/images/generations","href":"/api-reference/image-api/oc-maker"},{"title":"Multiple Angles","openapi":"api-reference/image-api/openapi-multiple-angles.json POST /api/v1/images/generations","href":"/api-reference/image-api/multiple-angles"},{"title":"Watermark Remover","openapi":"api-reference/image-api/openapi-watermark-remover.json POST /api/v1/images/generations","href":"/api-reference/image-api/watermark-remover"},{"title":"Background Remover","openapi":"api-reference/image-api/openapi-background-remover.json POST /api/v1/images/generations","href":"/api-reference/image-api/background-remover"},{"title":"Image Upscaler Pro","openapi":"api-reference/image-api/openapi-image-upscaler-pro.json POST /api/v1/images/generations","href":"/api-reference/image-api/image-upscaler-pro"}]},{"title":"Task Status API","openapi":"GET /api/v1/jobs/detail","href":"/api-reference/image-api/task-status"}]},{"group":"Video Generation API","pages":[{"title":"Video Generation API Overview","sidebarTitle":"Overview","href":"/api-reference/video-generations/overview"},{"group":"Seedance","pages":[{"title":"Seedance 2.0","openapi":"api-reference/video-generations/openapi-seedance-2-0.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/seedance-2-0"},{"title":"Seedance 2.0 Fast","openapi":"api-reference/video-generations/openapi-seedance-2-0-fast.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/seedance-2-0-fast"},{"title":"Seedance 2.0 Mini","openapi":"api-reference/video-generations/openapi-seedance-2-0-mini.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/seedance-2-0-mini"},{"title":"Seedance 2.0 Reference to Video","openapi":"api-reference/video-generations/openapi-seedance-2-0-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/seedance-2-0-refs"},{"title":"Seedance 2.0 Fast Reference to Video","openapi":"api-reference/video-generations/openapi-seedance-2-0-fast-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/seedance-2-0-fast-refs"},{"title":"Seedance 2.0 Mini Reference to Video","openapi":"api-reference/video-generations/openapi-seedance-2-0-mini-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/seedance-2-0-mini-refs"},{"title":"Seedance 2.5","openapi":"api-reference/video-generations/openapi-seedance-2-5.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/seedance-2-5"},{"title":"Seedance 2.5 Reference to Video","openapi":"api-reference/video-generations/openapi-seedance-2-5-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/seedance-2-5-refs"},{"title":"Seedance 1.0 Pro Fast","openapi":"api-reference/video-generations/openapi-seedance-pro-fast.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/seedance-pro-fast"}]},{"group":"Kling","pages":[{"title":"Kling 4.0","openapi":"api-reference/video-generations/openapi-kling-4-0.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-4-0"},{"title":"Kling 4.0 Reference to Video","openapi":"api-reference/video-generations/openapi-kling-4-0-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-4-0-refs"},{"title":"Kling 4.0 Video Edit","openapi":"api-reference/video-generations/openapi-kling-4-0-edit.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-4-0-edit"},{"title":"Kling 4.0 Flash","openapi":"api-reference/video-generations/openapi-kling-4-0-flash.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-4-0-flash"},{"title":"Kling 4.0 Flash Reference to Video","openapi":"api-reference/video-generations/openapi-kling-4-0-flash-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-4-0-flash-refs"},{"title":"Kling 4.0 Flash Video Edit","openapi":"api-reference/video-generations/openapi-kling-4-0-flash-edit.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-4-0-flash-edit"},{"title":"Kling 3.0","openapi":"api-reference/video-generations/openapi-kling-3-0.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-3-0"},{"title":"Kling 3.0 Turbo","openapi":"api-reference/video-generations/openapi-kling-3-0-turbo.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-3-0-turbo"},{"title":"Kling 3.0 Omni","openapi":"api-reference/video-generations/openapi-kling-v3-omni.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-v3-omni"},{"title":"Kling 2.6","openapi":"api-reference/video-generations/openapi-kling-2-6.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-2-6"},{"title":"Kling 2.5 Turbo","openapi":"api-reference/video-generations/openapi-kling-2-5-turbo.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-2-5-turbo"},{"title":"Kling O1","openapi":"api-reference/video-generations/openapi-kling-o1.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-o1"},{"title":"Kling V3 Motion Control","openapi":"api-reference/video-generations/openapi-kling-v3-motion.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-v3-motion"},{"title":"Kling 2.6 Motion Control","openapi":"api-reference/video-generations/openapi-kling-v2-6-motion.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/kling-v2-6-motion"}]},{"group":"Veo","pages":[{"title":"Veo 3.1 Quality","openapi":"api-reference/video-generations/openapi-veo-3-1.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/veo-3-1"},{"title":"Veo 3.1 Fast","openapi":"api-reference/video-generations/openapi-veo-3-1-fast.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/veo-3-1-fast"},{"title":"Veo 3.1 Fast Reference","openapi":"api-reference/video-generations/openapi-veo-3-1-fast-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/veo-3-1-fast-refs"},{"title":"Veo 3.1 Lite","openapi":"api-reference/video-generations/openapi-veo-3-1-lite.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/veo-3-1-lite"},{"title":"Veo 3.1 Lite Reference","openapi":"api-reference/video-generations/openapi-veo-3-1-lite-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/veo-3-1-lite-refs"}]},{"group":"Vidu","pages":[{"title":"Vidu Q3 Pro","openapi":"api-reference/video-generations/openapi-viduq3-pro.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/viduq3-pro"},{"title":"Vidu Q3 Turbo","openapi":"api-reference/video-generations/openapi-viduq3-turbo.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/viduq3-turbo"},{"title":"Vidu Q3 (Reference)","openapi":"api-reference/video-generations/openapi-viduq3-reference.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/viduq3-reference"},{"title":"Vidu Q3 Turbo (Reference)","openapi":"api-reference/video-generations/openapi-viduq3-turbo-reference.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/viduq3-turbo-reference"},{"title":"Vidu Q4 Preview (Image to Video)","openapi":"api-reference/video-generations/openapi-viduq4-preview.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/viduq4-preview"},{"title":"Vidu Q4 Preview (Reference to Video)","openapi":"api-reference/video-generations/openapi-viduq4-preview-reference.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/viduq4-preview-reference"}]},{"group":"Hailuo","pages":[{"title":"Hailuo 2.3","openapi":"api-reference/video-generations/openapi-hailuo-2-3.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/hailuo-2-3"},{"title":"Hailuo 2.3 Fast","openapi":"api-reference/video-generations/openapi-hailuo-2-3-fast.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/hailuo-2-3-fast"},{"title":"MiniMax-H3","openapi":"api-reference/video-generations/openapi-minimax-h3.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/minimax-h3"},{"title":"MiniMax-H3-Flex","openapi":"api-reference/video-generations/openapi-minimax-h3-flex.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/minimax-h3-flex"},{"title":"MiniMax-H3 Reference to Video","openapi":"api-reference/video-generations/openapi-minimax-h3-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/minimax-h3-refs"},{"title":"MiniMax-H3 Character Replace","openapi":"api-reference/video-generations/openapi-minimax-h3-swap.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/minimax-h3-swap"},{"title":"MiniMax-H3 Character Replace Pro","openapi":"api-reference/video-generations/openapi-minimax-h3-remake.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/minimax-h3-remake"}]},{"group":"Grok","pages":[{"title":"Grok Imagine","openapi":"api-reference/video-generations/openapi-grok-imagine.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/grok-imagine"},{"title":"Grok Imagine Refs","openapi":"api-reference/video-generations/openapi-grok-imagine-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/grok-imagine-refs"},{"title":"Grok Imagine 1.5","openapi":"api-reference/video-generations/openapi-grok-imagine-1-5.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/grok-imagine-1-5"},{"title":"Grok Imagine 1.5 Refs","openapi":"api-reference/video-generations/openapi-grok-imagine-1-5-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/grok-imagine-1-5-refs"}]},{"group":"HappyHorse","pages":[{"title":"HappyHorse 1.1","openapi":"api-reference/video-generations/openapi-happyhorse-1-1.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/happyhorse-1-1"},{"title":"HappyHorse 1.1 Reference","openapi":"api-reference/video-generations/openapi-happyhorse-1-1-ref.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/happyhorse-1-1-ref"}]},{"group":"Wan","pages":[{"title":"Wan 3.0","openapi":"api-reference/video-generations/openapi-wan-3-0.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/wan-3-0"},{"title":"Wan 3.0 (Reference)","openapi":"api-reference/video-generations/openapi-wan-3-0-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/wan-3-0-refs"},{"title":"Wan 3.0 Basic","openapi":"api-reference/video-generations/openapi-wan-3-0-basic.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/wan-3-0-basic"},{"title":"Wan 3.0 Basic Reference to Video","openapi":"api-reference/video-generations/openapi-wan-3-0-basic-refs.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/wan-3-0-basic-refs"},{"title":"Wan 2.2","openapi":"api-reference/video-generations/openapi-wan-2-2.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/wan-2-2"}]},{"group":"AI Dance","pages":[{"title":"AI Dance · Replace","openapi":"api-reference/video-generations/openapi-ai-dance-replace.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/ai-dance-replace"},{"title":"AI Dance Replace v2","openapi":"api-reference/video-generations/openapi-ai-dance-replace-v2.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/ai-dance-replace-v2"},{"title":"AI Dance · Move","openapi":"api-reference/video-generations/openapi-ai-dance-move.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/ai-dance-move"},{"title":"AI Dance Move v2","openapi":"api-reference/video-generations/openapi-ai-dance-move-v2.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/ai-dance-move-v2"}]},{"group":"Video Enhancement","pages":[{"title":"Video Upscaler","openapi":"api-reference/video-generations/openapi-video-upscaler.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/video-upscaler"},{"title":"Anime Video Upscaler","openapi":"api-reference/video-generations/openapi-anime-upscaler.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/anime-upscaler"},{"title":"Video Watermark Remover","openapi":"api-reference/video-generations/openapi-video-watermark-remover.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/video-watermark-remover"},{"title":"Video Upscaler Pro","openapi":"api-reference/video-generations/openapi-video-upscaler-pro.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/video-upscaler-pro"}]},{"group":"Talking Avatar","pages":[{"title":"AI Talking Avatar","openapi":"api-reference/video-generations/openapi-ai-talking-avatar.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/ai-talking-avatar"},{"title":"AI Talking Avatar (Video)","openapi":"api-reference/video-generations/openapi-ai-talking-avatar-video.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/ai-talking-avatar-video"},{"title":"Lip Sync Video","openapi":"api-reference/video-generations/openapi-lipsync-video.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/lipsync-video"}]},{"group":"Other Models","pages":[{"title":"Muse Video","openapi":"api-reference/video-generations/openapi-muse-video.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/muse-video"},{"title":"Runway","openapi":"api-reference/video-generations/openapi-runway.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/runway"},{"title":"PixVerse V6","openapi":"api-reference/video-generations/openapi-pix-v6.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/pix-v6"},{"title":"Gemini Omni Video","openapi":"api-reference/video-generations/openapi-gemini-omni-video.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/gemini-omni-video"},{"title":"Gemini Omni 1.2 Flash","openapi":"api-reference/video-generations/openapi-gemini-omni-1-2-flash.json POST /api/v1/videos/generations","href":"/api-reference/video-generations/gemini-omni-1-2-flash"}]}]},{"group":"Audio API","pages":[{"title":"MiniMax Speech 2.6","openapi":"api-reference/audio-generations/openapi-minimax-speech-2-6.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/minimax-speech-2-6"},{"title":"ElevenLabs v3","openapi":"api-reference/audio-generations/openapi-elevenlabs-v3.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/elevenlabs-v3"},{"title":"Gemini 3.8 Flash TTS","openapi":"api-reference/audio-generations/openapi-gemini-3-8-flash-tts.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/gemini-3-8-flash-tts"},{"title":"Gemini 3.8 Flash-Lite TTS","openapi":"api-reference/audio-generations/openapi-gemini-3-8-flash-lite-tts.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/gemini-3-8-flash-lite-tts"},{"title":"Qwen3 TTS","openapi":"api-reference/audio-generations/openapi-qwen3-tts.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/qwen3-tts"},{"title":"Qwen3 TTS Voice Design","openapi":"api-reference/audio-generations/openapi-qwen3-tts-voice-design.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/qwen3-tts-voice-design"},{"title":"Qwen3 TTS Voice Clone","openapi":"api-reference/audio-generations/openapi-qwen3-tts-voice-clone.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/qwen3-tts-voice-clone"},{"title":"Cadence Song","openapi":"api-reference/audio-generations/openapi-cadence-song.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/cadence-song"},{"title":"Cadence Instrumental","openapi":"api-reference/audio-generations/openapi-cadence-instrumental.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/cadence-instrumental"},{"title":"Cadence Cover","openapi":"api-reference/audio-generations/openapi-cadence-cover.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/cadence-cover"},{"title":"Cadence Voice Cover","openapi":"api-reference/audio-generations/openapi-cadence-voice-cover.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/cadence-voice-cover"},{"title":"Vocal Remover","openapi":"api-reference/audio-generations/openapi-vocal-remover.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/vocal-remover"},{"title":"MiniMax Music 3.0","openapi":"api-reference/audio-generations/openapi-minimax-music-3-0.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/minimax-music-3-0"},{"group":"Suno Music","pages":[{"title":"Suno Music Overview","href":"/api-reference/audio-generations/suno-overview"},{"title":"Suno V6","openapi":"api-reference/audio-generations/openapi-suno-v6.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-v6"},{"title":"Suno Extend","openapi":"api-reference/audio-generations/openapi-suno-extend.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-extend"},{"title":"Suno Cover","openapi":"api-reference/audio-generations/openapi-suno-cover.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-cover"},{"title":"Suno Add Vocals","openapi":"api-reference/audio-generations/openapi-suno-add-vocals.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-add-vocals"},{"title":"Suno Add Instrumental","openapi":"api-reference/audio-generations/openapi-suno-add-instrumental.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-add-instrumental"},{"title":"Suno Replace Section","openapi":"api-reference/audio-generations/openapi-suno-replace-section.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-replace-section"},{"title":"Suno Mashup","openapi":"api-reference/audio-generations/openapi-suno-mashup.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-mashup"},{"title":"Suno Stem Split","openapi":"api-reference/audio-generations/openapi-suno-stem-split.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-stem-split"},{"title":"Suno WAV Export","openapi":"api-reference/audio-generations/openapi-suno-wav.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-wav"},{"title":"Suno Music Video","openapi":"api-reference/audio-generations/openapi-suno-music-video.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-music-video"},{"title":"Suno Timestamped Lyrics","openapi":"api-reference/audio-generations/openapi-suno-timestamped-lyrics.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-timestamped-lyrics"},{"title":"Suno Lyrics","openapi":"api-reference/audio-generations/openapi-suno-lyrics.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-lyrics"},{"title":"Suno MIDI","openapi":"api-reference/audio-generations/openapi-suno-midi.json POST /api/v1/audio/generations","href":"/api-reference/audio-generations/suno-midi"}]}]},{"group":"Video Effects API","pages":[{"title":"Video Effects API Overview","sidebarTitle":"Overview","href":"/api-reference/video-effects/overview"},{"title":"Get Template List API","sidebarTitle":"Get Template List","openapi":"GET /api/v1/videoeffect/list","href":"/api-reference/video-effects/list"},{"title":"Generate API","openapi":"POST /api/v1/videoeffect/generate","href":"/api-reference/video-effects/generate"},{"title":"Task Status API","openapi":"GET /api/v1/jobs/detail","href":"/api-reference/video-effects/task-status"},{"group":"Quick Start","pages":[{"title":"AI Hug Video Generator API","openapi":"POST /api/v2/videoeffect/generate/hug","sidebarTitle":"Hug Your Love","href":"/api-reference/video-effects/templates/hug"},{"title":"AI Kiss Video Generator API","openapi":"POST /api/v2/videoeffect/generate/kiss","sidebarTitle":"Kiss Your Love","href":"/api-reference/video-effects/templates/kiss"},{"title":"AI French Kiss Video Generator API","openapi":"POST /api/v2/videoeffect/generate/french_kiss","sidebarTitle":"French Kiss","href":"/api-reference/video-effects/templates/french_kiss"},{"title":"AI Twerk Dance Video Generator API","openapi":"POST /api/v2/videoeffect/generate/twerk_dance","sidebarTitle":"Twerk Dance","href":"/api-reference/video-effects/templates/twerk_dance"},{"title":"AI Drunk Pole Dance Video Generator API","openapi":"POST /api/v2/videoeffect/generate/drunk_pole_dance","sidebarTitle":"Drunk Pole Dance","href":"/api-reference/video-effects/templates/drunk_pole_dance"},{"title":"AI Alien Kidnap Video Generator API","openapi":"POST /api/v2/videoeffect/generate/alien_kidnap","sidebarTitle":"Alien Kidnap","href":"/api-reference/video-effects/templates/alien_kidnap"},{"title":"AI Hip Shake Video Generator API","openapi":"POST /api/v2/videoeffect/generate/hip_shake","sidebarTitle":"Hip shake","href":"/api-reference/video-effects/templates/hip_shake"},{"title":"AI Pet-pocalypse Video Generator API","openapi":"POST /api/v2/videoeffect/generate/pet_pocalypse","sidebarTitle":"Pet-pocalypse","href":"/api-reference/video-effects/templates/pet_pocalypse"},{"title":"AI Muscle Bodybuilding Video Generator API","openapi":"POST /api/v2/videoeffect/generate/muscle_bodybuilding","sidebarTitle":"Muscle Bodybuilding","href":"/api-reference/video-effects/templates/muscle_bodybuilding"},{"title":"AI Earth Zoom In Video Generator API","openapi":"POST /api/v2/videoeffect/generate/earth_zoom_in","sidebarTitle":"Earth Zoom In","href":"/api-reference/video-effects/templates/earth_zoom_in"},{"title":"AI Earth Zoom Out Video Generator API","openapi":"POST /api/v2/videoeffect/generate/earth_zoom_out","sidebarTitle":"Earth Zoom Out","href":"/api-reference/video-effects/templates/earth_zoom_out"},{"title":"AI Jiggle Dance Video Generator API","openapi":"POST /api/v2/videoeffect/generate/jiggle_dance","sidebarTitle":"Jiggle dance","href":"/api-reference/video-effects/templates/jiggle_dance"},{"title":"AI Heart Pose Video Generator API","openapi":"POST /api/v2/videoeffect/generate/heart_pose","sidebarTitle":"Heart Pose","href":"/api-reference/video-effects/templates/heart_pose"},{"title":"AI Old Photo Video Generator API","openapi":"POST /api/v2/videoeffect/generate/old_photo_revival","sidebarTitle":"Old Photo Revival","href":"/api-reference/video-effects/templates/old_photo_revival"},{"title":"AI Bikini Video Generator API","openapi":"POST /api/v2/videoeffect/generate/bikini-up","sidebarTitle":"Bikini Up","href":"/api-reference/video-effects/templates/bikini-up"},{"title":"AI Muscle Show Video Generator API","openapi":"POST /api/v2/videoeffect/generate/muscle","sidebarTitle":"Muscle Show","href":"/api-reference/video-effects/templates/muscle"},{"title":"AI Go Super Video Generator API","openapi":"POST /api/v2/videoeffect/generate/go_super","sidebarTitle":"Go Super","href":"/api-reference/video-effects/templates/go_super"},{"title":"AI Mermaid Spell Video Generator API","openapi":"POST /api/v2/videoeffect/generate/mermaid_spell","sidebarTitle":"Mermaid Spell","href":"/api-reference/video-effects/templates/mermaid_spell"},{"title":"AI Focus Lens Video Generator API","openapi":"POST /api/v2/videoeffect/generate/focus_lens","sidebarTitle":"Focus Lens","href":"/api-reference/video-effects/templates/focus_lens"},{"title":"AI Sleep Video Generator API","openapi":"POST /api/v2/videoeffect/generate/nap_me","sidebarTitle":"AI Sleep","href":"/api-reference/video-effects/templates/nap_me"},{"title":"AI Boyfriendsssss Video Generator API","openapi":"POST /api/v2/videoeffect/generate/boyfriendsssss","sidebarTitle":"Boyfriendsssss","href":"/api-reference/video-effects/templates/boyfriendsssss"},{"title":"AI Girlfriendsssss Video Generator API","openapi":"POST /api/v2/videoeffect/generate/girlfriendsssss","sidebarTitle":"Girlfriendsssss","href":"/api-reference/video-effects/templates/girlfriendsssss"},{"title":"AI Sleek Split Video Generator API","openapi":"POST /api/v2/videoeffect/generate/sleek_split","sidebarTitle":"Sleek Split","href":"/api-reference/video-effects/templates/sleek_split"},{"title":"AI Squat Shake Video Generator API","openapi":"POST /api/v2/videoeffect/generate/squat_shake","sidebarTitle":"Squat Shake","href":"/api-reference/video-effects/templates/squat_shake"},{"title":"AI Smash Video Generator API","openapi":"POST /api/v2/videoeffect/generate/smash_it","sidebarTitle":"Smash It","href":"/api-reference/video-effects/templates/smash_it"},{"title":"AI Set On Fire Video Generator API","openapi":"POST /api/v2/videoeffect/generate/set_on_fire","sidebarTitle":"Set On Fire","href":"/api-reference/video-effects/templates/set_on_fire"},{"title":"AI Blow Kiss Video Generator API","openapi":"POST /api/v2/videoeffect/generate/blow_a_kiss","sidebarTitle":"Blow Kiss","href":"/api-reference/video-effects/templates/blow_a_kiss"},{"title":"AI Face Punch Video Generator API","openapi":"POST /api/v2/videoeffect/generate/face_punch","sidebarTitle":"Face Punch","href":"/api-reference/video-effects/templates/face_punch"},{"title":"AI Tongue Out Face Video Generator API","openapi":"POST /api/v2/videoeffect/generate/make_a_face","sidebarTitle":"Tongue Out Face","href":"/api-reference/video-effects/templates/make_a_face"},{"title":"AI Turning Metal Video Generator API","openapi":"POST /api/v2/videoeffect/generate/turning_metal","sidebarTitle":"Turning Metal","href":"/api-reference/video-effects/templates/turning_metal"},{"title":"AI Anime to Real Video Generator API","openapi":"POST /api/v2/videoeffect/generate/anime2real","sidebarTitle":"Anime2Real","href":"/api-reference/video-effects/templates/anime2real"},{"title":"AI Titan Stride Video Generator API","openapi":"POST /api/v2/videoeffect/generate/titan_stride","sidebarTitle":"Titan Stride","href":"/api-reference/video-effects/templates/titan_stride"},{"title":"AI Thunder God Video Generator API","openapi":"POST /api/v2/videoeffect/generate/thunder_god","sidebarTitle":"Thunder God","href":"/api-reference/video-effects/templates/thunder_god"},{"title":"AI Spitfire Video Generator API","openapi":"POST /api/v2/videoeffect/generate/spitfire","sidebarTitle":"Spitfire","href":"/api-reference/video-effects/templates/spitfire"},{"title":"AI Phut Hon Dance Video Generator API","openapi":"POST /api/v2/videoeffect/generate/phut-dance","sidebarTitle":"Phut Hon Dance","href":"/api-reference/video-effects/templates/phut-dance"}]}]},{"group":"Face Swap API","pages":[{"title":"Image Face Swap API","openapi":"POST /api/v1/imagefaceswap/generate","href":"/api-reference/face-swap/image-generate"},{"title":"Head Swap API","openapi":"api-reference/face-swap/openapi-head-swap.json POST /api/v1/head-swap","href":"/api-reference/face-swap/head-swap"},{"title":"Video Face Swap API","openapi":"POST /api/v1/videofaceswap/generate","href":"/api-reference/face-swap/video-generate"},{"title":"Task Status API","openapi":"GET /api/v1/jobs/detail","href":"/api-reference/face-swap/task-status"}]},{"group":"Tasks","pages":[{"title":"Get Job Status","openapi":"GET /api/v1/jobs/detail","sidebarTitle":"Get Job Status","href":"/api-reference/tasks/detail"},{"title":"Task Callback (Webhook)","sidebarTitle":"Task Callback","href":"/api-reference/tasks/callback"}]},{"group":"Credits","pages":[{"title":"Get User Credits","openapi":"GET /api/v1/user/tokens","sidebarTitle":"Get Credits","href":"/api-reference/credits/tokens"}]}]}]},"basePath":"","title":"Qwen-Image 2.1 - GoEnhanceAI API","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-i2a3QZ8E.js","utils-ChLwp8m0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DRktVTDc.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CA2pEs4T.js","snippetPresets-ClQ6XrKD.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ct_Lv36y.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-Cn2PYw9e.js","shallow-rkyymjXQ.js","getApiPlaygroundDisplay-BB9vkXtE.js","CodeSnippet-Bm5RU7m1.js","CodeSnippets-BgU9Deuz.js","Page-BUDYNlhG.js","getPastedJson-BD-6NNum.js","icon-8Z6tud2e.js","MethodPill-Tuzr4g3V.js","DuplicateIcon-0ceWFYhN.js","createIcon-FBXow_ST.js","DynamicMarkdown-CD8713Yy.js","SectionHeading-7zgzQbH-.js","axios-vUo_bRtp.js","Markdown-D7Ofw1oz.js","clsx-eKJ4rcii.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CwjSCXIK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-9EK5IAXV.js"]}