DashScope (Alibaba Bailian) image models use the native Bailian protocol, transparently forwarded. Unlike the synchronous OpenAI-compatible endpoint, Bailian image generation is an async task: submit for a task_id, poll until SUCCEEDED. Available models come from List Models (protocols contains dashscope).
Authorizations
Bearer Token authentication; no Alibaba Cloud AK needed.
Authorization: Bearer YOUR_API_KEYSubmit a task
Three submission endpoints (per model, matching Bailian):
POST /api/v1/services/aigc/text2image/image-synthesis # text-to-imagePOST /api/v1/services/aigc/image2image/image-synthesis # image-to-imagePOST /api/v1/services/aigc/image-generation/generation # wan2.6 image (action "generation", still async)Request headers
| Header | Required | Description |
|---|---|---|
Authorization |
Yes | Bearer YOUR_API_KEY |
Content-Type |
Yes | application/json |
X-DashScope-Async |
Yes | Must be enable. Official Bailian semantics: HTTP calls are async-only; omitting it returns current user api does not support synchronous calls |
Native Bailian body: model, input (prompt, negative_prompt, reference images…), parameters (size like 1024*1024 — note the * separator — plus n, seed, …).
Poll a task
GET /api/v1/tasks/{task_id}output.task_status: PENDING / RUNNING / SUCCEEDED / FAILED / CANCELED. Results are in output.results[].url (typically valid ~24h — download promptly). Query / cancel endpoints only require the Authorization header.
Notes
- Query with the same API Key used for submission; 7-day window, then 404
task_not_found - Poll every 2–5 seconds until a terminal state
- Cancel via
POST /api/v1/tasks/{task_id}/cancel(onlyPENDING) input/parametersfields follow the official Bailian docs; no field rewriting
