> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runpod.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Seedream 4.0 Edit

> New-generation image editing with unified generation and editing architecture.

Seedream 4.0 Edit provides advanced image editing capabilities using the same unified architecture as Seedream 4.0 T2I. It can edit or combine multiple source images based on text instructions.

<Card title="Try in playground" icon="play" href="https://console.runpod.io/hub/playground/image/seedream-v4-edit" horizontal>
  Test Seedream 4.0 Edit in the Runpod Hub playground.
</Card>

|              |                                                     |
| ------------ | --------------------------------------------------- |
| **Endpoint** | `https://api.runpod.ai/v2/seedream-v4-edit/runsync` |
| **Pricing**  | \$0.027 per image                                   |
| **Type**     | Image editing                                       |

## Request

All parameters are passed within the `input` object in the request body.

<ParamField body="input.prompt" type="string" required>
  Editing instructions describing the desired transformation.
</ParamField>

<ParamField body="input.images" type="array" required>
  Array of image URLs to edit or combine.
</ParamField>

<ParamField body="input.size" type="string" default="1024*1024">
  Output image dimensions in format "width\*height".
</ParamField>

<ParamField body="input.enable_safety_checker" type="boolean" default="true">
  Enable content safety checking.
</ParamField>

<RequestExample>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl -X POST "https://api.runpod.ai/v2/seedream-v4-edit/runsync" \
    -H "Authorization: Bearer $RUNPOD_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "input": {
        "prompt": "Dress the model in the clothes and hat",
        "images": [
          "https://example.com/model-photo.jpg",
          "https://example.com/clothes.jpg"
        ],
        "size": "1024*1024",
        "enable_safety_checker": true
      }
    }'
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import requests

  response = requests.post(
      "https://api.runpod.ai/v2/seedream-v4-edit/runsync",
      headers={
          "Authorization": f"Bearer {RUNPOD_API_KEY}",
          "Content-Type": "application/json",
      },
      json={
          "input": {
              "prompt": "Dress the model in the clothes and hat",
              "images": [
                  "https://example.com/model-photo.jpg",
                  "https://example.com/clothes.jpg",
              ],
              "size": "1024*1024",
              "enable_safety_checker": True,
          }
      },
  )

  result = response.json()
  print(result["output"]["image_url"])
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const response = await fetch(
    "https://api.runpod.ai/v2/seedream-v4-edit/runsync",
    {
      method: "POST",
      headers: {
        Authorization: `Bearer ${RUNPOD_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        input: {
          prompt: "Dress the model in the clothes and hat",
          images: [
            "https://example.com/model-photo.jpg",
            "https://example.com/clothes.jpg",
          ],
          size: "1024*1024",
          enable_safety_checker: true,
        },
      }),
    }
  );

  const result = await response.json();
  console.log(result.output.image_url);
  ```
</RequestExample>

## Response

<ResponseField name="id" type="string">
  Unique identifier for the request.
</ResponseField>

<ResponseField name="status" type="string">
  Request status. Returns `COMPLETED` on success, `FAILED` on error.
</ResponseField>

<ResponseField name="delayTime" type="integer">
  Time in milliseconds the request spent in queue before processing began.
</ResponseField>

<ResponseField name="executionTime" type="integer">
  Time in milliseconds the model took to edit the image.
</ResponseField>

<ResponseField name="workerId" type="string">
  Identifier of the worker that processed the request.
</ResponseField>

<ResponseField name="output" type="object">
  The generation result containing the image URL and cost.

  <ResponseField name="output.image_url" type="string">
    URL of the edited image. This URL expires after 7 days.
  </ResponseField>

  <ResponseField name="output.cost" type="float">
    Cost of the generation in USD, calculated based on the output megapixels.
  </ResponseField>
</ResponseField>

<ResponseExample>
  ```json 200 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "id": "sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890-u1",
    "status": "COMPLETED",
    "delayTime": 19,
    "executionTime": 4856,
    "workerId": "oqk7ao1uomckye",
    "output": {
      "image_url": "https://image.runpod.ai/abc123/output.png",
      "cost": 0.028311
    }
  }
  ```

  ```json 400 theme={"theme":{"light":"github-light","dark":"github-dark"}}
  {
    "id": "sync-a1b2c3d4-e5f6-7890-abcd-ef1234567890-u1",
    "status": "FAILED",
    "error": "Invalid image URL in images array"
  }
  ```
</ResponseExample>

<Warning>
  Image URLs expire after 7 days. Download and store edited images immediately if you need to keep them.
</Warning>

## Cost calculation

Seedream 4.0 Edit charges \$0.027 per image edited.
