---
title: Editing images — Seedream 5.5 | Runware Docs
url: https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images
description: "How to edit images with Seedream 5.5: an instruction to recolor, clean up or relight one photo, a drawn mark to pick the target, and edits chained over several rounds."
---
### [Introduction](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#introduction)

A catalog photo that needs one change, a new coat color or a cleaner table, **should not need a new shoot**. An edit starts from the photo you already have: you send it in `inputs.referenceImages`, describe the change in `positivePrompt`, and Seedream 5.5 returns that photo with the change made.

ByteDance built 5.5 around **editing consistency**. What an instruction does not touch is meant to stay where it was, so a photo can take several edits in a row and still be the same photo. The street shot below went in with one instruction to recolor the coat.

**Camel**:

![A woman with a low bun and sunglasses on a city sidewalk in a knee-length camel double-breasted coat over a black turtleneck, dark jeans and black loafers, a black crossbody bag at her hip, shopfronts and yellow-leaved trees behind her](https://runware.ai/docs/assets/source-coat.CAU0kXjn_2urpYg.jpg)

> **Prompt**: A fashion e-commerce lifestyle photograph of a woman in her late twenties with a sleek low bun and small gold hoop earrings, walking toward the camera mid-stride on a wide city sidewalk on a bright autumn morning. She wears a camel wool double-breasted coat that falls just below the knee, open over a black fine-knit turtleneck, straight-leg dark indigo jeans and black leather loafers, a small black leather crossbody bag on her left hip. Behind her, a softly blurred street of modern glass shopfronts and a few young plane trees with yellow leaves. Soft low sunlight from the left, natural shadows on the pavement. Full-length shot at waist height, 85mm lens, shallow depth of field, the woman centered. Photoreal fashion editorial photography, no text, no logos.

**Cobalt**:

![The same woman mid-stride on the same sidewalk with the coat now deep cobalt blue, its buttons, cut and length unchanged, the turtleneck, jeans, loafers and street the same](https://runware.ai/docs/assets/output-coat.B8be0hWk_Z1f0H9h.jpg)

> **Prompt**: Change only the color of the camel coat to a deep cobalt blue. Keep its fabric texture, its buttons, its cut and its length. Keep the woman, her face, her hair, her pose, the rest of her outfit, the bag, the street, the framing and the lighting exactly as they are.

The instruction named the coat and then **listed everything else as fixed**, from her pose to the street behind her. That second half, the keep list, is in every prompt on this page.

This guide covers the request and the output size, writing the instruction, removing clutter, moving a subject to a new background, pointing at the target with a drawn mark, and chaining edits on one photo. Building one image out of several is covered in [multi-reference composition](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/multi-reference-composition).

### [The request](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#the-request)

An edit is an ordinary generation request **with the photo attached**: the image goes in `inputs.referenceImages` and the instruction in `positivePrompt`.

**TypeScript**:

```typescript
import { createClient } from '@runware/sdk'

const client = await createClient({ apiKey: process.env.RUNWARE_API_KEY })
await client.connect()

const [result] = await client.run({
  model: 'bytedance:seedream@5.5',
  positivePrompt: 'Change only the color of the camel coat to a deep cobalt blue. Keep its fabric texture, its buttons, its cut and its length. Keep the woman, her face, her hair, her pose, the rest of her outfit, the bag, the street, the framing and the lighting exactly as they are.',
  inputs: {
    referenceImages: [
      'https://assets.runware.ai/guides/bytedance-seedream-5-5/editing-images/source-coat.jpg'
    ]
  },
  width: 1776,
  height: 2368
})
```

**Python**:

```python
import asyncio
import os

from runware import Runware

async def main():
    async with Runware(api_key=os.environ["RUNWARE_API_KEY"]) as client:
        results = await client.run({
            "model": "bytedance:seedream@5.5",
            "positivePrompt": "Change only the color of the camel coat to a deep cobalt blue. Keep its fabric texture, its buttons, its cut and its length. Keep the woman, her face, her hair, her pose, the rest of her outfit, the bag, the street, the framing and the lighting exactly as they are.",
            "inputs": {
                "referenceImages": [
                    "https://assets.runware.ai/guides/bytedance-seedream-5-5/editing-images/source-coat.jpg"
                ]
            },
            "width": 1776,
            "height": 2368
        })

asyncio.run(main())
```

**cURL**:

```bash
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "imageInference",
      "taskUUID": "5d8e2b73-1a46-4c9f-b0e7-3f6a9c1d4e82",
      "model": "bytedance:seedream@5.5",
      "positivePrompt": "Change only the color of the camel coat to a deep cobalt blue. Keep its fabric texture, its buttons, its cut and its length. Keep the woman, her face, her hair, her pose, the rest of her outfit, the bag, the street, the framing and the lighting exactly as they are.",
      "inputs": {
        "referenceImages": [
          "https://assets.runware.ai/guides/bytedance-seedream-5-5/editing-images/source-coat.jpg"
        ]
      },
      "width": 1776,
      "height": 2368
    }
  ]'
```

**CLI**:

```bash
runware run bytedance:seedream@5.5 \
  positivePrompt="Change only the color of the camel coat to a deep cobalt blue. Keep its fabric texture, its buttons, its cut and its length. Keep the woman, her face, her hair, her pose, the rest of her outfit, the bag, the street, the framing and the lighting exactly as they are." \
  inputs.referenceImages.0=https://assets.runware.ai/guides/bytedance-seedream-5-5/editing-images/source-coat.jpg \
  width=1776 \
  height=2368
```

**JSON**:

```json
{
  "taskType": "imageInference",
  "taskUUID": "5d8e2b73-1a46-4c9f-b0e7-3f6a9c1d4e82",
  "model": "bytedance:seedream@5.5",
  "positivePrompt": "Change only the color of the camel coat to a deep cobalt blue. Keep its fabric texture, its buttons, its cut and its length. Keep the woman, her face, her hair, her pose, the rest of her outfit, the bag, the street, the framing and the lighting exactly as they are.",
  "inputs": {
    "referenceImages": [
      "https://assets.runware.ai/guides/bytedance-seedream-5-5/editing-images/source-coat.jpg"
    ]
  },
  "width": 1776,
  "height": 2368
}
```

- `inputs.referenceImages` takes the photo as a URL, a UUID (a previous generation's, or one uploaded via Media Storage), a data URI or base64. Each reference can be **up to 36 megapixels and 30 MB**, so a phone photo goes in at full size. The array takes up to 10 images, and more than one combines them into a new image.
- `positivePrompt` carries **the instruction**: what changes and what stays.
- `width` and `height` are optional, covered in [Output size](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#output-size).

#### [Output size](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#output-size)

Leave the size out and the edit **keeps the reference's shape**: Seedream 5.5 returns it at the 2K tier, in the aspect ratio of the photo you sent. `resolution` asks for a smaller tier instead, `1K` or `1.5K`, with the ratio still taken from the reference.

Send `width` and `height` when the result has to **line up with the source**, as every before-and-after on this page does. The model honors them exactly, and they override the reference's ratio, so send the source's own size. The two have to multiply to between 921,600 and 4,624,220 pixels: a 4032 × 3024 phone photo is over that cap, and the largest output with its shape is 2480 × 1860.

### [Writing the instruction](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#writing-the-instruction)

An instruction has two halves, **what changes and what stays**. The coat prompt, clause by clause:

**[Target]** Change only the color of the camel coat, **[Change]** to a deep cobalt blue, **[Hold]** Keep its fabric texture, its buttons, its cut and its length, **[Keep]** Keep the woman, her face, her hair, her pose, the rest of her outfit, the bag, the street, the framing and the lighting exactly as they are

"The camel coat" **names the target by how it looks**, picking out one garment in the frame, and "only the color" **fences the change** to one property of it.

The second sentence **holds what makes the garment that garment**. A recolor that says nothing about texture or cut leaves the model free to redraw them along with the color, so it keeps the fabric, the buttons, the cut and the length.

The keep list then **names categories, not details**. "The street" and "the lighting" cover everything in them without describing the photo back to the model, and the photo already shows what they look like.

### [Removing clutter](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#removing-clutter)

A menu photo taken in a working restaurant picks up whatever was on the table. A removal **lists every object that has to go**, then says what fills the space each one leaves.

**As shot**:

![A bacon cheeseburger on a white plate beside a black wire basket of fries on a light oak table, with a crumpled napkin and a ketchup smear by the knife and fork, crumbs around the plate and a face-down phone at the back](https://runware.ai/docs/assets/source-burger.CJvmb6bi_Z14K6fP.jpg)

> **Prompt**: A food delivery app menu photograph of a double smash burger with melted cheddar, pickles and shredded lettuce on a glossy toasted brioche bun, served on a round matte white plate, with skin-on fries in a small black wire basket beside it, on a light oak restaurant table. Around the plate: a crumpled paper napkin with a ketchup smear, scattered sesame seeds and crumbs, three spilled fries on the table and a smartphone lying face down near the top right corner of the frame. Soft window daylight from the left, three-quarter overhead angle at about 45 degrees, 50mm lens, shallow depth of field. Photoreal food photography, no text, no logos.

**Cleaned**:

![The same burger and basket of fries on the same light oak table with the napkin, the ketchup, the crumbs and the phone gone, the wood grain continuous where they lay and the knife and fork still in place](https://runware.ai/docs/assets/output-burger.DpSIVxmw_Z2aiFFW.jpg)

> **Prompt**: Remove the crumpled napkin, the crumbs and sesame seeds, the spilled fries and the smartphone from the table, and continue the light oak table surface and its wood grain where each of them was. Keep the burger, the plate, the basket of fries, the framing and the lighting exactly as they are.

```text
Remove the crumpled napkin, the crumbs and sesame seeds, the spilled fries and the smartphone from the table, and continue the light oak table surface and its wood grain where each of them was. Keep the burger, the plate, the basket of fries, the framing and the lighting exactly as they are.
```

The fill clause does its work where an object sat **on a pattern**. The oak grain has to run on through the spots the napkin and the phone covered, and naming it hands the model the texture to continue instead of a blank to invent.

### [Changing the background](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#changing-the-background)

Moving a subject to a new place takes **a new background and new light** in the same instruction. A studio shot carries the flat front light of the studio, and set against a sunrise unchanged, it reads as a cutout.

**Studio**:

![A woman with dark curly hair in a high ponytail standing in a relaxed three-quarter stance in a sage green sports bra, matching leggings and white training shoes against a warm gray studio backdrop](https://runware.ai/docs/assets/source-studio.C8MzMAsG_Z1LpfYN.jpg)

> **Prompt**: A fitness brand catalog photograph of a woman in her early thirties with dark curly hair tied back in a high ponytail, standing in a relaxed three-quarter stance with her weight on one leg and one hand adjusting her ponytail, smiling slightly. She wears a sage green sports bra, matching high-waisted sage green leggings and white training shoes. Seamless warm gray studio backdrop, soft even studio lighting from the front, a faint shadow on the floor. Full-length shot at waist height, 50mm lens, centered. Photoreal activewear catalog photography, no text, no logos.

**Boardwalk**:

![The same woman in the same sage green activewear standing on a weathered wooden boardwalk at sunrise, warm light rimming her hair and arms from behind, a long shadow on the planks and a soft sea behind her](https://runware.ai/docs/assets/output-boardwalk.pnIVvC-W_2rklBP.jpg)

> **Prompt**: Move her from the studio to an empty wooden seaside boardwalk at sunrise, the weathered planks running away behind her and a calm sea and pale sky softly out of focus in the background. Relight her with the low warm sun coming from behind her left shoulder, a soft rim of light along her hair and arms, and a long soft shadow on the planks at her feet. Keep her face, her hair and her outfit as they are.

```text
Move her from the studio to an empty wooden seaside boardwalk at sunrise, the weathered planks running away behind her and a calm sea and pale sky softly out of focus in the background. Relight her with the low warm sun coming from behind her left shoulder, a soft rim of light along her hair and arms, and a long soft shadow on the planks at her feet. Keep her face, her hair and her outfit as they are.
```

The second sentence **relights her for the new place**. A direction for the sun decides where the highlights land on her, and the shadow on the planks is what puts her feet on the boardwalk rather than in front of it.

The keep list is **shorter than in the other edits**. It holds her face, her hair and her outfit, and leaves out the lighting and the framing, because the light on her is part of what has to change.

### [Pointing with a mark](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#pointing-with-a-mark)

Three identical doors in a row leave **no short wording that picks one out**. Instead of counting in the prompt, circle the target on the photo in a color the photo does not contain, and refer to the circle. Seedream 5.5 reads the mark from the reference itself, so **draw it into the image you send**.

**Marked**:

![A row of three identical red brick townhouses with white six-panel front doors under fanlight windows, stone steps and black railings, the middle door ringed in red](https://runware.ai/docs/assets/marked-door.BsXmZFY9_2wYaNg.jpg)

> **Prompt**: A real estate listing photograph of a row of three identical terraced townhouses in red brick, side by side. Each house has a white-painted six-panel front door with a small semicircular fanlight window above it, three pale stone steps up to the door with a black iron railing on each side, and a tall white sash window to the right of the door. Overcast soft daylight, straight-on view from across a quiet street at standing height, 35mm lens, verticals straight, all three front doors fully in frame and evenly spaced. Photoreal architectural photography, no people, no cars, no text, no house numbers.

**Edited**:

![The same row of townhouses with the middle door now deep forest green with brass fittings, the other two doors still white, and no red ring](https://runware.ai/docs/assets/output-door.DDgiz6Cy_SwbSf.jpg)

> **Prompt**: Repaint the front door inside the red circle a deep forest green, with a polished brass door knocker and a brass handle. Keep its panels, its fanlight and its frame. Keep the other two doors white, and keep the brick, the steps, the railings, the windows, the street, the framing and the lighting exactly as they are. Remove the red circle from the finished photo.

```text
Repaint the front door inside the red circle a deep forest green, with a polished brass door knocker and a brass handle. Keep its panels, its fanlight and its frame. Keep the other two doors white, and keep the brick, the steps, the railings, the windows, the street, the framing and the lighting exactly as they are. Remove the red circle from the finished photo.
```

The instruction says "the front door inside the red circle" and **never names a position**, so the same sentence works wherever a user taps in your app and your code draws the ring. The keep list names the look-alikes by count and color, "the other two doors white", and the last sentence **asks for the circle to go**, since it is part of the photo the model receives.

Any drawing step can make the mark. ImageMagick draws the ring above onto the photo in one command:

```bash
magick photo.jpg \
  -fill none -stroke "#ff1f1f" -strokewidth 13 \
  -draw "ellipse 1171,1045 130,270 0,360" \
  marked.jpg
```

### [Chaining edits](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#chaining-edits)

Each edit returns an ordinary image, so **one round's output is the next round's reference**. Pass the previous result's `imageURL` or `imageUUID` straight back in `inputs.referenceImages`, with no download in between. The empty bedroom below is staged in three rounds, one change per round:

**Original**:

![An empty bedroom with a pale oak floor, white walls, a large black-framed window on the right throwing a patch of daylight across the floor and a white door frame at the far left](https://runware.ai/docs/assets/source-room.DLsOU3Nm_RJSBf.jpg)

> **Prompt**: A real estate listing photograph of an empty bedroom in a newly built apartment. Pale engineered oak floor, plain white walls with a slim white baseboard, a large black-framed window on the right wall letting in soft afternoon daylight that falls in a bright patch across the floor, a white door frame at the far left edge, a flat white ceiling with one recessed light. The back wall is bare and faces the camera. Wide shot from the corner at chest height, 20mm lens, verticals straight. No furniture, no people, no text. Photoreal interior photography, bright neutral palette.

**1 · Furnish**:

![The same bedroom with a queen bed with an oatmeal linen headboard, white bedding and a rust throw against the back wall, walnut nightstands with white ceramic lamps and a round jute rug, the window and daylight unchanged](https://runware.ai/docs/assets/output-staged.jal8hkuh_1FRyvd.jpg)

> **Prompt**: Stage this empty bedroom for a real estate listing. Add a queen bed with a low upholstered headboard in oatmeal linen centered against the back wall, made with crisp white bedding and a folded rust-colored throw at the foot, a slim walnut nightstand on each side of the bed with a small white ceramic lamp on each, and a large round jute rug under the bed. Keep the floor, the walls, the window, the door frame, the ceiling, the daylight and the camera angle exactly as they are.

**2 · Paint**:

![The same staged bedroom with the back wall behind the bed now muted sage green and the side walls still white](https://runware.ai/docs/assets/output-painted.C4sFkT9W_Z1ipzLc.jpg)

> **Prompt**: Paint only the back wall behind the bed a muted sage green, with a clean straight line where it meets the ceiling and the side walls. Keep the bed, the bedding, the nightstands, the lamps, the rug, the floor, the other walls, the window, the door frame, the ceiling, the daylight and the camera angle exactly as they are.

**3 · Decor**:

![The same sage-walled bedroom with a framed black-and-white landscape photo above the headboard, a bird of paradise plant in a seagrass basket by the window and books with a small vase on the right nightstand](https://runware.ai/docs/assets/output-decor.BCp-AYbn_ZoH4uI.jpg)

> **Prompt**: Add a large framed black-and-white landscape photograph centered on the wall above the headboard, a tall bird of paradise plant in a woven seagrass basket in the corner beside the window, and two stacked books with a small stoneware vase on the right nightstand. Keep the bed, the bedding, the nightstands, the lamps, the rug, the sage green wall, the floor, the window, the door frame, the ceiling, the daylight and the camera angle exactly as they are.

The loupe sits on the window in every round, so **stepping between rounds shows whether the room moved**: the window frame and the patch of daylight on the floor are in every keep list.

Each request sees only its reference and its own prompt, so **the keep list does not carry over** from one round to the next. Round three lists "the sage green wall" that round two painted: from round three's point of view, the wall is part of the photo it was given.

None of the three rounds sends a size, so each comes back **at the 2K tier in the shape of the room photo** it was given.

### [Tips](https://runware.ai/docs/models/bytedance-seedream-5-5/guides/editing-images#tips)

1. **Name what changes, then what stays.** The keep list is half of every instruction, and on a listing or a product page it is the half that keeps the photo true.
    
2. **Fence a recolor with "only".** Then hold what makes the object itself, such as its texture and its cut.
    
3. **Say what fills the gap.** A removal names what was behind each object, the table and its grain rather than an empty space.
    
4. **Relight a moved subject.** Give the light a direction and ask for a contact shadow, and leave the lighting out of the keep list.
    
5. **Circle look-alikes.** Draw the ring into the photo you send, refer to it in the instruction and ask for it to be removed.
    
6. **Change one thing per round.** Restate the keep list in every round, since no round sees the prompts before it.
    
7. **Send the source's size for a before-and-after.** Without `width` and `height`, the edit comes back at 2K in the reference's shape.