Skip to main content
Glama

Edit an image with Seedream

seedream_edit_image
Destructive

Modify existing images with text prompts to change styles, backgrounds, or clothing. Supports virtual try-on and scene composition from single or multiple inputs.

Instructions

Edit or modify existing images using ByteDance's Seedream/SeedEdit model.

This tool modifies existing images based on text instructions. It can change
styles, backgrounds, attributes, clothing, and more. Supports single or
multiple image inputs.

Use this when:
- You want to modify or transform an existing image
- You need to change style, background, colors, or attributes
- You want to apply artistic transformations (watercolor, oil painting, etc.)
- You need virtual try-on (clothing on person)
- You want to place objects in different scenes

Common use cases:
- Style transfer: "Convert to anime style", "Make it look like a pencil sketch"
- Background change: "Replace background with a sunset beach"
- Attribute edit: "Change hair color to blonde", "Add sunglasses"
- Virtual try-on: Provide person image + clothing image
- Scene composition: Place products in realistic environments

Returns:
    JSON with task_id, trace_id, success status, and edited image data
    including image URLs.

Input Schema

NameRequiredDescriptionDefault
sizeNoModel-specific output size or explicit dimensions. Pro supports 1K/1.5K/2K; Lite supports 2K/3K/4K.
imageYesList of image URLs or base64-encoded images to edit. Supports HTTP/HTTPS URLs (publicly accessible) or base64 format (data:image/png;base64,...). Each image must be under 10MB.
modelNoModel to use for editing. Seedream 5.0 Pro, 5.0 Lite, 4.5, and 4.0 all support image editing when images are provided.doubao-seedream-5-0-lite-260128
toolsNoOptional list of tool types for the model to use during editing.
promptYesDescription of the edit to perform on the image(s). Describe what changes you want. Example: 'Change the background to a beach scene', 'Make the person wear a red dress', 'Convert to watercolor painting style'
watermarkNoWhether to add an AI-generated watermark. Default is true.
backgroundNoSeedream 5.0 Pro background mode. transparent requires one PNG input and PNG output.
callback_urlNoOptional webhook URL for async result notification.
output_formatNoOutput image format. 'jpeg' (default) or 'png'.
response_formatNoResponse format. 'url' (default) or 'b64_json'.
optimize_prompt_optionsNoPrompt optimization. Pro supports standard/fast; Lite supports standard.
sequential_image_generationNoGenerate related images based on input. 'auto' enables it.
sequential_image_generation_optionsNoTunable options for grouped image generation.

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.1.16
    • changedInput schema / properties / model / default
      Previous value: -"doubao-seedream-5-0-260128"New value: +"doubao-seedream-5-0-lite-260128"
    • changedInput schema / properties / model / enum
      Previous value: -[
      -  "doubao-seedream-5-0-pro-260628",
      -  "doubao-seedream-5-0-260128",
      -  "doubao-seedream-4-5-251128",
      -  "doubao-seedream-4-0-250828"
      -]New value: +[
      +  "doubao-seedream-5-0-pro-260628",
      +  "doubao-seedream-5-0-lite-260128",
      +  "doubao-seedream-4-5-251128",
      +  "doubao-seedream-4-0-250828"
      +]
  2. Changed5 schema fields changedv0.1.15
    • addedInput schema / properties / background
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "transparent",
      +        "opaque"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Seedream 5.0 Pro background mode. transparent requires one PNG input and PNG output.",
      +  "title": "Background"
      +}
    • changedInput schema / properties / optimize_prompt_options / description
      Previous value: -"Optional prompt optimization configuration."New value: +"Prompt optimization. Pro supports standard/fast; Lite supports standard."
    • changedInput schema / properties / size / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "1K",
      -      "2K",
      -      "3K",
      -      "4K"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / size / description
      Previous value: -"Output image resolution. '1K' (default), '2K', '3K', or '4K'."New value: +"Model-specific output size or explicit dimensions. Pro supports 1K/1.5K/2K; Lite supports 2K/3K/4K."
    • removedInput schema / properties / stream
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "boolean"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Stream pictures progressively when supported.",
      -  "title": "Stream"
      -}
  3. Changed5 schema fields changedv0.1.14
    • addedInput schema / properties / optimize_prompt_options
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional prompt optimization configuration.",
      +  "title": "Optimize Prompt Options"
      +}
    • addedInput schema / properties / sequential_image_generation
      Added value: +{
      +  "anyOf": [
      +    {
      +      "enum": [
      +        "auto",
      +        "disabled"
      +      ],
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Generate related images based on input. 'auto' enables it.",
      +  "title": "Sequential Image Generation"
      +}
    • addedInput schema / properties / sequential_image_generation_options
      Added value: +{
      +  "anyOf": [
      +    {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Tunable options for grouped image generation.",
      +  "title": "Sequential Image Generation Options"
      +}
    • addedInput schema / properties / stream
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Stream pictures progressively when supported.",
      +  "title": "Stream"
      +}
    • addedInput schema / properties / tools
      Added value: +{
      +  "anyOf": [
      +    {
      +      "items": {
      +        "const": "web_search",
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Optional list of tool types for the model to use during editing.",
      +  "title": "Tools"
      +}
  4. Changed2 schema fields changedv0.1.11
    • changedInput schema / properties / size / anyOf
      Previous value: -[
      -  {
      -    "enum": [
      -      "1K",
      -      "2K",
      -      "3K",
      -      "4K",
      -      "adaptive"
      -    ],
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "enum": [
      +      "1K",
      +      "2K",
      +      "3K",
      +      "4K"
      +    ],
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / size / description
      Previous value: -"Output image resolution. '1K' (default), '2K', '3K', '4K', or 'adaptive'."New value: +"Output image resolution. '1K' (default), '2K', '3K', or '4K'."
  5. Changed5 schema fields changedv0.1.10
    • removedInput schema / properties / guidance_scale
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "number"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Prompt weight — higher values make edits follow the prompt more closely. Range: [1, 10]. Default is 5.5 for doubao-seededit-3-0-i2i. Only works with v3 models.",
      -  "title": "Guidance Scale"
      -}
    • changedInput schema / properties / model / default
      Previous value: -"doubao-seededit-3-0-i2i-250628"New value: +"doubao-seedream-5-0-260128"
    • changedInput schema / properties / model / description
      Previous value: -"Model to use for editing. 'doubao-seededit-3-0-i2i-250628' (dedicated editing model, best for image modification). Other models can also be used for editing when images are provided."New value: +"Model to use for editing. Seedream 5.0 Pro, 5.0 Lite, 4.5, and 4.0 all support image editing when images are provided."
    • changedInput schema / properties / model / enum
      Previous value: -[
      -  "doubao-seedream-5-0-pro-260628",
      -  "doubao-seedream-5-0-260128",
      -  "doubao-seedream-4-5-251128",
      -  "doubao-seedream-4-0-250828",
      -  "doubao-seedream-3-0-t2i-250415",
      -  "doubao-seededit-3-0-i2i-250628"
      -]New value: +[
      +  "doubao-seedream-5-0-pro-260628",
      +  "doubao-seedream-5-0-260128",
      +  "doubao-seedream-4-5-251128",
      +  "doubao-seedream-4-0-250828"
      +]
    • removedInput schema / properties / seed
      Removed value: -{
      -  "anyOf": [
      -    {
      -      "type": "integer"
      -    },
      -    {
      -      "type": "null"
      -    }
      -  ],
      -  "default": null,
      -  "description": "Random seed for reproducible edits. Range: [-1, 2147483647]. Default is -1 (random). Only works with v3 models.",
      -  "title": "Seed"
      -}
  6. Changed1 schema field changedv0.1.9
    • changedInput schema / properties / model / enum
      Previous value: -[
      -  "doubao-seedream-5-0-260128",
      -  "doubao-seedream-5.0-lite",
      -  "doubao-seedream-4-5-251128",
      -  "doubao-seedream-4-0-250828",
      -  "doubao-seedream-3-0-t2i-250415",
      -  "doubao-seededit-3-0-i2i-250628"
      -]New value: +[
      +  "doubao-seedream-5-0-pro-260628",
      +  "doubao-seedream-5-0-260128",
      +  "doubao-seedream-4-5-251128",
      +  "doubao-seedream-4-0-250828",
      +  "doubao-seedream-3-0-t2i-250415",
      +  "doubao-seededit-3-0-i2i-250628"
      +]
  7. Changed1 schema field changedv0.1.8
    • changedInput schema / properties / model / enum
      Previous value: -[
      -  "doubao-seedream-5-0-260128",
      -  "doubao-seedream-4-5-251128",
      -  "doubao-seedream-4-0-250828",
      -  "doubao-seedream-3-0-t2i-250415",
      -  "doubao-seededit-3-0-i2i-250628"
      -]New value: +[
      +  "doubao-seedream-5-0-260128",
      +  "doubao-seedream-5.0-lite",
      +  "doubao-seedream-4-5-251128",
      +  "doubao-seedream-4-0-250828",
      +  "doubao-seedream-3-0-t2i-250415",
      +  "doubao-seededit-3-0-i2i-250628"
      +]
  8. Addedv0.1.5
  9. Removedv0.1.3
  10. First observedv0.1.0

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already disclose the safety profile (destructiveHint=true, openWorldHint=true, non-idempotent), so the description's job is lighter. It implies async behavior via 'task_id' and mentions callback_url only in the schema, but never explains the polling workflow or that results may need seedream_get_task. Adds some context, but much of the return-value text duplicates the existing output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence, which is good, but the body is padded: the 'Use this when' bullets and the 'Common use cases' bullets substantially overlap (both cover style, background, attributes, try-on), duplicating the same information twice. The Returns section is also largely redundant given a defined output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter tool with 100% schema coverage, an output schema, and full annotations, the description covers purpose, use cases, and return shape adequately. It could say more about the async/task_id workflow and the multi-image semantics of 'image', but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema carries all parameter detail (size, model, watermark, background, output_format, etc.) and the baseline is 3. The description only adds prompt examples, which mirror the schema's own prompt description rather than extending it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Edit or modify existing images') and names the underlying model family. The emphasis on 'existing images' cleanly distinguishes it from the sibling seedream_generate_image, and the modification scope (style, background, attributes, clothing) is stated explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides an explicit 'Use this when' list plus concrete use cases (style transfer, background change, virtual try-on), which gives strong positive guidance. However, it never names alternatives or states when NOT to use it — e.g., that creating a brand-new image should go to seedream_generate_image, or that decomposition goes to seedream_decompose_image.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.