live
MODEL IDbytedance:seedream@5.5

Seedream 5.5

ByteDance
by

Seedream 5.5 is ByteDance's image generation and editing model, focused on visual realism, aesthetics and editing consistency. It supports text-to-image and reference-guided editing with up to 10 input images, keeps unedited areas stable across multi-turn edits, and outputs transparent images from a prompt or from references. It can also split an image into a base image and up to 99 editable layers, returning the text, position, font and style of each text layer, which suits poster, packaging and marketing design workflows.

Seedream 5.5

Prompting

How to write text-to-image prompts for Seedream 5.5: choosing between resolution tiers and exact sizes, layering a prompt into directives, and setting exact copy on the image.

Introduction

Seedream 5.5 turns a prompt and a size into an image, and ByteDance built this version around visual realism and aesthetic quality. Write the prompt as a brief: what the image is for, then the subject, the setting, the light, the lens and the framing, each in a clause of its own.

Composition is a clause like any other. "She rides on the right third of the frame with open sky to the left" is the line that leaves the campaign room for its headline, and the lens and aperture set how far the skyline falls out of focus.

This guide covers the request and its two ways of setting the size, how to layer a prompt, and how to put exact copy on the image. Starting from images you already have is covered in editing images and multi-reference composition. Cut-outs and layered files have their own guides, transparent backgrounds and layer decomposition.

The request

A text-to-image request is a prompt plus a size. This is the request behind the hero:

Try in Playground
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: 'A wide editorial lifestyle photograph for a city bike-share campaign. A woman in her late twenties with a short dark bob, wearing a mustard rain jacket over a gray hoodie and dark jeans, rides a mint-green bicycle across a steel truss bridge at sunrise, mid-pedal, looking ahead with a relaxed half smile. The low sun sits behind her to the left, a warm rim light runs along her jacket and the bicycle frame, and long soft shadows stretch across the bridge deck. A calm river and a hazy city skyline fill the background. Shot at eye level from the edge of the sidewalk with a 50mm lens at f/2.8, she rides on the right third of the frame with open sky to the left. Natural skin texture, fine fabric detail, true-to-life color, editorial campaign photography, no text, no logos.',
  width: 2560,
  height: 1440
})
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": "A wide editorial lifestyle photograph for a city bike-share campaign. A woman in her late twenties with a short dark bob, wearing a mustard rain jacket over a gray hoodie and dark jeans, rides a mint-green bicycle across a steel truss bridge at sunrise, mid-pedal, looking ahead with a relaxed half smile. The low sun sits behind her to the left, a warm rim light runs along her jacket and the bicycle frame, and long soft shadows stretch across the bridge deck. A calm river and a hazy city skyline fill the background. Shot at eye level from the edge of the sidewalk with a 50mm lens at f/2.8, she rides on the right third of the frame with open sky to the left. Natural skin texture, fine fabric detail, true-to-life color, editorial campaign photography, no text, no logos.",
            "width": 2560,
            "height": 1440
        })


asyncio.run(main())
curl https://api.runware.ai/v1 \
  -H "Authorization: Bearer $RUNWARE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "taskType": "imageInference",
      "taskUUID": "4c8e1f2a-7b3d-4e9a-b6c5-0d2f8a1e3b74",
      "model": "bytedance:seedream@5.5",
      "positivePrompt": "A wide editorial lifestyle photograph for a city bike-share campaign. A woman in her late twenties with a short dark bob, wearing a mustard rain jacket over a gray hoodie and dark jeans, rides a mint-green bicycle across a steel truss bridge at sunrise, mid-pedal, looking ahead with a relaxed half smile. The low sun sits behind her to the left, a warm rim light runs along her jacket and the bicycle frame, and long soft shadows stretch across the bridge deck. A calm river and a hazy city skyline fill the background. Shot at eye level from the edge of the sidewalk with a 50mm lens at f/2.8, she rides on the right third of the frame with open sky to the left. Natural skin texture, fine fabric detail, true-to-life color, editorial campaign photography, no text, no logos.",
      "width": 2560,
      "height": 1440
    }
  ]'
runware run bytedance:seedream@5.5 \
  positivePrompt="A wide editorial lifestyle photograph for a city bike-share campaign. A woman in her late twenties with a short dark bob, wearing a mustard rain jacket over a gray hoodie and dark jeans, rides a mint-green bicycle across a steel truss bridge at sunrise, mid-pedal, looking ahead with a relaxed half smile. The low sun sits behind her to the left, a warm rim light runs along her jacket and the bicycle frame, and long soft shadows stretch across the bridge deck. A calm river and a hazy city skyline fill the background. Shot at eye level from the edge of the sidewalk with a 50mm lens at f/2.8, she rides on the right third of the frame with open sky to the left. Natural skin texture, fine fabric detail, true-to-life color, editorial campaign photography, no text, no logos." \
  width=2560 \
  height=1440
{
  "taskType": "imageInference",
  "taskUUID": "4c8e1f2a-7b3d-4e9a-b6c5-0d2f8a1e3b74",
  "model": "bytedance:seedream@5.5",
  "positivePrompt": "A wide editorial lifestyle photograph for a city bike-share campaign. A woman in her late twenties with a short dark bob, wearing a mustard rain jacket over a gray hoodie and dark jeans, rides a mint-green bicycle across a steel truss bridge at sunrise, mid-pedal, looking ahead with a relaxed half smile. The low sun sits behind her to the left, a warm rim light runs along her jacket and the bicycle frame, and long soft shadows stretch across the bridge deck. A calm river and a hazy city skyline fill the background. Shot at eye level from the edge of the sidewalk with a 50mm lens at f/2.8, she rides on the right third of the frame with open sky to the left. Natural skin texture, fine fabric detail, true-to-life color, editorial campaign photography, no text, no logos.",
  "width": 2560,
  "height": 1440
}
Response
[
  {
    "taskType": "imageInference",
    "taskUUID": "4c8e1f2a-7b3d-4e9a-b6c5-0d2f8a1e3b74",
    "imageUUID": "b27d9e41-3c6a-4f85-9e0b-7a1c5d3f2e68",
    "imageURL": "https://im.runware.ai/image/os/a14d18/ws/2/ii/b27d9e41-3c6a-4f85-9e0b-7a1c5d3f2e68.jpg"
  }
]
  • positivePrompt describes the image. ByteDance recommends keeping it under about 600 English words.
  • The size comes from either resolution or width and height, never both, and a request with no reference image needs one of them.
  • resolution is a tier: 1K, 1.5K or 2K.
  • width × height has to land between 921,600 and 4,624,220 pixels, with an aspect ratio from 1:16 to 16:1. That runs from 1280 × 720 at 16:9 up to about 2150 × 2150 at 1:1.

Choosing the size

The two size fields answer different questions. A tier says how many pixels, explicit dimensions say exactly which frame.

Resolution tiers

A tier sets the pixel budget and the prompt sets the shape. With resolution alone the model picks the aspect ratio from the prompt, so a tier request should name its orientation in words. The travel hero below asked for "a wide 16:9 website hero" at 2K and sent no dimensions.

The tier is a budget, not a fixed size. 1K lands around 1 megapixel, 1.5K around 2.4 and 2K around 4.2, and the exact width and height follow the ratio the model picks. Read the dimensions from the file rather than assuming them.

Exact sizes

Send width and height when the layout has a fixed slot, such as a 1080 × 1920 story or a banner of a known size. Explicit dimensions are honored exactly, so the file drops into the slot with no crop or resize step.

The size fixes the frame, and the prompt still plans the layout inside it. "The top third of the frame is empty dark slate" keeps the food clear of the strip the app covers with its offer banner.

Structuring the prompt

Every clause is a decision you take away from the model. A short prompt leaves the setting, the light, the lens and the framing to the model's defaults. The two kettles below share a subject, and only the second prompt makes those decisions.

The layered prompt, clause by clause:

A product hero photo for a home appliance store, A matte sage green electric kettle with a brushed steel base, a curved handle in glossy cream-colored plastic and a small round temperature dial, standing on a pale oak kitchen counter. Behind it, slightly out of focus, a white tiled backsplash, a ceramic jar of wooden spoons and a sprig of fresh basil in a glass, Soft morning window light from the right, a gentle highlight along the curved body of the kettle, a soft contact shadow on the counter, Shot at counter height with an 85mm lens, the kettle centered and filling the middle third of the frame, Photoreal commercial product photography, crisp material detail, true-to-life color, no text, no logos
DeliverableSubjectSettingLightingCameraStyleExclusions

Open with the deliverable. "A product hero photo for a home appliance store" names the use before any detail, the way a brief to a photographer would.

Describe the product in materials and parts. "A brushed steel base, a curved handle in glossy cream-colored plastic and a small round temperature dial" gives the model three surfaces to render. The short prompt gave it a color.

Close with what to leave out. "No text, no logos" keeps an invented brand mark off a product that does not have one.

Text in the image

Seedream 5.5 sets the copy you write into the prompt. Put each line in double quotes and give it a position, a type style and a color, so the model treats it as copy to set rather than a description to paraphrase.

The cover prompt gives each line its own size and position, and that order is the cover's hierarchy. Ending on "no other text" leaves the model no room to add a tagline or a publisher mark nobody asked for.

Tips

  1. Name the orientation in tier requests. With resolution alone the prompt decides the shape, so write "wide 16:9", "vertical" or "square" into it.

  2. Set exact dimensions for fixed slots. Explicit width and height come back exactly as sent, which saves a crop for stories and banners.

  3. Open with the deliverable. A product hero and a book cover set a different register for every clause that follows.

  4. Give each decision its own clause. Subject, setting, light, lens and framing left out of the prompt fall back to the model's defaults.

  5. Reserve space in words. "Open sky to the left" or "plain slate across the top third" keeps the subject out of the area your layout covers.

  6. Quote every line of copy. Give each line a position and a type style, and end with "no other text".

  7. Keep prompts under about 600 words. That is ByteDance's own recommendation for this model.