“Add dynamic motion to this photo: make hair blow in the wind, add leaves flying, energetic and lively feel.”
ByteDance's image generation model with integrated text-to-image and image editing capabilities in a unified architecture, supporting up to 4K resolution
Details
seedream-4
Starting from
Prices shown are in USD
See all providersProviders & Pricing (3)
Seedream 4.0 is available from 3 providers, with per-image pricing starting at $0.03 through BytePlus.
byteplus/seedream-4
fal/seedream-4-edit
replicate/seedream-4
seedream-4.0 API OpenAI-compatible
Access Seedream 4.0 via Lumenfall’s OpenAI-compatible API to generate 4K images and perform complex image edits through a single, unified endpoint. Developers can integrate ByteDance's text-to-image and editing architecture into any application using standard API protocols.
https://api.lumenfall.ai/openai/v1
seedream-4
Code Examples
Image Edit
/v1/images/editscurl -X POST \
https://api.lumenfall.ai/openai/v1/images/edits \
-H "Authorization: Bearer $LUMENFALL_API_KEY" \
-F "model=seedream-4" \
-F "[email protected]" \
-F "prompt=Add a starry night sky to this image" \
-F "size=1024x1024"
# Response:
# { "created": 1234567890, "data": [{ "url": "https://...", "revised_prompt": "..." }] }
import OpenAI from 'openai';
import fs from 'fs';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'https://api.lumenfall.ai/openai/v1'
});
const response = await client.images.edit({
model: 'seedream-4',
image: fs.createReadStream('source.png'),
prompt: 'Add a starry night sky to this image',
size: '1024x1024'
});
// { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] }
console.log(response.data[0].url);
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.lumenfall.ai/openai/v1"
)
response = client.images.edit(
model="seedream-4",
image=open("source.png", "rb"),
prompt="Add a starry night sky to this image",
size="1024x1024"
)
# { created: 1234567890, data: [{ url: "https://...", revised_prompt: "..." }] }
print(response.data[0].url)
Parameter Reference
Core Parameters
| Parameter | Type | Description | Modes |
|---|---|---|---|
prompt
|
string | Required. Text prompt for image generation |
T2I
Edit
|
seed
|
integer | Random seed for reproducibility |
T2I
Edit
|
Size & Layout
| Parameter | Type | Description | Modes |
|---|---|---|---|
size
|
string |
Image dimensions as WxH pixels (e.g. "1024x1024") or aspect ratio (e.g. "16:9")
WxH determines both shape and scale (aspect_ratio and resolution are ignored when size is provided). W:H format is equivalent to aspect_ratio.
|
T2I
Edit
|
aspect_ratio
|
string |
Aspect ratio of the output image (e.g. "16:9", "1:1")
Controls shape independently of scale. Use with resolution to control both. If size is also provided, size takes precedence. Any ratio is accepted and mapped to the nearest supported value.
|
T2I
Edit
|
resolution
|
string |
Output resolution tier (e.g. "1K", "4K")
auto
1K
Controls scale independently of shape. Higher tiers produce larger images and cost more. If size is also provided, size takes precedence for scale. Any tier is accepted and mapped to the nearest supported value.
|
T2I
Edit
|
| Output |
size
|
aspect_ratio
+
resolution
|
|
|---|---|---|---|
| Flexible | |||
| Auto | "auto" |
— | Model chooses optimal dimensions |
|
Custom
1–14142px per side
|
"WxH" |
— | Any pixel dimensions within model constraints |
1K 8 sizes
| Output |
size
|
aspect_ratio
+
resolution
|
|
|---|---|---|---|
| 1183 × 887 | "1183x887" |
or |
"4:3"
+
"1K"
|
| 1024 × 1024 | "1024x1024" |
or |
"1:1"
+
"1K"
|
| 887 × 1182 | "887x1182" |
or |
"3:4"
+
"1K"
|
| 836 × 1254 | "836x1254" |
or |
"2:3"
+
"1K"
|
| 1254 × 836 | "1254x836" |
or |
"3:2"
+
"1K"
|
| 768 × 1365 | "768x1365" |
or |
"9:16"
+
"1K"
|
| 1365 × 768 | "1365x768" |
or |
"16:9"
+
"1K"
|
| 1563 × 670 | "1563x670" |
or |
"21:9"
+
"1K"
|
How these parameters work
size
Exact pixel dimensions
"1920x1080"
aspect_ratio
Shape only, default scale
"16:9"
resolution
Scale tier, preserves shape
"1K"
Priority when combined
size is most specific and always wins. aspect_ratio and resolution control shape and scale independently.
How matching works
7:1 on a model with
4:1 and 8:1,
you get 8:1.
0.5K 1K 2K 4K)
or megapixel tiers (0.25 1).
If the exact tier isn't available, you get the nearest one.
Media Inputs
| Parameter | Type | Description | Modes |
|---|---|---|---|
image
|
file |
Required.
Input image(s) to edit
Supports PNG, JPEG, WebP.
|
T2I
Edit
|
Output & Format
| Parameter | Type | Description | Modes |
|---|---|---|---|
response_format
byteplus
|
string |
How generated images are returned.
b64_json
url
Default:
"url" |
T2I
Edit
|
output_format
|
string |
Output image format
png
jpeg
gif
webp
avif
Gateway converts to requested format if provider doesn't support it natively.
|
T2I
Edit
|
output_compression
|
integer | Compression level for lossy formats (JPEG, WebP, AVIF) |
T2I
Edit
|
n
|
integer |
Number of images to generate
Default:
1Gateway generates multiple images in parallel even if provider only supports 1.
|
T2I
Edit
|
Additional Parameters
Provider-specific passthrough fields, available only when the request is routed to the listed provider.
| Parameter | Type | Description | Modes |
|---|---|---|---|
|
Universal
|
|||
prompt_enhancement
|
string |
Whether an LLM rewrites/expands the prompt before generation (off, on)
off
on
|
T2I
Edit
|
sequential_image_generation
|
string |
Group image generation mode. 'disabled' generates a single image. 'auto' lets the model decide whether to generate multiple related images (e.g., story scenes, character variations).
disabled
|
T2I
Edit
|
|
byteplus
|
|||
sequential_image_generation_options
|
object | Batch image generation options, effective only when sequential_image_generation is auto. |
T2I
Edit
|
stream
|
boolean | Whether to stream each output image as soon as it is generated. |
T2I
Edit
|
watermark
|
boolean | Whether to add an AI-generated watermark to the lower-right corner of the image. |
T2I
Edit
|
|
fal
|
|||
enable_safety_checker
|
boolean | If set to true, the safety checker will be enabled. |
T2I
Edit
|
sync_mode
|
boolean | If `True`, the media will be returned as a data URI and the output data won't be available in the request history. |
T2I
Edit
|
|
replicate
|
|||
height
|
integer | Custom image height (only used when size='custom'). Range: 1024-4096 pixels. |
T2I
Edit
|
width
|
integer | Custom image width (only used when size='custom'). Range: 1024-4096 pixels. |
T2I
Edit
|
Parameter Normalization
How we handle parameters across different providers
Not every provider speaks the same language. When you send a parameter, we handle it in one of four ways depending on what the model supports:
| Behavior | What happens | Example |
|---|---|---|
passthrough |
Sent as-is to the provider | style, quality |
renamed |
Same value, mapped to the field name the provider expects | prompt |
converted |
Transformed to the provider's native format | size |
emulated |
Works even if the provider has no concept of it | n, response_format |
Parameters we don't recognize pass straight through to the upstream API, so provider-specific options still work.
Seedream 4.0 Benchmarks
Seedream 4.0 currently holds the #17 position for text-to-image generation with a 1237 Elo rating and ranks #14 for image editing with an Elo of 1174. This unified architecture from ByteDance maintains competitive performance across both creative generation and precise image manipulation tasks.
Image Editing Landscape
Elo vs Cost
Elo vs Speed
Competition Results
“Make a photo of the man driving the car down the California coastline”
“Give the person a full, thick head of natural hair with realistic texture, density, and a natural hairline. Preserve facial features and lighting.”
“Change the scene to night: a deep, dark sky with subtle, glistening stars visible behind the mountain.”
{
"action": "image_edit",
"reference": "uploaded neutral portrait",
"change": "Warm genuine Duchenne smile: lips curved up, slight natural teeth, soft eye crinkles, subtle cheek raise",
"details": "Realistic smiling skin (dimples if present, soft cheek shadows), slightly brighter eyes; keep exact eye shape/color/iris",
"preserve_exact": "Face identity/structure, eyes/nose/lips/eyebrows, hair, skin texture/pores/freckles, makeup, clothing, head pose, background, lighting, shadows, framing",
"no_changes": "No face shape change, no new features, no gaze shift, no hair/clothing/lighting/background edits",
"style": "Ultra-photorealistic 8K portrait, sharp face focus, natural soft lighting, realistic skin glow"
}
“Transform this photo into a Studio Ghibli–inspired illustration. Use soft pastel colors, hand-painted textures, gentle lighting, dreamy backgrounds, and a warm, nostalgic mood”
“Give the person a full, thick head of natural hair with realistic texture, density, and a natural hairline. Preserve facial features and lighting.”
{
"action": "image_edit",
"reference": "uploaded neutral portrait",
"change": "Warm genuine Duchenne smile: lips curved up, slight natural teeth, soft eye crinkles, subtle cheek raise",
"details": "Realistic smiling skin (dimples if present, soft cheek shadows), slightly brighter eyes; keep exact eye shape/color/iris",
"preserve_exact": "Face identity/structure, eyes/nose/lips/eyebrows, hair, skin texture/pores/freckles, makeup, clothing, head pose, background, lighting, shadows, framing",
"no_changes": "No face shape change, no new features, no gaze shift, no hair/clothing/lighting/background edits",
"style": "Ultra-photorealistic 8K portrait, sharp face focus, natural soft lighting, realistic skin glow"
}
Uncategorized
“Create a caricature of me and my job. Make it exaggerated and humorous, incorporating my profession as a tv show anchor and my love for dogs and hockey.”
“Swap the positions of the blue and yellow blocks”
Top Matchups
See how Seedream 4.0 performs head-to-head against other AI models, ranked by community votes in blind comparisons.
vs FLUX.2 [max]
Challenge: Studio Ghibli Anime Style
67% W · 33% L
vs Grok Imagine Image
Challenge: Modern Clean Menu
0% W · 100% L
vs GPT Image 1.5
Challenge: Vintage Cafe Logo
33% W · 67% L
vs Nano Banana Pro
Challenge: Man and Car in California
0% W · 100% L
vs Nano Banana
Challenge: Bald man challenge
0% W · 100% L
Seedream 4.0 is best for
See all Use CasesByteDance's model excels in anime generation with a 71.4% win rate and ranks #6 for photorealism, though it shows relative weakness in portraiture and text rendering. It is a top-tier choice for commercial branding and photorealistic outputs where it maintains a 60% win rate against competing vision models.
Gallery
View all 8 imagesSeedream 4.0 FAQ
How much does Seedream 4.0 cost?
Seedream 4.0 starts at $0.03 per image through Lumenfall. Pricing varies by provider. Lumenfall does not add any markup to provider pricing.
How do I use Seedream 4.0 via API?
You can use Seedream 4.0 through Lumenfall's OpenAI-compatible API. Send requests to the unified endpoint with model ID "seedream-4". Code examples are available in Python, JavaScript, and cURL.
Which providers offer Seedream 4.0?
Seedream 4.0 is available through Replicate, fal.ai, and BytePlus on Lumenfall. Lumenfall automatically routes requests to the best available provider.
What is the maximum resolution for Seedream 4.0?
Seedream 4.0 supports images up to 4096x4096 resolution.
Overview
Seedream 4.0 is a high-resolution image generation and editing model developed by ByteDance. It utilizes a unified architecture that handles both text-to-image synthesis and sophisticated image manipulation within the same framework. This version is specifically designed for high-fidelity outputs, supporting image generation at resolutions up to 4K.
Strengths
- High-Resolution Output: Demonstrates superior performance in generating 4K imagery, maintaining sharpness and fine textures that often degrade in standard 1024px models.
- Unified Task Processing: Unlike models that require separate adapters (like ControlNet) for editing, Seedream 4.0 integrates generation and editing capabilities into a single pipeline, improving consistency between original and edited pixels.
- Multi-Modal Conditioning: Processes both text prompts and image inputs simultaneously, allowing for precise instruction-following when modifying existing compositions or styles.
- Instruction Adherence: Shows high accuracy in translating complex descriptive prompts into visual elements, particularly in maintaining spatial relationships between objects.
Limitations
- Inference Latency: Generating at 4K resolution requires significant computational resources, leading to slower generation times compared to lower-resolution models like SDXL or Flux Schnell.
- Operational Cost: At a starting price of $0.03 per generation, it carries a higher cost-per-image than many base latent diffusion models, making it less ideal for high-volume batch processing of simple assets.
- Prompt Sensitivity: While capable of high fidelity, the model’s unified architecture may occasionally require more specific prompting to distinguish between “generate new content” and “preserve existing content” during editing tasks.
Technical Background
Seedream 4.0 is built on an evolution of ByteDance’s diffusion research, moving away from fragmented architectures toward a unified sequence-to-sequence approach for visual tasks. It treats image editing and generation as a singular objective, which likely involves a high-capacity transformer-based backbone optimized for large-scale spatial parameters. The training regimen emphasizes high-resolution data scaling to ensure the model maintains coherence at 4K dimensions.
Best For
Seedream 4.0 is ideal for professional design workflows where high-print quality or large-format digital assets are required. It excels in scenarios involving “inpainting” and complex image-to-image transformations where the user needs to maintain the integrity of a base image while adding specific details.
Seedream 4.0 is available through Lumenfall’s unified API and playground, allowing developers to integrate its 4K generation and editing capabilities without managing complex infrastructure.
Try Seedream 4.0 in Playground
Generate images with custom prompts — no API key needed.