curl --request POST \ --url https://aireiter.com/api/openapi/submit \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": true, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001" }'
curl --request POST \ --url https://aireiter.com/api/openapi/submit \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "qwen_image_3_pro", "params": { "prompt": "Use the product subject from the first image, the color palette from the second image, and the layout from the third image to generate a premium landscape ad while keeping the label text clear", "image_url": [ "https://example.com/product.png", "https://example.com/color-reference.png", "https://example.com/layout-reference.png" ], "resolution": "2K", "aspect_ratio": "16:9", "output_n": 1 }, "out_task_id": "qwen_image_3_pro_edit_001" }'
import requestsurl = "https://aireiter.com/api/openapi/submit"payload = { "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": True, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001"}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}response = requests.post(url, json=payload, headers=headers)print(response.json())
const url = "https://aireiter.com/api/openapi/submit";const payload = { model: "qwen_image_3_pro", params: { prompt: "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", resolution: "2K", aspect_ratio: "3:4", output_n: 1, prompt_extend: true, prompt_extend_mode: "agent", negative_prompt: "garbled text, blur, cramped layout, watermark" }, out_task_id: "qwen_image_3_pro_task_001"};const headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"};fetch(url, { method: "POST", headers: headers, body: JSON.stringify(payload)}) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error));
(* Requires cohttp and yojson libraries *)open Lwtopen Cohttpopen Cohttp_lwt_unixlet url = "https://aireiter.com/api/openapi/submit"let payload = {|{ "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": true, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001"}|}let () = let headers = Header.init () |> fun h -> Header.add h "Authorization" "Bearer <token>" |> fun h -> Header.add h "Content-Type" "application/json" in let body = Cohttp_lwt.Body.of_string payload in let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) -> body |> Cohttp_lwt.Body.to_string >|= fun body_str -> print_endline body_str in Lwt_main.run response
import 'dart:convert';import 'package:http/http.dart' as http;void main() async { final url = Uri.parse('https://aireiter.com/api/openapi/submit'); final payload = { "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": true, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001" }; final response = await http.post( url, headers: { 'Authorization': 'Bearer <token>', 'Content-Type': 'application/json' }, body: jsonEncode(payload), ); print(response.body);}
library(httr)library(jsonlite)url <- "https://aireiter.com/api/openapi/submit"payload <- list( model = "qwen_image_3_pro", params = list( prompt = "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", resolution = "2K", aspect_ratio = "3:4", output_n = 1, prompt_extend = TRUE, prompt_extend_mode = "agent", negative_prompt = "garbled text, blur, cramped layout, watermark" ), out_task_id = "qwen_image_3_pro_task_001")response <- POST( url, add_headers( Authorization = "Bearer <token>", `Content-Type` = "application/json" ), body = toJSON(payload, auto_unbox = TRUE), encode = "raw")cat(content(response, "text"))
{ "error": { "code": 401, "message": "Authentication failed, please check your API key" }}
{ "error": { "code": 433, "message": "Insufficient account balance, please top up and try again" } }
{ "error": { "code": 500, "message": "Internal server error, please try again later" }}
Qwen Image 3.0
Qwen Image 3.0 Pro Image Generation and Editing
Suitable for posters, text layout, menus, infographics, and high-detail image editing
Asynchronous processing mode, returns a task ID for later querying
Supports text-to-image, up to 3 reference images, and generating 1-6 images at a time
Supports 1K / 2K resolutions and 7 common image aspect ratios
Submitted prompts will go through platform sensitive word / safety review, and violating content will be rejected directly
POST
/
api
/
openapi
/
submit
curl --request POST \ --url https://aireiter.com/api/openapi/submit \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": true, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001" }'
curl --request POST \ --url https://aireiter.com/api/openapi/submit \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "qwen_image_3_pro", "params": { "prompt": "Use the product subject from the first image, the color palette from the second image, and the layout from the third image to generate a premium landscape ad while keeping the label text clear", "image_url": [ "https://example.com/product.png", "https://example.com/color-reference.png", "https://example.com/layout-reference.png" ], "resolution": "2K", "aspect_ratio": "16:9", "output_n": 1 }, "out_task_id": "qwen_image_3_pro_edit_001" }'
import requestsurl = "https://aireiter.com/api/openapi/submit"payload = { "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": True, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001"}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}response = requests.post(url, json=payload, headers=headers)print(response.json())
const url = "https://aireiter.com/api/openapi/submit";const payload = { model: "qwen_image_3_pro", params: { prompt: "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", resolution: "2K", aspect_ratio: "3:4", output_n: 1, prompt_extend: true, prompt_extend_mode: "agent", negative_prompt: "garbled text, blur, cramped layout, watermark" }, out_task_id: "qwen_image_3_pro_task_001"};const headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"};fetch(url, { method: "POST", headers: headers, body: JSON.stringify(payload)}) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error));
(* Requires cohttp and yojson libraries *)open Lwtopen Cohttpopen Cohttp_lwt_unixlet url = "https://aireiter.com/api/openapi/submit"let payload = {|{ "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": true, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001"}|}let () = let headers = Header.init () |> fun h -> Header.add h "Authorization" "Bearer <token>" |> fun h -> Header.add h "Content-Type" "application/json" in let body = Cohttp_lwt.Body.of_string payload in let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) -> body |> Cohttp_lwt.Body.to_string >|= fun body_str -> print_endline body_str in Lwt_main.run response
import 'dart:convert';import 'package:http/http.dart' as http;void main() async { final url = Uri.parse('https://aireiter.com/api/openapi/submit'); final payload = { "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": true, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001" }; final response = await http.post( url, headers: { 'Authorization': 'Bearer <token>', 'Content-Type': 'application/json' }, body: jsonEncode(payload), ); print(response.body);}
library(httr)library(jsonlite)url <- "https://aireiter.com/api/openapi/submit"payload <- list( model = "qwen_image_3_pro", params = list( prompt = "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", resolution = "2K", aspect_ratio = "3:4", output_n = 1, prompt_extend = TRUE, prompt_extend_mode = "agent", negative_prompt = "garbled text, blur, cramped layout, watermark" ), out_task_id = "qwen_image_3_pro_task_001")response <- POST( url, add_headers( Authorization = "Bearer <token>", `Content-Type` = "application/json" ), body = toJSON(payload, auto_unbox = TRUE), encode = "raw")cat(content(response, "text"))
Image generation or editing instructions. Supports both Chinese and English.The Pro model is suitable for tasks that require readable text, complex hierarchy, dense layouts, and high-detail rendering. It is recommended to clearly describe the text content, font style, hierarchy, position, whitespace, and reference image features that need to be preserved.
Task statuses include pending, processing, completed, and failed. After the task is completed, the image array is located in data.output.
curl --request POST \ --url https://aireiter.com/api/openapi/submit \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": true, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001" }'
curl --request POST \ --url https://aireiter.com/api/openapi/submit \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "model": "qwen_image_3_pro", "params": { "prompt": "Use the product subject from the first image, the color palette from the second image, and the layout from the third image to generate a premium landscape ad while keeping the label text clear", "image_url": [ "https://example.com/product.png", "https://example.com/color-reference.png", "https://example.com/layout-reference.png" ], "resolution": "2K", "aspect_ratio": "16:9", "output_n": 1 }, "out_task_id": "qwen_image_3_pro_edit_001" }'
import requestsurl = "https://aireiter.com/api/openapi/submit"payload = { "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": True, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001"}headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"}response = requests.post(url, json=payload, headers=headers)print(response.json())
const url = "https://aireiter.com/api/openapi/submit";const payload = { model: "qwen_image_3_pro", params: { prompt: "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", resolution: "2K", aspect_ratio: "3:4", output_n: 1, prompt_extend: true, prompt_extend_mode: "agent", negative_prompt: "garbled text, blur, cramped layout, watermark" }, out_task_id: "qwen_image_3_pro_task_001"};const headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json"};fetch(url, { method: "POST", headers: headers, body: JSON.stringify(payload)}) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error));
(* Requires cohttp and yojson libraries *)open Lwtopen Cohttpopen Cohttp_lwt_unixlet url = "https://aireiter.com/api/openapi/submit"let payload = {|{ "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": true, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001"}|}let () = let headers = Header.init () |> fun h -> Header.add h "Authorization" "Bearer <token>" |> fun h -> Header.add h "Content-Type" "application/json" in let body = Cohttp_lwt.Body.of_string payload in let response = Client.post ~headers ~body (Uri.of_string url) >>= fun (resp, body) -> body |> Cohttp_lwt.Body.to_string >|= fun body_str -> print_endline body_str in Lwt_main.run response
import 'dart:convert';import 'package:http/http.dart' as http;void main() async { final url = Uri.parse('https://aireiter.com/api/openapi/submit'); final payload = { "model": "qwen_image_3_pro", "params": { "prompt": "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", "resolution": "2K", "aspect_ratio": "3:4", "output_n": 1, "prompt_extend": true, "prompt_extend_mode": "agent", "negative_prompt": "garbled text, blur, cramped layout, watermark" }, "out_task_id": "qwen_image_3_pro_task_001" }; final response = await http.post( url, headers: { 'Authorization': 'Bearer <token>', 'Content-Type': 'application/json' }, body: jsonEncode(payload), ); print(response.body);}
library(httr)library(jsonlite)url <- "https://aireiter.com/api/openapi/submit"payload <- list( model = "qwen_image_3_pro", params = list( prompt = "Design a vertical menu poster for a specialty coffee shop, with the title MORNING ROAST, clearly readable price tiers, modern editorial typography, and realistic coffee photography", resolution = "2K", aspect_ratio = "3:4", output_n = 1, prompt_extend = TRUE, prompt_extend_mode = "agent", negative_prompt = "garbled text, blur, cramped layout, watermark" ), out_task_id = "qwen_image_3_pro_task_001")response <- POST( url, add_headers( Authorization = "Bearer <token>", `Content-Type` = "application/json" ), body = toJSON(payload, auto_unbox = TRUE), encode = "raw")cat(content(response, "text"))