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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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": "1枚目の商品の主体、2枚目の配色、3枚目のレイアウトを使って、高級感のある横型広告を生成し、ラベル文字を鮮明に保ってください",
"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": True,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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: "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
resolution: "2K",
aspect_ratio: "3:4",
output_n: 1,
prompt_extend: true,
prompt_extend_mode: "agent",
negative_prompt: "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク",
},
"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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" => "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution" => "2K",
"aspect_ratio" => "3:4",
"output_n" => 1,
"prompt_extend" => true,
"prompt_extend_mode" => "agent",
"negative_prompt" => "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
],
"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: "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
resolution: "2K",
aspect_ratio: "3:4",
output_n: 1,
prompt_extend: true,
prompt_extend_mode: "agent",
negative_prompt: "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
],
"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"": ""高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真"",
""resolution"": ""2K"",
""aspect_ratio"": ""3:4"",
""output_n"": 1,
""prompt_extend"": true,
""prompt_extend_mode"": ""agent"",
""negative_prompt"": ""文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク""
},
""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\":\"高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真\",\"resolution\":\"2K\",\"aspect_ratio\":\"3:4\",\"output_n\":1,\"prompt_extend\":true,\"prompt_extend_mode\":\"agent\",\"negative_prompt\":\"文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク\"},\"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": @"高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
@"resolution": @"2K",
@"aspect_ratio": @"3:4",
@"output_n": @1,
@"prompt_extend": @YES,
@"prompt_extend_mode": @"agent",
@"negative_prompt": @"文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
@"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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 = "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
resolution = "2K",
aspect_ratio = "3:4",
output_n = 1,
prompt_extend = TRUE,
prompt_extend_mode = "agent",
negative_prompt = "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
),
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": "リクエストパラメータが無効です",
"ok": false
}
{
"error": {
"code": 401,
"message": "認証に失敗しました。APIキーを確認してください"
}
}
{
"error": {
"code": 433,
"message": "アカウント残高が不足しています。チャージしてから再試行してください"
}
}
{
"error": {
"code": 500,
"message": "サーバー内部エラーです。しばらくしてから再試行してください"
}
}
Qwen Image 3.0
Qwen Image 3.0 Pro 画像生成と編集
- ポスター、文字レイアウト、メニュー、インフォグラフィック、高精細な画像編集に適しています
- 非同期処理モードで、後続の問い合わせに使用するタスクIDを返します
- テキストから画像の生成、最大3枚の参照画像、1回の生成で1〜6枚の画像に対応しています
- 1K / 2K解像度と7種類の一般的な画像比率に対応しています
- 提出されたpromptはプラットフォームの機微な表現 / 安全審査を経て、違反内容は直接拒否されます
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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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": "1枚目の商品の主体、2枚目の配色、3枚目のレイアウトを使って、高級感のある横型広告を生成し、ラベル文字を鮮明に保ってください",
"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": True,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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: "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
resolution: "2K",
aspect_ratio: "3:4",
output_n: 1,
prompt_extend: true,
prompt_extend_mode: "agent",
negative_prompt: "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク",
},
"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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" => "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution" => "2K",
"aspect_ratio" => "3:4",
"output_n" => 1,
"prompt_extend" => true,
"prompt_extend_mode" => "agent",
"negative_prompt" => "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
],
"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: "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
resolution: "2K",
aspect_ratio: "3:4",
output_n: 1,
prompt_extend: true,
prompt_extend_mode: "agent",
negative_prompt: "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
],
"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"": ""高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真"",
""resolution"": ""2K"",
""aspect_ratio"": ""3:4"",
""output_n"": 1,
""prompt_extend"": true,
""prompt_extend_mode"": ""agent"",
""negative_prompt"": ""文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク""
},
""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\":\"高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真\",\"resolution\":\"2K\",\"aspect_ratio\":\"3:4\",\"output_n\":1,\"prompt_extend\":true,\"prompt_extend_mode\":\"agent\",\"negative_prompt\":\"文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク\"},\"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": @"高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
@"resolution": @"2K",
@"aspect_ratio": @"3:4",
@"output_n": @1,
@"prompt_extend": @YES,
@"prompt_extend_mode": @"agent",
@"negative_prompt": @"文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
@"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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 = "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
resolution = "2K",
aspect_ratio = "3:4",
output_n = 1,
prompt_extend = TRUE,
prompt_extend_mode = "agent",
negative_prompt = "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
),
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": "リクエストパラメータが無効です",
"ok": false
}
{
"error": {
"code": 401,
"message": "認証に失敗しました。APIキーを確認してください"
}
}
{
"error": {
"code": 433,
"message": "アカウント残高が不足しています。チャージしてから再試行してください"
}
}
{
"error": {
"code": 500,
"message": "サーバー内部エラーです。しばらくしてから再試行してください"
}
}
Authorizations
string
必須
すべてのエンドポイントは Bearer Token を使用した認証が必要です。API Key 管理ページ にアクセスして API Key を取得し、リクエストヘッダーに次を追加してください:
Authorization: Bearer YOUR_API_KEY
Body
string
必須
Model name, fixed value:
"qwen_image_3_pro".object
必須
Model parameters object.
表示 params object properties
表示 params object properties
string
必須
Image generation or editing instructions. Supports Chinese and English.The Pro model is suitable for tasks that require readable text, complex hierarchies, dense layouts, and high-detail performance. It is recommended to clearly describe the text content, font style, hierarchy, position, whitespace, and the 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 URI
The image URL must be directly accessible from the public internet and cannot rely on login status, cookies, or temporary page authorization.
string
デフォルト:"1K"
Output resolution tier.
1K- Base resolution (default)2K- High-definition resolution, suitable for text, posters, and dense layouts
string
デフォルト:"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
デフォルト:"1"
Number of images generated for this task, ranging from
1 to 6.boolean
デフォルト:"false"
Intelligent prompt rewriting. Disabled by default to ensure predictable results. Set to
true when intelligent rewriting is needed.string
デフォルト:"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, 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 structural distortion.
string
必須
Caller-defined task ID, used for idempotent submission and result querying.
- Length: 1-64 characters
- Recommended to use only letters, numbers, underscores, and hyphens
- Do not reuse the same ID under the same API Key
Response
string
呼び出し元のタスク ID。タスクの状態と結果の問い合わせに使用できます。
string
初期状態で、通常は
"pending" です。string
タスク作成時刻、ISO 8601 形式。
クエリ結果
送信成功後、同じout_task_id を使用してクエリAPIを呼び出します:
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、failed があります。タスク完了後、画像配列は 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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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": "1枚目の商品の主体、2枚目の配色、3枚目のレイアウトを使って、高級感のある横型広告を生成し、ラベル文字を鮮明に保ってください",
"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": True,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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: "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
resolution: "2K",
aspect_ratio: "3:4",
output_n: 1,
prompt_extend: true,
prompt_extend_mode: "agent",
negative_prompt: "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク",
},
"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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" => "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution" => "2K",
"aspect_ratio" => "3:4",
"output_n" => 1,
"prompt_extend" => true,
"prompt_extend_mode" => "agent",
"negative_prompt" => "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
],
"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: "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
resolution: "2K",
aspect_ratio: "3:4",
output_n: 1,
prompt_extend: true,
prompt_extend_mode: "agent",
negative_prompt: "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
],
"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"": ""高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真"",
""resolution"": ""2K"",
""aspect_ratio"": ""3:4"",
""output_n"": 1,
""prompt_extend"": true,
""prompt_extend_mode"": ""agent"",
""negative_prompt"": ""文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク""
},
""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\":\"高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真\",\"resolution\":\"2K\",\"aspect_ratio\":\"3:4\",\"output_n\":1,\"prompt_extend\":true,\"prompt_extend_mode\":\"agent\",\"negative_prompt\":\"文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク\"},\"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": @"高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
@"resolution": @"2K",
@"aspect_ratio": @"3:4",
@"output_n": @1,
@"prompt_extend": @YES,
@"prompt_extend_mode": @"agent",
@"negative_prompt": @"文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
@"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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": "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
"resolution": "2K",
"aspect_ratio": "3:4",
"output_n": 1,
"prompt_extend": true,
"prompt_extend_mode": "agent",
"negative_prompt": "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
},
"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 = "高級コーヒーショップ向けの縦型メニューポスターをデザインしてください。タイトルは MORNING ROAST、価格帯は見やすく、モダンなエディトリアルレイアウト、リアルなコーヒー写真",
resolution = "2K",
aspect_ratio = "3:4",
output_n = 1,
prompt_extend = TRUE,
prompt_extend_mode = "agent",
negative_prompt = "文字化け、ぼやけ、レイアウトの混雑、ウォーターマーク"
),
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": "リクエストパラメータが無効です",
"ok": false
}
{
"error": {
"code": 401,
"message": "認証に失敗しました。APIキーを確認してください"
}
}
{
"error": {
"code": 433,
"message": "アカウント残高が不足しています。チャージしてから再試行してください"
}
}
{
"error": {
"code": 500,
"message": "サーバー内部エラーです。しばらくしてから再試行してください"
}
}