Seedream 4.0 API Integration
Use Seedream 4.0 through Rivya Public API v1 with model id seedream-4-0, supported inputs, parameters, Files API rules, credits, and response examples.
seedream-4-0
text, file
Required for reference modes
6
Image
FIXED
5000 characters
Request contract
Send the model id at the top level. Model-specific controls belong in params.
| Key | Type | Required | Default | Description |
|---|---|---|---|---|
| model | string | Yes | seedream-4-0 | Use the seedream-4-0 API model id. |
| prompt | string | Yes | - | Maximum 5000 characters for this model. |
| params | object | No | - | Model-specific parameter object. Use the rows below for allowed keys. |
| client_request_id | string | No | - | Optional client-side id for tracing requests in your system. |
Model parameters
| Key | Type | Required | Default | Range | Options | Description |
|---|---|---|---|---|---|---|
| image_size | select | No | square_hd | - | square, square_hd, portrait_4_3, portrait_3_2, portrait_16_9, landscape_4_3, landscape_3_2, landscape_16_9, landscape_21_9 | Controls the framing ratio. Together with output resolution, it determines the final pixel dimensions. |
| image_resolution | select | No | 1K | - | 1K, 2K, 4K | Current tiers are `1K`, `2K`, and `4K`. Higher resolution usually means larger files and longer waits. |
| max_images | number | No | 1 | min 1 / max 6 / step 1 | - | Valid values are 1 to 6. It controls how many images one task can return, so it is best to keep your prompt aligned with that count. |
| seed | number | No | - | min 0 / max 2147483647 / step 1 | - | Leave it empty for a new random result each time. Reusing the same integer makes it easier to reproduce or fine-tune a previous result. It stays closer only when the prompt and other key settings also remain similar, and it is not a guaranteed 1:1 match. |
| nsfw_checker | select | No | false | - | false, true | Controls the content filter. Turning it off gets you closer to the raw output, but also means accepting a weaker safety layer. |
Upload policy
Upload reference files first, then place the returned URL and duration token inside params.referenceMediaItems.
Reference images: Upload up to 10 images for the Seedream 4.0 edit path.
10
image
Video and audio references should carry durationToken from /api/v1/files when duration verification is required.
| kind | Max size | MIME types |
|---|---|---|
| image | 10 MB | image/jpeg, image/png, image/webp |
Minimal request
{
"model": "seedream-4-0",
"prompt": "A clean editorial product image on a soft studio background",
"params": {
"image_size": "square_hd",
"image_resolution": "1K",
"max_images": 1,
"seed": 0,
"nsfw_checker": "false"
}
}Reference-file request
{
"model": "seedream-4-0",
"prompt": "A clean editorial product image on a soft studio background",
"params": {
"image_size": "square_hd",
"image_resolution": "1K",
"max_images": 1,
"seed": 0,
"nsfw_checker": "false",
"referenceMediaItems": [
{
"url": "https://cdn.example.com/reference-image.png",
"kind": "image",
"name": "reference-image.png",
"mimeType": "image/png"
}
]
}
}Create response
The create endpoint returns a public task id. Poll the status endpoint until the task succeeds or fails.
{
"id": "task_seedream_4_0_example",
"status": "queued",
"model": "seedream-4-0",
"reserved_credits": 6,
"final_credits": 0,
"created_at": "2026-05-11T00:00:00.000Z",
"updated_at": "2026-05-11T00:00:00.000Z",
"result": null,
"error": null
}Common errors
validation_failed, insufficient_credits, idempotency_conflict, rate_limited, not_found
Some modes require Files API reference uploads.