Seedream 4.5 DreamCore API
Developer Documentation
Use these endpoints to generate Seedream 4.5 artworks asynchronously. Each render consumes credits depending on quality and model.
Authentication
All requests must include your API key in the Authorization header:
Authorization: Bearer <YOUR_API_KEY>Missing or invalid keys return 401 Unauthorized.
POST
https://seedream45ai.org/api/generate
Create generation task
Submits a new Seedream 4.5 job. The API immediately returns a task_id while the render completes asynchronously.
| Parameter | Type | Required | Description |
|---|---|---|---|
| prompt | string (max 1500 chars) | Yes | Primary text description (1500 characters max). Required for every request. |
| aspectRatio | string | Yes | Supported ratios: 1:1 · 3:4 · 4:3 · 9:16 · 16:9. |
| quality | string (basic | high) | Yes | basic (fast, 2K) or high (slower, 4K). |
| imageUrls | string[] | No | Optional reference images. Required when using the edit model. |
Credit consumption
Credits deduct when the task is accepted. Failed jobs automatically refund the exact balance.
| Preset | Credits deducted |
|---|---|
| Text-to-Image · Basic quality | 12 |
| Text-to-Image · High quality | 18 |
| Edit (with references) · Basic quality | 18 |
| Edit (with references) · High quality | 24 |
| 4-image burst (single call) | 48 |
Sample request
POST https://seedream45ai.org/api/generate
Authorization: Bearer <YOUR_API_KEY>
Content-Type: application/json
{
"prompt": "Cinematic photo of an obsidian smartwatch on a marble plinth, volumetric lighting",
"aspectRatio": "4:3",
"quality": "high",
"imageUrls": []
}Sample response
{
"code": 200,
"message": "success",
"data": {
"task_id": "sd45_b83bf7c0c51a4c71"
}
}GET / POST
https://seedream45ai.org/api/status
Check task status
Poll this endpoint to retrieve the latest record. If the task is still IN_PROGRESS we query the upstream provider again before replying.
| Parameter | Type | Required | Description |
|---|---|---|---|
| task_id | string | Yes | ID returned by /generate. Provide via query (?task_id=) when calling /status. |
| Field | Description |
|---|---|
| task_id | ID returned from /generate. |
| status | IN_PROGRESS |
| request | Sanitized snapshot of the payload you submitted. |
| response | Array of image URLs once the task is SUCCESS. |
| consumed_credits | Credits spent for the task (0 when refunded). |
| error_message | Provider error string when status is FAILED. |
| created_at | UTC timestamp recorded when the job entered the queue. |
Sample request
GET https://seedream45ai.org/api/status?task_id=sd45_b83bf7c0c51a4c71
Authorization: Bearer <YOUR_API_KEY>Sample response
{
"code": 200,
"message": "success",
"data": {
"task_id": "sd45_b83bf7c0c51a4c71",
"status": "SUCCESS",
"request": {
"prompt": "Cinematic photo of an obsidian smartwatch on a marble plinth, volumetric lighting",
"aspectRatio": "4:3",
"quality": "high"
},
"response": [
"https://watch_001.png"
],
"consumed_credits": 12,
"error_message": null,
"created_at": "2025-06-14T05:21:11Z"
}
}Error handling
401 Unauthorized- Missing or invalid API key.402 Payment Required- Credit balance could not cover the deduction.429 Too Many Requests- Slow the polling cadence or request rate.500- Transient issue; retry with exponential backoff.