
Tidak ada hasil yang cocok. Coba “video”, “FLUX”, atau “webhooks”.
Memuat model…
alibaba/qwen-image-3/text-to-image
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/alibaba/qwen-image-3/text-to-image?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A cozy bookstore window at dusk with a hand-painted wooden sign that reads \"Moonlight Books · 月光书店\", stacks of books, warm string lights, light rain on the glass, photorealistic."
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/alibaba/qwen-image-3/text-to-image?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A cozy bookstore window at dusk with a hand-painted wooden sign that reads \"Moonlight Books · 月光书店\", stacks of books, warm string lights, light rain on the glass, photorealistic."
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A cozy bookstore window at dusk with a hand-painted wooden sign that reads \"Moonlight Books · 月光书店\", stacks of books, warm string lights, light rain on the glass, photorealistic.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/alibaba/qwen-image-3/text-to-image", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/id/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "alibaba/qwen-image-3/text-to-image",
"input": {
"prompt": "A cozy bookstore window at dusk with a hand-painted wooden sign that reads \"Moonlight Books · 月光书店\", stacks of books, warm string lights, light rain on the glass, photorealistic."
}
}
Panggil model Qwen Image 3 Text to Image (alibaba/qwen-image-3/text-to-image) melalui Doitong API. Dokumentasi untuk agen: https://doitong.com/id/developers/models/alibaba/qwen-image-3/text-to-image.md
POST https://api.doitong.ru/v1/run/alibaba/qwen-image-3/text-to-image?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A cozy bookstore window at dusk with a hand-painted wooden sign that reads \"Moonlight Books · 月光书店\", stacks of books, warm string lights, light rain on the glass, photorealistic."
}
Jika status respons adalah "queued" atau "running", lakukan polling GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 hingga statusnya menjadi "succeeded"; file terdapat di outputs[].url. POST https://api.doitong.ru/v1/quote/alibaba/qwen-image-3/text-to-image dengan body yang sama mengembalikan harga pasti sebelum dijalankan.
Permintaan ini: $0,04 40 kredit API · ≈ ₽4,29 Jalankan di halaman ini
Kunci API baru Anda. Ini hanya ditampilkan sekarang dan sudah dimasukkan ke dalam kode serta kolom kunci API di bawah. Simpan secara rahasia: jangan pernah menaruhnya di kode yang berjalan di browser.
Kontrol dibuat dari skema model. Kode dan harga diperbarui saat Anda mengubahnya.
/run/alibaba/qwen-image-3/text-to-image?wait=20
estimasi harga → $0,04
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/alibaba/qwen-image-3/text-to-image?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A cozy bookstore window at dusk with a hand-painted wooden sign that reads \"Moonlight Books · 月光书店\", stacks of books, warm string lights, light rain on the glass, photorealistic."
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/alibaba/qwen-image-3/text-to-image?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A cozy bookstore window at dusk with a hand-painted wooden sign that reads \"Moonlight Books · 月光书店\", stacks of books, warm string lights, light rain on the glass, photorealistic."
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"prompt": "A cozy bookstore window at dusk with a hand-painted wooden sign that reads \"Moonlight Books · 月光书店\", stacks of books, warm string lights, light rain on the glass, photorealistic.",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/alibaba/qwen-image-3/text-to-image", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "alibaba/qwen-image-3/text-to-image",
"input": {
"prompt": "A cozy bookstore window at dusk with a hand-painted wooden sign that reads \"Moonlight Books · 月光书店\", stacks of books, warm string lights, light rain on the glass, photorealistic."
},
"wait_seconds": 20
}
}
}
Key Anda tetap berada di browser ini: key hanya dikirim ke Doitong API dan disimpan (localStorage) hanya jika Anda mencentang Ingat. Dapatkan kunci API
Qwen Image 3 sangat baik dalam menambahkan teks bahasa Inggris dan Tionghoa yang terbaca ke dalam gambar: tanda, label, slide, dan meme. Model ini menerima prompt negatif, perluasan prompt otomatis opsional, dan seed, serta merender dari 512x512 hingga 2048x2048 piksel. Hingga enam gambar per permintaan dalam format PNG, JPEG, atau WebP.
Kirim nama kanonis atau nama asli, bukan keduanya. Nama kanonis
promptwajib
negative_promptopsional
image_sizeopsional
enable_prompt_expansionopsional
seedopsional
num_imagesopsional
num_outputs
output_formatopsional
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "alibaba/qwen-image-3/text-to-image",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 40,
"usd": "0.04",
"charged": 40,
"refunded": 0
},
"input": {
"prompt": "A cute baby koala on a water slide holding a card that says \"Summer starts now\", bright afternoon light",
"negative_prompt": "low resolution, blurry, deformed",
"image_size": "square_hd"
},
"output": {
"images": [
{
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
}
],
"seed": 42
},
"outputs": [
{
"type": "image",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_size": 1843200,
"width": 1024,
"height": 768,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Untuk agen AI: halaman ini dalam Markdown tersedia di https://doitong.com/id/developers/models/alibaba/qwen-image-3/text-to-image.md. Semua model dan panduan: https://doitong.com/developers/llms.txt