curl --request POST \\
--url https://aireiter.com/api/openapi/submit \\
--header 'Authorization: Bearer <token>' \\
--header 'Content-Type: application/json' \\
--data '{
"model": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_task_001"
}'
curl --request POST \\
--url https://aireiter.com/api/openapi/submit \\
--header 'Authorization: Bearer <token>' \\
--header 'Content-Type: application/json' \\
--data '{
"model": "z_image_turbo",
"params": {
"prompt": "어두운 배경의 스킨케어 제품 포스터, 병 전면에 '신제품 출시'라고 적혀 있음, 차가운 톤의 윤곽광, 사실적인 유리 반사",
"aspect_ratio": "9:16",
"seed": 20260827
},
"out_task_id": "z_image_turbo_seed_001"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_python_001"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch("https://aireiter.com/api/openapi/submit", {
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "z_image_turbo",
params: {
prompt: "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
aspect_ratio: "16:9"
},
out_task_id: "z_image_turbo_javascript_001"
})
});
console.log(await response.json());
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
payload := []byte(`{
"model":"z_image_turbo",
"params":{
"prompt":"아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio":"16:9"
},
"out_task_id":"z_image_turbo_go_001"
}`)
req, _ := http.NewRequest(
http.MethodPost,
"https://aireiter.com/api/openapi/submit",
bytes.NewBuffer(payload),
)
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String payload = """
{
"model": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_java_001"
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://aireiter.com/api/openapi/submit"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "z_image_turbo",
"params" => [
"prompt" => "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio" => "16:9"
],
"out_task_id" => "z_image_turbo_php_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, JSON_UNESCAPED_UNICODE));
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: "z_image_turbo",
params: {
prompt: "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
aspect_ratio: "16:9"
},
out_task_id: "z_image_turbo_ruby_001"
}
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
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 '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": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_dart_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 = "z_image_turbo",
params = list(
prompt = "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
aspect_ratio = "16:9"
),
out_task_id = "z_image_turbo_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": {
"task_id": "",
"status": "pending",
"created_at": "2026-08-27T09:47:44.021Z",
"out_task_id": "z_image_turbo_task_001",
"estimated_credits": "<예상 소모 크레딧>"
},
"ok": true
}
{
"statusCode": 400,
"message": "유효하지 않은 aspect_ratio: \"21:9\". 허용됨: [1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2]",
"ok": false
}
{
"statusCode": 400,
"message": "Model \"z_image_turbo\"는 size 매개변수를 지원하지 않습니다",
"ok": false
}
{
"error": {
"code": 401,
"message": "인증에 실패했습니다. API 키를 확인하세요"
}
}
{
"error": {
"code": 433,
"message": "계정 잔액이 부족합니다. 충전한 후 다시 시도하세요"
}
}
{
"error": {
"code": 500,
"message": "서버 내부 오류입니다. 잠시 후 다시 시도하세요"
}
}
Z-Image Turbo
Z-Image Turbo 이미지 생성
- 비동기 처리 모드로, 이후 조회를 위한 작업 ID를 반환합니다.
- Alibaba Tongyi 고속 텍스트-이미지 모델로, 약 8단계 샘플링으로 이미지를 생성하며 사실적인 질감을 강조합니다.
- 중영문 텍스트 렌더링이 선명하여 제목이 포함된 포스터, Banner 및 소셜 미디어 소재에 적합합니다.
- 9가지 이미지 비율을 지원하며, 한 번에 1장을 고정으로 반환합니다.
- 텍스트-이미지 생성만 지원하며, 참고 이미지, 이미지 편집 및 사용자 지정 픽셀 크기는 지원하지 않습니다.
- 제출된 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": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_task_001"
}'
curl --request POST \\
--url https://aireiter.com/api/openapi/submit \\
--header 'Authorization: Bearer <token>' \\
--header 'Content-Type: application/json' \\
--data '{
"model": "z_image_turbo",
"params": {
"prompt": "어두운 배경의 스킨케어 제품 포스터, 병 전면에 '신제품 출시'라고 적혀 있음, 차가운 톤의 윤곽광, 사실적인 유리 반사",
"aspect_ratio": "9:16",
"seed": 20260827
},
"out_task_id": "z_image_turbo_seed_001"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_python_001"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch("https://aireiter.com/api/openapi/submit", {
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "z_image_turbo",
params: {
prompt: "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
aspect_ratio: "16:9"
},
out_task_id: "z_image_turbo_javascript_001"
})
});
console.log(await response.json());
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
payload := []byte(`{
"model":"z_image_turbo",
"params":{
"prompt":"아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio":"16:9"
},
"out_task_id":"z_image_turbo_go_001"
}`)
req, _ := http.NewRequest(
http.MethodPost,
"https://aireiter.com/api/openapi/submit",
bytes.NewBuffer(payload),
)
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String payload = """
{
"model": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_java_001"
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://aireiter.com/api/openapi/submit"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "z_image_turbo",
"params" => [
"prompt" => "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio" => "16:9"
],
"out_task_id" => "z_image_turbo_php_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, JSON_UNESCAPED_UNICODE));
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: "z_image_turbo",
params: {
prompt: "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
aspect_ratio: "16:9"
},
out_task_id: "z_image_turbo_ruby_001"
}
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
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 '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": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_dart_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 = "z_image_turbo",
params = list(
prompt = "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
aspect_ratio = "16:9"
),
out_task_id = "z_image_turbo_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": {
"task_id": "",
"status": "pending",
"created_at": "2026-08-27T09:47:44.021Z",
"out_task_id": "z_image_turbo_task_001",
"estimated_credits": "<예상 소모 크레딧>"
},
"ok": true
}
{
"statusCode": 400,
"message": "유효하지 않은 aspect_ratio: \"21:9\". 허용됨: [1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2]",
"ok": false
}
{
"statusCode": 400,
"message": "Model \"z_image_turbo\"는 size 매개변수를 지원하지 않습니다",
"ok": false
}
{
"error": {
"code": 401,
"message": "인증에 실패했습니다. API 키를 확인하세요"
}
}
{
"error": {
"code": 433,
"message": "계정 잔액이 부족합니다. 충전한 후 다시 시도하세요"
}
}
{
"error": {
"code": 500,
"message": "서버 내부 오류입니다. 잠시 후 다시 시도하세요"
}
}
Authorizations
string
필수
모든 인터페이스는 Bearer Token으로 인증해야 합니다.API Key 받기:API Key 관리 페이지에 방문하여 API Key를 받으세요.사용할 때는 요청 헤더에 다음을 추가하세요:
Authorization: Bearer YOUR_API_KEY
Body
string
필수
모델 이름.고정값:
"z_image_turbo"object
필수
모델 파라미터 객체.
표시 params 객체 속성
표시 params 객체 속성
string
필수
이미지 생성 지시문, 최대 2000자.
- 중영문 모두 지원하며, 주제, 장면, 구도, 조명, 재질을 명확하게 묘사하는 것을 권장합니다
- 모델은 사실적인 스타일에 치우쳐 있어, 실제 같은 빛과 재질을 설명하는 프롬프트일수록 더 좋은 효과를 냅니다
- 화면에 텍스트가 나타나야 할 때는 텍스트 내용을 따옴표로 감싸세요. 한중영 모두 가능합니다
- 제출 전에 플랫폼의 민감어 / 안전 심사를 거치며, 위반 내용이 감지되면 바로 오류를 반환합니다
string
기본값:"1:1"
이미지 가로세로 비율.다음 값을 지원합니다:
1:1- 정사각형(기본)16:9/9:16- 와이드 스크린 가로형 / 세로형4:3/3:4- 표준 가로형 / 세로형3:2/2:3- 클래식 가로형 / 세로형2:1/1:2- 파노라마 가로형 / 긴 세로형
aspect_ratio는 모델의 목표 비율 구간을 의미하며, 고정된 픽셀 크기를 보장하지 않습니다. 반환되는 값은 해당 비율에 가까운 모델의 기본 크기입니다. 예를 들어 실제로 16:9를 측정하면 1536×864가 반환됩니다.integer
랜덤 시드로, 결과 재현에 사용되며 범위는 1-2147483647입니다.
- 동일한
prompt+seed조합은 구도가 비슷한 이미지를 생성합니다 - 전달하지 않으면 매번 랜덤 결과가 생성됩니다
string
필수
호출 측에서 지정하는 사용자 정의 작업 ID로, 멱등 제출 및 결과 조회에 사용됩니다.
- 길이는 1-64자
- 영문자, 숫자, 밑줄, 하이픈만 허용됩니다
- 동일한 API Key 아래에서는 중복 사용할 수 없습니다
Z-Image Turbo는 텍스트로 이미지 생성만 지원합니다. 참고 이미지(
image_url), 이미지 편집, 해상도 단계(resolution), 일괄 이미지 생성(output_n)은 모두 지원되지 않으며, 사용자 지정 픽셀 크기 size를 전달하면 즉시 Model "z_image_turbo" does not support size parameter를 반환합니다. 요청마다 항상 1장의 이미지만 반환되므로, 여러 장이 필요하면 서로 다른 seed로 여러 번 제출하세요.참고 이미지, 이미지 기반 이미지 생성 또는 더 큰 캔버스가 필요할 때는 GPT-Image 2, Seedream 5.0 Pro 또는 Nano Banana Pro를 사용하세요.Response
string
호출자 작업 ID로, 결과 조회에 사용할 수 있습니다.
string
초기 상태이며, 고정값은
"pending"입니다.number
이번 작업의 예상 소모 크레딧입니다.
string
생성 시간, ISO 8601 형식입니다.
조회 결과
제출이 성공한 후, 동일한out_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": "z_image_turbo_task_001"
}'
pending, processing, completed, failed가 포함됩니다. 작업이 완료되면 결과 이미지는 data.output에 있으며, 실제 소모량은 data.credits_used에 있습니다. 작업 생성에 실패하면 시스템이 이번 작업의 사전 차감 크레딧을 자동으로 환불합니다.
curl --request POST \\
--url https://aireiter.com/api/openapi/submit \\
--header 'Authorization: Bearer <token>' \\
--header 'Content-Type: application/json' \\
--data '{
"model": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_task_001"
}'
curl --request POST \\
--url https://aireiter.com/api/openapi/submit \\
--header 'Authorization: Bearer <token>' \\
--header 'Content-Type: application/json' \\
--data '{
"model": "z_image_turbo",
"params": {
"prompt": "어두운 배경의 스킨케어 제품 포스터, 병 전면에 '신제품 출시'라고 적혀 있음, 차가운 톤의 윤곽광, 사실적인 유리 반사",
"aspect_ratio": "9:16",
"seed": 20260827
},
"out_task_id": "z_image_turbo_seed_001"
}'
import requests
url = "https://aireiter.com/api/openapi/submit"
payload = {
"model": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_python_001"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
const response = await fetch("https://aireiter.com/api/openapi/submit", {
method: "POST",
headers: {
Authorization: "Bearer <token>",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "z_image_turbo",
params: {
prompt: "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
aspect_ratio: "16:9"
},
out_task_id: "z_image_turbo_javascript_001"
})
});
console.log(await response.json());
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
payload := []byte(`{
"model":"z_image_turbo",
"params":{
"prompt":"아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio":"16:9"
},
"out_task_id":"z_image_turbo_go_001"
}`)
req, _ := http.NewRequest(
http.MethodPost,
"https://aireiter.com/api/openapi/submit",
bytes.NewBuffer(payload),
)
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
response, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer response.Body.Close()
body, _ := io.ReadAll(response.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
String payload = """
{
"model": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_java_001"
}
""";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://aireiter.com/api/openapi/submit"))
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(payload))
.build();
HttpResponse<String> response = HttpClient.newHttpClient().send(
request,
HttpResponse.BodyHandlers.ofString()
);
System.out.println(response.body());
}
}
<?php
$url = "https://aireiter.com/api/openapi/submit";
$payload = [
"model" => "z_image_turbo",
"params" => [
"prompt" => "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio" => "16:9"
],
"out_task_id" => "z_image_turbo_php_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, JSON_UNESCAPED_UNICODE));
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: "z_image_turbo",
params: {
prompt: "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
aspect_ratio: "16:9"
},
out_task_id: "z_image_turbo_ruby_001"
}
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
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 '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": "z_image_turbo",
"params": {
"prompt": "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
"aspect_ratio": "16:9"
},
"out_task_id": "z_image_turbo_dart_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 = "z_image_turbo",
params = list(
prompt = "아침 측면광 아래의 도자기 커피잔이 대리석 상판 위에 놓여 있는 장면, 얕은 심도, 실제 재질과 자연스러운 그림자, 상업용 제품 사진",
aspect_ratio = "16:9"
),
out_task_id = "z_image_turbo_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": {
"task_id": "",
"status": "pending",
"created_at": "2026-08-27T09:47:44.021Z",
"out_task_id": "z_image_turbo_task_001",
"estimated_credits": "<예상 소모 크레딧>"
},
"ok": true
}
{
"statusCode": 400,
"message": "유효하지 않은 aspect_ratio: \"21:9\". 허용됨: [1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3, 2:1, 1:2]",
"ok": false
}
{
"statusCode": 400,
"message": "Model \"z_image_turbo\"는 size 매개변수를 지원하지 않습니다",
"ok": false
}
{
"error": {
"code": 401,
"message": "인증에 실패했습니다. API 키를 확인하세요"
}
}
{
"error": {
"code": 433,
"message": "계정 잔액이 부족합니다. 충전한 후 다시 시도하세요"
}
}
{
"error": {
"code": 500,
"message": "서버 내부 오류입니다. 잠시 후 다시 시도하세요"
}
}