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 requests
url = "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));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "qwen_image_3_pro",
"params": map[string]interface{}{
"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",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String 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"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "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"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("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"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
let payload: [String: Any] = [
"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"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var 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""
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://aireiter.com/api/openapi/submit";
const char *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\"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSDictionary *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": @YES,
@"prompt_extend_mode": @"agent",
@"negative_prompt": @"garbled text, blur, cramped layout, watermark"
},
@"out_task_id": @"qwen_image_3_pro_task_001"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let 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"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "qwen_image_3_pro_task_001",
"status": "pending",
"estimated_credits": 100,
"created_at": "2025-12-22T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"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 requests
url = "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));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "qwen_image_3_pro",
"params": map[string]interface{}{
"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",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String 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"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "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"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("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"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
let payload: [String: Any] = [
"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"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var 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""
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://aireiter.com/api/openapi/submit";
const char *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\"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSDictionary *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": @YES,
@"prompt_extend_mode": @"agent",
@"negative_prompt": @"garbled text, blur, cramped layout, watermark"
},
@"out_task_id": @"qwen_image_3_pro_task_001"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let 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"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "qwen_image_3_pro_task_001",
"status": "pending",
"estimated_credits": 100,
"created_at": "2025-12-22T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"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"
}
}
Authorizations
string
required
All endpoints require Bearer Token authentication.Visit the API Key management page to get your API Key, and add the following to the request headers:
Authorization: Bearer YOUR_API_KEY
Body
string
required
Model name, fixed value:
"qwen_image_3_pro".object
required
Model parameters object.
Show params Object Properties
Show params Object Properties
string
required
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.
string[]
Array of reference images. When provided, image-to-image mode is used; when omitted, text-to-image mode is used.
- Up to 3 reference images
- Maximum 10MB per image
- Supports jpeg, png, webp
- Supports publicly accessible URLs or complete Base64 Data URIs
The image URL must be directly accessible from the public internet and cannot rely on login status, cookies, or temporary page authorization.
string
default:"1K"
Output resolution tier.
1K- Base resolution (default)2K- High-definition resolution, suitable for text, posters, and dense layouts
string
default:"1:1"
Output image aspect ratio.Supports the following values:
1:1- Square (default)3:2/2:3- Classic landscape / portrait4:3/3:4- Standard landscape / portrait16:9/9:16- Widescreen landscape / portrait
integer
default:"1"
Number of images generated for this task, ranging from
1 to 6.boolean
default:"false"
Intelligent prompt rewriting. Disabled by default to ensure predictable results. Set to
true when intelligent rewriting is needed.string
default:"direct"
Prompt rewriting mode. Effective only when
prompt_extend is true.direct- Balanced rewriting, supports both text-to-image and image-to-imageagent- Aggressive rewriting, supports text-to-image only
string
Negative prompt, used to describe content that should not appear in the result, such as blur, garbled text, crowded layouts, or distorted structures.
string
required
Caller-defined task ID, used for idempotent submission and result querying.
- Length of 1-64 characters
- Recommended to use only letters, numbers, underscores, and hyphens
- Do not reuse the same value under the same API Key
Response
string
Caller task ID, which can be used to query the task status and result.
string
Initial status, usually
"pending".string
Task creation time, in ISO 8601 format.
Query Results
After a successful submission, call the query endpoint using the sameout_task_id:
curl --request POST \
--url https://aireiter.com/api/openapi/query \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"out_task_id": "qwen_image_3_pro_task_001"
}'
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 requests
url = "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));
package main
import (
"bytes"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
func main() {
url := "https://aireiter.com/api/openapi/submit"
payload := map[string]interface{}{
"model": "qwen_image_3_pro",
"params": map[string]interface{}{
"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",
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
public class Main {
public static void main(String[] args) throws Exception {
String url = "https://aireiter.com/api/openapi/submit";
String 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"
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<?php
$url = "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"
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer <token>",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
require 'net/http'
require 'json'
require 'uri'
url = URI("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"
}
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = "Bearer <token>"
request["Content-Type"] = "application/json"
request.body = payload.to_json
response = http.request(request)
puts response.body
import Foundation
let url = URL(string: "https://aireiter.com/api/openapi/submit")!
let payload: [String: Any] = [
"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"
]
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("Bearer <token>", forHTTPHeaderField: "Authorization")
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload)
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error)")
return
}
if let data = data, let responseString = String(data: data, encoding: .utf8) {
print(responseString)
}
}
task.resume()
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
var url = "https://aireiter.com/api/openapi/submit";
var 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""
}";
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer <token>");
var content = new StringContent(payload, Encoding.UTF8, "application/json");
var response = await client.PostAsync(url, content);
var result = await response.Content.ReadAsStringAsync();
Console.WriteLine(result);
}
}
#include <stdio.h>
#include <curl/curl.h>
int main(void) {
CURL *curl;
CURLcode res;
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
const char *url = "https://aireiter.com/api/openapi/submit";
const char *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\"}";
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Authorization: Bearer <token>");
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, payload);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_slist_free_all(headers);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSURL *url = [NSURL URLWithString:@"https://aireiter.com/api/openapi/submit"];
NSDictionary *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": @YES,
@"prompt_extend_mode": @"agent",
@"negative_prompt": @"garbled text, blur, cramped layout, watermark"
},
@"out_task_id": @"qwen_image_3_pro_task_001"
};
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:payload
options:0
error:&error];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"Bearer <token>" forHTTPHeaderField:@"Authorization"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:jsonData];
NSURLSessionDataTask *task = [[NSURLSession sharedSession]
dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"Error: %@", error);
return;
}
NSString *result = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
NSLog(@"%@", result);
}];
[task resume];
[[NSRunLoop mainRunLoop] run];
}
return 0;
}
(* Requires cohttp and yojson libraries *)
open Lwt
open Cohttp
open Cohttp_lwt_unix
let 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"))
{
"statusCode": 200,
"message": "",
"data": {
"out_task_id": "qwen_image_3_pro_task_001",
"status": "pending",
"estimated_credits": 100,
"created_at": "2025-12-22T06:03:28.242Z"
}
}
{
"statusCode": 400,
"message": "Invalid request parameters",
"ok": false
}
{
"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"
}
}