Văn bản thành ảnhWaveSpeedChuẩn chuyên nghiệp
FLUX.1 Schnell
wavespeed-ai/flux-schnell
wavespeed-ai/flux-schnell. Truy cập mô hình AI từ nhiều nhà cung cấp qua một API. So sánh khả năng, tham số và giá.
Đầy đủ tham số, lược đồ đầu ra và giá hiện tại
| Model Hub | Một nền tảng cho mọi thứ | Phổ biến nhất | Điều khoản | Truy cập mô hình AI từ nhiều nhà cung cấp qua một API. So sánh khả năng, tham số và giá. |
|---|---|---|---|---|
| prompt *Prompt | textarea | — | ≤ 2000 chars | |
| sizeImage size | select | 1024*1024 | 1024*1024 | 1024*768 | 768*1024 | |
| seedSeed | number | -1 | -1 ~ 2147483647 · step 1 | |
| output_formatOutput format | select | jpeg | jpeg | png | webp |
API
Truy cập mô hình AI từ nhiều nhà cung cấp qua một API. So sánh khả năng, tham số và giá.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.framedance.ai/api/v1/marketplace/run/wavespeed-ai/flux-schnell" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "A ceramic vase on a wooden table, natural window light, editorial photography",
"size": "1024*1024",
"seed": -1,
"output_format": "jpeg"
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.framedance.ai/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.framedance.ai/api/v1/marketplace/run/wavespeed-ai/flux-schnell",
headers=HEADERS,
json={
"input": {
"prompt": "A ceramic vase on a wooden table, natural window light, editorial photography",
"size": "1024*1024",
"seed": -1,
"output_format": "jpeg"
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 180s server-side.
deadline = time.time() + 240
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.framedance.ai/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.framedance.ai/api/v1/marketplace/run/wavespeed-ai/flux-schnell", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"prompt": "A ceramic vase on a wooden table, natural window light, editorial photography",
"size": "1024*1024",
"seed": -1,
"output_format": "jpeg"
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 180s server-side.
const deadline = Date.now() + 240 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.framedance.ai/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);