تولید تصویر

جریان اصلی در شروع سریع آمده است: GET /v1/models ← POST /v1/jobs ← polling ← GET /v1/jobs/{id}/result. این صفحه گزینه‌های استریم و فهرست‌کردن را اضافه می‌کند.

استریم پیشرفت با WebSocket

به‌جای polling، سوکت ‎/v1/jobs/{id}/stream?token=<access_token> را باز کنید. سوکت پیام‌های { type: "job_update", job_id, status, progress } را تا رسیدن کار به وضعیت نهایی ارسال می‌کند. (کلاینت‌های WebSocket نمی‌توانند هدر بفرستند، پس توکن به‌صورت query parameter ارسال می‌شود.)

const ws = new WebSocket(
`wss://api.anahid.example/v1/jobs/${jobId}/stream?token=${accessToken}`
);
ws.onmessage = (e) => {
const m = JSON.parse(e.data);
if (m.type === "job_update") console.log(m.status, m.progress);
};

فهرست خروجی‌ها

GET /v1/outputs خروجی‌های تولیدشدهٔ شما را (صفحه‌بندی‌شده) برمی‌گرداند و GET /v1/outputs/{id} یک خروجی را. هر خروجی شامل url، thumbnail_url اختیاری و فراداده (width، height، seed، …) است.

لغو یا تلاش مجدد

  • POST /v1/jobs/{id}/cancel — لغو کار در صف/در حال پردازش.
  • POST /v1/jobs/{id}/retry — ارسال دوبارهٔ کار ناموفق به‌صورت کار جدید.

تلاش مجدد یک کار تازه می‌سازد (پاس جدید سهمیه/صورت‌حساب)؛ کار ناموفق در تاریخچهٔ شما باقی می‌ماند.