Seedream 4 icon
Image by ByteDance

Seedream 4 API

ByteDance's unified image generation and editing model (Sep 2025), built for ultra-fast output, strong bilingual text rendering, and generating consistent sets of images at once.

Integrate Seedream 4 with a single API call — one key, one unified endpoint, and shared billing across every model on Apiframe.

model: "seedream-4"
Seedream 4 concert poster reading 'THE SOUND OF FRACTALS' with a shattered glass sphere refracting rainbow light

What's special about Seedream 4

Unified generation and editing

A single architecture handles text-to-image, image-to-image, single and multi-image editing, and composition, with built-in commonsense knowledge and reasoning.

Ultra-fast output

Its mixture-of-experts architecture produces a 2K image in roughly 1.8 seconds, more than ten times faster than Seedream 3.0.

Up to 4K resolution

It raised the maximum output from 2K to 4K while keeping that speed, with sharp 2K as the default on many platforms.

Group generation

It can create multiple matching images in a single run, up to nine coordinated outputs, which is ideal for storyboards, product variations, and campaigns.

Strong bilingual text and layouts

It renders accurate English and Chinese text and structured designs, from posters and infographics to timelines and labeled diagrams.

Reference control and consistency

It accepts multiple reference images and keeps a character's features consistent across scenes, outfits, and over 30 blendable artistic styles, all with mask-free editing.

Made with Seedream 4

A few outputs generated through the Seedream 4 API on Apiframe.

Seedream 4 concert poster reading 'THE SOUND OF FRACTALS' with a shattered glass sphere refracting rainbow light and bold lettering

A concert poster reading 'THE SOUND OF FRACTALS' with a shattered glass sphere refracting rainbow light, bold lettering.

Seedream 4 set of five elemental warriors for fire, water, earth, air, and spirit with a consistent art style across all

A set of five elemental warriors for fire, water, earth, air, and spirit, consistent art style across all.

Seedream 4 history timeline of Chinese dynasties from Qin to Qing, each with a small icon and short caption

A history timeline of Chinese dynasties from Qin to Qing, each with a small icon and short caption.

Seedream 4 photorealistic rainy night street in Seoul with neon reflections on wet pavement and one person in a red coat

A photorealistic rainy night street in Seoul, neon reflections on wet pavement, one person in a red coat.

Seedream 4 edit removing a boy from a park photo and filling the space naturally, keeping the rest unchanged

Remove the boy from this photo and fill the space naturally, keeping the rest unchanged.

Seedream 4 clean infographic explaining the water cycle with labeled stages and English captions

A clean infographic explaining the water cycle with labeled stages and English captions.

Overview

Endpoint
POST /v2/images/generate
Model ID
seedream-4
Params key
seedreamParams
Modality
Image
Provider
ByteDance
Avg. completion
~12s

Capabilities

Aspect ratios1:1, 3:4, 4:3, 9:16, 16:9
Image inputSupported
Avg. time~12s

Quick start

Send a single POST /v2/images/generate request with your API key to generate with Seedream 4. The call returns a jobId you can poll or receive via webhook.

curl -X POST https://api.apiframe.ai/v2/images/generate \
  -H "X-API-Key: afk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
        "model": "seedream-4",
        "seedreamParams": {
            "image_input": "https://example.com/input.jpg",
            "output_format": "jpg",
            "guidance_scale": 3,
            "use_pre_llm": false
        }
    }'
import requests

response = requests.post(
    "https://api.apiframe.ai/v2/images/generate",
    headers={
        "X-API-Key": "afk_your_api_key_here",
        "Content-Type": "application/json",
    },
    json={
        "prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
        "model": "seedream-4",
        "seedreamParams": {
            "image_input": "https://example.com/input.jpg",
            "output_format": "jpg",
            "guidance_scale": 3,
            "use_pre_llm": False
        }
    },
)
print(response.json())  # { "jobId": "...", "status": "QUEUED" }
const response = await fetch("https://api.apiframe.ai/v2/images/generate", {
  method: "POST",
  headers: {
    "X-API-Key": "afk_your_api_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
    "model": "seedream-4",
    "seedreamParams": {
      "image_input": "https://example.com/input.jpg",
      "output_format": "jpg",
      "guidance_scale": 3,
      "use_pre_llm": false
    }
  }),
});
const { jobId } = await response.json();
console.log(jobId);

Response & job lifecycle

Generation is asynchronous. A successful submission returns 202 Accepted with a jobId. Poll GET /v2/jobs/{id} (or supply a webhook_url) until the status is COMPLETED; the result field then holds the output URL(s).

1. Submission response (202)

{
  "jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "status": "QUEUED"
}

2. Poll for the result

curl https://api.apiframe.ai/v2/jobs/JOB_ID \
  -H "X-API-Key: afk_your_api_key_here"
import requests, time

while True:
    job = requests.get(
        "https://api.apiframe.ai/v2/jobs/JOB_ID",
        headers={"X-API-Key": "afk_your_api_key_here"},
    ).json()
    if job["status"] in ("COMPLETED", "FAILED"):
        break
    time.sleep(2)
print(job["result"])
let job;
do {
  await new Promise((r) => setTimeout(r, 2000));
  job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
    headers: { "X-API-Key": "afk_your_api_key_here" },
  }).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);

Input schema

Request parameters accepted by the Seedream 4 endpoint. Model-specific options are nested under the params object shown below.

Parameter Type Required Default Allowed / range Description
prompt string required Text description of what to generate.
model string required "seedream-4" "seedream-4" The model identifier for this endpoint.
seedreamParams.image_input string (URL) optional Reference image (URL)
seedreamParams.output_format string optional "jpg" "jpg", "png" Output format
seedreamParams.guidance_scale number optional 3 min 1, max 10, step 0.5 Guidance
seedreamParams.use_pre_llm boolean optional false Pre-process the prompt with an LLM.
seedreamParams.enhance_prompt boolean optional false Enhance prompt
seedreamParams.seed number optional step 1 Reuse a number to reproduce the same result.

Frequently Asked Questions

Common questions about the Seedream 4 API.

What is Seedream 4?

ByteDance's Seedream 4.0, a unified image generation and editing model released in September 2025.

How fast is it?

It generates a 2K image in about 1.8 seconds, more than ten times faster than Seedream 3.0.

What resolution does it produce?

Up to 4K, with 2K as the default on many platforms.

What is it best at?

Text rendering and typography, structured layouts, fast batch generation, and character consistency.

Can it generate multiple consistent images at once?

Yes. Group generation produces up to nine coordinated outputs, and it accepts multiple reference images for consistency.

Where can you access it?

Through Apiframe, as well as Dreamina and major hosting partners.

Still have questions?

Start building with the Seedream 4 API

Get your API key and integrate Seedream 4 in minutes — Pay-as-you-go.

Free credits to start
One API for every model
Webhooks, SDKs & idempotency
No provider account required

Questions? Join our Discord or contact sales.