VARIANT · Bytedance / Seedream

Seedream seedream-v4-text-to-image API

Same API, same SDK — switch variants by changing one parameter.

Operational · text · Commercial OK
# Works with Claude Code, Codex, Gemini CLI, Cursor, and 50+ agents
npx skills add runapi-ai/seedream -g
The -g flag installs globally so every project picks it up.
Or paste this prompt to your AI agent:
Install the Seedream skill for me:

1. Clone https://github.com/runapi-ai/seedream
2. Copy the skills/seedream/ directory into your
   user-level skills directory (e.g. ~/.claude/skills/
   for Claude Code, ~/.codex/skills/ for Codex).
3. Verify that SKILL.md is present.
4. Confirm the install path when done.
Switch variant
OVERVIEW

seedream-v4-text-to-image targets the sweet spot of quality and cost within the Seedream family.

  • Pay-per-call pricing in USD
  • Failed generations not charged
  • Streaming when supported by the model
  • Schema-validated tool calls
PRICING

Pricing

Failed generations are not charged
Text to image
$0.10 / request
SPEC SHEET

Technical details

Model ID seedream-v4-text-to-image
Provider Bytedance
Modality text
Task type asynchronous
Billing unit call
API endpoint /api/v1/seedream/text_to_image
Commercial license Yes — included via API
Status Operational
QUICKSTART

Quickstart — seedream-v4-text-to-image

runapi.ai
curl -X POST https://runapi.ai/api/v1/seedream/text_to_image \
  -H "Authorization: Bearer $RUNAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedream-v4-text-to-image",
  "prompt": "Create a social media graphic for a coffee shop sale with the text '50% OFF' in bold, warm tones, 4K."
}'
import { SeedreamClient } from "@runapi.ai/seedream";

const client = new SeedreamClient();
const result = await client.textToImage.run({
    model: "seedream-v4-text-to-image",
    prompt: "Create a social media graphic for a coffee shop sale with the text '50% OFF' in bold, warm tones, 4K.",
});
require "runapi/seedream"

client = RunApi::Seedream::Client.new
result = client.text_to_image.run(
    model: "seedream-v4-text-to-image",
    prompt: "Create a social media graphic for a coffee shop sale with the text '50% OFF' in bold, warm tones, 4K."
)
@runapi.ai/seedream v1
HOW IT WORKS

Use seedream-v4-text-to-image in four steps

01

Install

Install the model SDK or agent skill for this model line.

02

Configure

Set the model field to the full model ID shown on this page.

03

Call

Send a typed request with your prompt, inputs, and callback settings.

04

Receive

Read the task response, webhook callback, or cached output URL from RunAPI.

DIFFERENCES

What's different about seedream-v4-text-to-image

VS SEEDREAM-4.5-EDIT

Photorealistic 1K-4K batches; up to 6 images per prompt

Same realism with targeted region editing via mask/brush

VS SEEDREAM-4.5-TEXT-TO-IMAGE

Photorealistic 1K-4K batches; up to 6 images per prompt

Photorealistic output; stable anatomy; 8–14s generation

VS SEEDREAM-5-LITE-EDIT

Photorealistic 1K-4K batches; up to 6 images per prompt

Stronger reference adherence + bilingual typography vs 4.5; faster

USE CASES

Best for

Customer support

Answer customer questions from a private knowledge base, reducing ticket volume.

Document analysis

Draft contract summaries and flag key clauses for attorney review.

Code generation

Auto-generate unit tests, code reviews, and refactoring suggestions in CI.

FAQ

Frequently asked questions about seedream-v4-text-to-image

Is the model ID stable across versions?

RunAPI keeps the model ID stable and handles compatible version refreshes without changing your request shape.

What's the rate limit on this variant?

Per-key rate limits scale with usage tier. See pricing page for current limits.

Can I switch variants later?

Yes — variant is a flag. Switch by changing the model parameter.

Does it stream?

Where streaming is available, RunAPI streams end-to-end.

Where do I report quality issues?

Open an issue on the public GitHub repo or email support.

START NOW

Start building with Seedream.