Bytedance Seedream V4
Playground
Try it on WavespeedAI!Seedream 4.0 is a state-of-art image model by Bytedance. Seedream 4.0: Surpassing Nano Banana in every aspect.
Features
bytedance/seedream-v4 (T2I)
A text-to-image model optimized for multi-panel/tiled posters, concept designs with copy, series KV, and social media assets. It excels at grid-based layouts, whitespace planning, and type readability.
Model Highlights
- Layout-aware: Grids (2×2, triptych, comics), keeps whitespace/safe areas for title/subtitle/CTA.
- Consistent series: Unified palette, lighting, and camera across panels/KV.
- High fidelity: Strong identity/detail retention; clean edges, fewer artifacts.
- High-res: 2K default; custom ratios; up to 4096×4096.
Price
Only $0.027 for one run!!!
Copy-ready Templates
2×2 Grid Poster
2×2 grid poster, clean margins for typography; title top-center: “{TITLE}”; subtitle: “{SUBTITLE}”. Panel 1: {SCENE_A}; Panel 2: {SCENE_B}; Panel 3: {SCENE_C}; Panel 4: {SCENE_D}. Consistent color grading, cinematic lighting, brand color {BRAND_COLOR}, high-legibility background, minimal clutter.
Triptych (Horizontal)
Horizontal triptych, left-to-right narrative: {SCENE_A} → {SCENE_B} → {SCENE_C}. Unified palette {BRAND_COLOR}, soft vignette, clear gutters, strong typographic hierarchy, reserved space for CTA: “{CTA}”.
Comic (4-Panel Strip)
4-panel comic layout with speech-bubble placeholders. Panel 1: {SCENE_A}; Panel 2: {SCENE_B}; Panel 3: {SCENE_C}; Panel 4: {SCENE_D}. Bold line art, flat shading, clear gutters, high readability.
Minimalist Poster
Minimalist poster; large centered title: “{TITLE}”; small subtitle below: “{SUBTITLE}”. Single focal object: {OBJECT}. Monochrome + accent {BRAND_COLOR}. High-legibility background; strict grid; generous whitespace.
How to Use
-
Enter your prompt: Describe the subject, layout, text placement (title/subtitle/CTA), and style.
-
Set size: Choose width/height. Maximum: 4096×4096.
-
Run: Click Run to generate. If needed, tweak the prompt or size and run again.
Recommended Resolutions
| Aspect Ratio | Exact (W×H) | Exact Pixels | Rounded (W×H, ÷64) | Rounded Pixels |
|---|---|---|---|---|
| 1:1 | 1448 × 1448 | 2,096,704 | 1408 × 1408 | 1,982,464 |
| 3:2 | 1773 × 1182 | 2,095,686 | 1728 × 1152 | 1,990,656 |
| 4:3 | 1672 × 1254 | 2,096,688 | 1664 × 1216 | 2,023,424 |
| 16:9 | 1936 × 1089 | 2,108,304 | 1920 × 1088 | 2,088,960 |
| 21:9 | 2212 × 948 | 2,096,976 | 2176 × 960 | 2,088,960 |
| 1:1 | 1024 × 1024 | 1,048,576 | 1024 × 1024 | 1,048,576 |
| 3:2 | 1254 × 836 | 1,048,344 | 1216 × 832 | 1,011,712 |
| 4:3 | 1182 × 887 | 1,048,434 | 1152 × 896 | 1,032,192 |
| 16:9 | 1365 × 768 | 1,048,320 | 1344 × 768 | 1,032,192 |
| 21:9 | 1564 × 670 | 1,047,880 | 1536 × 640 | 983,040 |
| 1:1 | 323 × 323 | 104,329 | 320 × 320 | 102,400 |
| 3:2 | 397 × 264 | 104,808 | 384 × 256 | 98,304 |
| 4:3 | 374 × 280 | 104,720 | 448 × 320 | 143,360 |
| 16:9 | 432 × 243 | 104,976 | 448 × 256 | 114,688 |
| 21:9 | 495 × 212 | 104,940 | 576 × 256 | 147,456 |
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/bytedance/seedream-v4" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"size": "2048*2048",
"enable_base64_output": false,
"enable_sync_mode": false
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| size | string | No | 2048*2048 | 1024 ~ 4096 per dimension | The size of the generated media, supporting up to 4K resolution for images. If you need to match the size of an existing image, you must explicitly specify the dimensions, as automatic resizing to match the image is not supported. |
| enable_base64_output | boolean | No | false | - | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |