ByteDance · text-to-image

    Seedream 4.0 Prompting Guide

    What this model actually wants — from its schema, not from vibes.

    Seedream 4.0 is ByteDance's text-to-image model on Versely. This page is its structured prompting reference: the 5 parameters its schema actually exposes, the t2i technique that applies to it, copy-ready templates.

    Everything here is grounded in the same sources Versely's agent reads — the model's input schema. Where a line is general craft advice rather than a documented fact about Seedream 4.0, the page says so.

    What Seedream 4.0 wants

    The exact input surface, from the same schema the Versely agent fetches with get_model_input_schema before every generation.

    ParameterWhat it doesValues
    promptreqText description for image generationstring (min 1)
    image_sizeOutput size preset, OR an object { width, height } (960-4096px); defaults to 2048×2048square_hd · square · portrait_4_3 · portrait_16_9 · landscape_4_3 · landscape_16_9default: square_hd
    num_imagesNumber of imagesinteger (min 1, max 6)default: 1
    max_imagesMax images returnedinteger (min 1, max 6)default: 1
    enhance_prompt_modeBuilt-in prompt enhancement modestandard · fastdefault: standard
    • Verified against fal.ai/models/fal-ai/bytedance/seedream/v4/text-to-image on 2026-06-02

    Technique that applies here

    Text-to-image: composition, lighting, style; family tips (Midjourney/Flux/Imagen/etc.) drive syntax

    • Pick aspect ratio / size from the model's actual enum rather than describing it in prose. Cosmos 3 Super and Recraft 4.1 both take the same six image_size presets (square_hd, square, portrait_4_3, portrait_16_9, landscape_4_3, landscape_16_9); Flux 2 Max's resolved schema takes that same six plus a 7th value, auto; Seedream 4.0 uses the six-preset list too, plus a custom {width, height} object (960-4096px, ~2048x2048 default); Grok Imagine Image Quality and Krea 2 Medium instead take an aspect_ratio string enum (Krea's list includes a 2.35:1 cinematic option Grok's doesn't have).
    • Use a dedicated schema field instead of writing it into prose when one exists. Cosmos 3 Super has a real negative_prompt field for exclusions (separate from the main prompt). Krea 2 Medium has image_style_references — attach style image(s) there to carry a look instead of spelling it out in adjectives. Seedream 4.0 has its own enhance_prompt_mode (standard/fast) built into the provider API — that's a separate toggle from Versely's own AI-enhance step, not the same thing.
    • Where the schema exposes num_images / max_images (Cosmos 3 Super and Grok Imagine Image Quality up to 4, Seedream 4.0 up to 6), request a batch instead of one-at-a-time generations — compare compositions in a single call before you commit a direction to a full prompt rewrite.

    Copy-ready templates

    Replace the bracketed slots; each template says when it's the right shape.

    Template 1
    [SUBJECT], [ACTION OR POSE], in [SETTING/ENVIRONMENT], [LIGHTING] lighting, [COLOR PALETTE], [STYLE OR MEDIUM], [MOOD/ATMOSPHERE]. (Pick aspect ratio/size from the model's own preset field — the schema takes an enum value, not a ratio typed into the prompt.)

    Use when: Starting from nothing on any model in this family — no reference image, one self-contained generation.

    Template 2
    [SUBJECT], [SETTING], [STYLE] — set num_images/max_images to [2-4] and generate variants in one call before refining the prompt further

    Use when: Comparing compositions cheaply on a model with a batch parameter (Cosmos 3 Super, Grok Imagine Image Quality, Seedream 4.0).

    How the Versely agent does this automatically

    You can use this page by hand, or let the agent apply the same knowledge. Four real mechanisms — no more, no less:

    • get_model_input_schema — before generating, the agent looks up Seedream 4.0's exact input fields, required fields, allowed values, defaults, and min/max bounds. The parameter table above is that same surface.
    • The prompt enhancer's family rules — 12 per-family rewrite rules (this model's family isn't one of the 12, so only general enhancement applies) shape how a rough prompt gets rewritten.
    • The per-provider speech guide — for TTS scripts, the agent follows a provider-specific tag scheme — not relevant to this model, but it's why voiceover scripts come out marked up correctly.
    • expand_movie_scene — in movie flows, brief scene ideas are rewritten into detailed cinematic descriptions before generation.

    Mistakes that waste generations

    • Padding every prompt with quality-booster tag lists ("masterpiece, best quality, highly detailed, 8k"). That convention belongs to the 'stable' MODEL_TIPS family — comma-separated tags plus quality boosters — and nothing in this family resolves to it; on Flux, Imagen, Midjourney, or any of the fallback-tip models it just reads as filler the model has to parse around.
    • Free-typing an aspect ratio or size string outside the model's real enum — e.g. asking for 'a wide 2.5:1 banner' on a model whose aspect_ratio list tops out at 21:9, or writing 'widescreen' where the field wants the literal preset value landscape_16_9. The schema enum is exact; the model isn't interpreting loose ratio language.
    • Writing an edit instruction ("make the sky sunset-orange") into one of the plain-generation pages that also covers an edit-capable gate variant (Flux 2 Max/Pro Edit, Nano Banana Edit, GPT Image 2 Image to Image, Wan 2.6 Image to Image) without attaching a reference image. With no image_urls supplied, you get a brand-new unrelated image, not an edit of anything.

    The long-form guide

    This page is the structured reference. For the essay treatment — worked examples, failure modes, and narrative — read Seedream 5.0 Prompting: Typography and Layout Control.

    This guide also covers

    These siblings share Seedream 4.0's prompting-relevant input surface, so their prompting URLs resolve here — tier and pricing differences live on their own model pages:

    Frequently asked questions

    Does Seedream 4.0 support negative prompts?+

    No — Seedream 4.0's published schema has no negative_prompt parameter. Exclusions have to be phrased positively inside the main prompt, or dropped.

    How does the Versely agent know Seedream 4.0's parameters?+

    Before generating, the agent calls its get_model_input_schema tool, which looks up the exact input fields, required fields, allowed values, defaults, and min/max bounds for the model. Nothing on this page is guessed — it is the same schema surface those tools read.

    Does this guide also cover Seedream 5.0 Pro?+

    Yes. Seedream 5.0 Pro share the same prompting-relevant input surface as Seedream 4.0, so their prompting URLs redirect here instead of duplicating this page. Tier and pricing differences live on each model's own /models page.

    Related prompting guides

    Generate with Seedream 4.0

    Seedream 4.0 is live in Versely — paste a template above, or just describe what you want and let the agent map it onto the schema for you.