Seedream 4 prompts moved from describing a picture to describing an edit, and that is the whole shift worth understanding. Earlier habits still worked because you named a subject, a style, and a mood. Now the higher-value work is stating what must change, what must not, and which reference governs the untouched parts.
Below are the prompt skeletons that suit an editing-led model, a worked campaign example, and the checks to run before you spend a batch of generations. Parameter names, limits, and which features a given platform exposes change between versions, so confirm them against current documentation for the version and the interface you actually use.
What changed when the editing lead moved
Late in 2025 a community newsletter reported that an early version of Seedream v4 had reached the top of an image-editing leaderboard. Leaderboard positions are dated claims, not a specification, but the direction is consistent with how people use the model: it is treated as an editor rather than a generator.
That changes prompt design in three ways. The subject is often supplied by the source image, so describing it in detail is wasted words. The interesting instruction is a constraint, such as keep the lighting direction and change only the surface. And text inside the frame becomes something you can request deliberately rather than hope for.
Everything below assumes you have a source image to edit. Without one, you are back to describing a scene, and the editing skills do almost nothing for you.
The edit prompt skeleton
Every Seedream edit prompt worth using has the same five parts in the same order.
Edit the attached image. Change: [the single thing to alter, stated as one visible difference]. Keep unchanged: [the elements that must survive, listed by name: background, pose, lighting direction, colour of [element], camera angle, crop]. Reference to follow for the unchanged parts: [uploaded reference image, if any]. Output: [aspect ratio and how many versions]. Do not alter anything I listed under Keep unchanged. Do not add new objects, people, text, or watermarks. Do not change the overall colour grade unless the Change line asks for it. Do not crop tighter than the original unless the Output line asks for it. If a change is impossible with the image provided, say so and describe what you would need instead of silently substituting something else.
Fill in these details
- Change: one difference. Two changes in one line reliably produce one change you did not want.
- Keep unchanged: the specific list. Vague "keep it the same" is where edits drift.
- Reference: a second image whose treatment the untouched regions should match.
- Output: frame and count, so you are not surprised by the crop.
Adapt by moving elements from the Change line into the Keep unchanged list as soon as they hold. The list grows every time an edit is correct, which is the point.
Changing one thing and keeping everything else
This is the edit most people need and the one most often ruined by over-description.
Using the attached image as the source, change [object] to [new state, described by material and colour, not by name of another object]. Keep unchanged: the background, the camera angle and crop, the direction and quality of the light, the position of [other elements], and the colour of every other object. Match the surface texture and shadow density to the existing image so the change does not look pasted on. Do not regenerate the whole scene. Do not alter any element outside [object]. Do not add text. Return only the edited image.
Describing the new state by material rather than by analogy is what keeps the edit photorealistic. "Replace the mug with a steel thermos" pulls the whole image toward product photography. "Replace the mug with a brushed steel cylinder with a black lid" changes one object.
Prompting text inside the frame
Text rendering is where image models differ most between versions and versions, so treat this as something to test on your account rather than assume. The reliable pattern is to state the exact string, its position, and its role.
Add this text to the image, spelled exactly as written: [exact string, in quotes]. Position: [for example, centred in the lower third with equal margin on both sides]. Appearance: [font category such as a clean sans serif or a hand-drawn marker, colour, and size relative to the frame]. Keep everything else in the image unchanged, including the background, lighting, and the objects already present. Do not add any other words, captions, signatures, or watermarks. Do not translate the text. Do not spell-check or correct my string; reproduce it character for character, including capitalisation and punctuation.
Check the rendered text character by character against your string. Models that render text well still drop a letter or shift capitalisation on small type, and the failure is only visible if you look for it.
Reference images for consistency across a set
When several images must look like one campaign, upload the look you want as a reference and keep the instruction stable across the run.
I am producing a set of [number] images that must look like one campaign. Reference image [uploaded] defines the colour palette, lighting, and surface treatment for all of them. Subject for image [n]: [what is in frame]. Follow the reference for treatment. Do not copy the reference's subject, objects, or layout. Do not add text unless the Output line for this image asks for it. Do not restate the reference's treatment in words, because that is what the reference is for. Keep the same aspect ratio across the set.
Consistency fails most often when each prompt re-describes the treatment in slightly different words. Small wording changes across five prompts produce five looks.
Worked example: a four-panel product campaign
A small ceramics studio has one photograph of a new glaze and needs four panels from it. The treatment must not change.
| Panel | Change line | Keep unchanged |
|---|---|---|
| Hero | Glaze colour shifted to a deep green | Background, shelf, camera angle, light |
| Detail | Camera moved to a macro crop of the glaze edge | Colour grade, background, light |
| Scale | A hand enters frame holding the mug | Glaze colour, shelf, light direction |
| Packaging | Background replaced with the studio's paper wrap | Mug position, glaze colour, light |
The second panel is the risky one because "camera moved" is a framing request on an existing image. If the result reframes the whole scene rather than cropping, re-run it as a crop instruction rather than a camera move.
How to check an edit prompt before you spend generations
1. Read the Change line and ask what else it implies
A change to colour implies a change to shadow density and reflection. If the model has not been told to preserve those, it will repaint them. Add them to Keep unchanged or accept a different result.
2. Confirm every Keep unchanged item is visible in the source
Naming something the source image does not contain gives the model permission to add it. Check each list entry against the actual image before you run.
3. Run one edit first, then a batch
Generate a single edit, check it against the two or three elements you care most about, and only then queue the rest. A batch run on a prompt with a wrong constraint wastes the whole batch.
4. Compare two phrasings of the same edit
Keep everything constant except the wording of the Change line. The gap between the two results tells you which phrasing is doing the work, and that knowledge carries to every later edit.
Common seedream 4 prompts mistakes
- Describing the subject anyway: the source image already supplies it. Redundant description competes with the instruction.
- Two changes in one line: you will get one of them, plus a surprise.
- Vague preservation: "keep the same style" lets the background and lighting drift.
- Analogy instead of material: naming another object restyles the scene. Describe material and colour.
- Ignoring the text check: verify rendered strings character by character every time.
- Trusting a leaderboard position: performance rankings date quickly. Test on your own account with your own reference images.
Frequently asked questions
Is Seedream 4 better than other image models for editing?
Reports of leaderboard results favour it for editing, but those are dated claims about specific benchmarks. Test it on your actual task, with your own source images, and compare against the model you already use before moving a workflow across.
How many reference images can I send?
This limit varies by version and by the platform or API you access the model through. Check current documentation, then design your prompt so that one reference carries the treatment and the text instruction carries the content, which works at any limit.
Why did my edit change the background too?
The Keep unchanged list was probably too vague, or an item on it was not visible in the source. Name background, light direction, and crop explicitly, and confirm each item exists in the image before you re-run.
Run one edit job and compare two prompts
Take one source image you have already edited badly, write the Change line twice in different phrasings, and hold everything else constant. The comparison is faster than any amount of prompt reading. For how the older editing models in this space compare, see the FLUX guide.