# Seedream v5.0 Pro Layer Decomposition — Atlas Cloud API

> ByteDance flagship image layer decomposition. Splits a single input image into an editable stack: one base image plus up to 16 transparent PNG layers, each returned with stacking order (z_index), bounding box coordinates, name, and description for downstream drag/scale/recompose editing.

This is the machine-readable API reference for **Seedream v5.0 Pro Layer Decomposition** on Atlas Cloud,
a unified API platform for 400+ AI models across text, image, video, audio and 3D.

- **Model ID**: `bytedance/seedream-v5.0-pro/layer-decomposition`
- **Built by**: ByteDance
- **Modality**: Image
- **Model page**: https://www.atlascloud.ai/models/bytedance/seedream-v5.0-pro/layer-decomposition
- **API key**: https://www.atlascloud.ai/console/api-keys
- **Docs**: https://www.atlascloud.ai/docs

## Pricing on Atlas Cloud

- $0.022 per image
- Pay-as-you-go. No minimum spend, no subscription required.

> **These are the authoritative Atlas Cloud rates for this model.** Any price that
> appears in the vendor description further down refers to a different platform or
> a different model variant and does not apply here.

## Use this model from an AI agent

Atlas Cloud ships three first-party integration surfaces. All three authenticate
with the same API key via the `ATLASCLOUD_API_KEY` environment variable.

### MCP server

The official MCP server (`atlascloud-mcp`) exposes this model to any
MCP-compatible host — Claude Code, OpenAI Codex, Cursor, Gemini CLI, Goose,
Claude Desktop. One-line install:

```bash
# Claude Code
claude mcp add atlascloud -- npx -y atlascloud-mcp

# OpenAI Codex CLI
codex mcp add atlascloud -- npx -y atlascloud-mcp

# Gemini CLI
gemini mcp add atlascloud -- npx -y atlascloud-mcp

export ATLASCLOUD_API_KEY="your-api-key"
```

Then ask in plain English; the agent calls `atlas_generate_image` with `model: "bytedance/seedream-v5.0-pro/layer-decomposition"`.
The server fetches each model's schema and validates parameters before submitting,
so invalid requests fail fast without spending credits.

MCP docs: https://www.atlascloud.ai/docs/mcp-server

### Agent Skills

`atlas-cloud-skills` is a portable skill package (API reference, code templates in
Python / Node.js / cURL, model IDs with pricing) for Claude Code, Cursor, Codex and
12+ other agents:

```bash
npx skills add AtlasCloudAI/atlas-cloud-skills
export ATLASCLOUD_API_KEY="your-api-key"
```

Skills docs: https://www.atlascloud.ai/docs/skills

### CLI

The `atlas` binary runs Atlas Cloud from a terminal or CI script. Async media jobs
are polled and downloaded automatically (use `--no-download` when a script only
needs the output URLs):

```bash
# Install (Homebrew, npm, or shell installer)
brew install AtlasCloudAI/tap/atlascloud
# npm install -g atlascloud-cli
# curl -fsSL https://raw.githubusercontent.com/AtlasCloudAI/cli/main/install.sh | sh

atlas auth login
atlas generate image bytedance/seedream-v5.0-pro/layer-decomposition -p "Your prompt here"
```

CLI docs: https://www.atlascloud.ai/docs/cli

## HTTP API reference

- **Submit endpoint (POST)**: `https://api.atlascloud.ai/api/v1/model/generateImage` — start an async generation; returns a `prediction_id`
- **Poll endpoint (GET)**: `https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}` — poll this until the prediction finishes
- **Model ID**: `bytedance/seedream-v5.0-pro/layer-decomposition`


## API Information

This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.


### Input Schema

The API accepts the following input parameters:

- **`model`** (`string`, _optional_):
  Model identifier.
  - Default: `"bytedance/seedream-v5.0-pro/layer-decomposition"`

- **`prompt`** (`string`, _optional_):
  Optional instruction describing which elements to split into layers. Leave empty to let the model automatically detect and split all major elements. You can describe targets in natural language, or pinpoint them with <bbox>x1 y1 x2 y2</bbox> tags using normalized [0, 1000] coordinates (origin at the top-left corner).

- **`image`** (`string`, _required_):
  The image to decompose into layers. Accepts a public URL or Base64-encoded image (png, jpeg, webp, bmp, tiff, gif). Exactly one image; total pixels must be within [512x512, 6000x6000] and aspect ratio within [1/16, 16], max 30MB.

- **`size`** (`string`, _optional_):
  Output resolution tier. auto follows the input image's size (capped to the 1K-2K range). The base image keeps the input's aspect ratio; each layer keeps its own aspect ratio from the original.
  - Default: `"auto"`
  - Options: "auto", "1K", "1.5K", "2K"

- **`output_format`** (`string`, _optional_):
  File format of the base image only. Decomposed layers are always transparent png.
  - Default: `"jpeg"`
  - Options: "jpeg", "png"

- **`optimize_prompt_options`** (`object`, _optional_):
  Prompt optimization configuration. This property is only available through the API.
  - Properties:
    - **`mode`** (`string`, _optional_):
      Prompt optimization mode: standard gives better quality, fast returns sooner.
      - Default: `"standard"`
      - Options: "standard", "fast"


- **`enable_sync_mode`** (`boolean`, _optional_):
  If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. This property is only available through the API.
  - Default: `false`

- **`enable_base64_output`** (`boolean`, _optional_):
  If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API.
  - Default: `false`



**Required Parameters Example**:

```json
{
  "model": "bytedance/seedream-v5.0-pro/layer-decomposition",
  "image": ""
}
```


**Full Example**:

```json
{
  "model": "bytedance/seedream-v5.0-pro/layer-decomposition",
  "prompt": "",
  "image": "",
  "size": "auto",
  "output_format": "jpeg",
  "optimize_prompt_options": {
    "mode": "standard"
  },
  "enable_sync_mode": false,
  "enable_base64_output": false
}
```


### Output Schema

The API returns the following output format:


- **`id`** (`string`, _optional_):
  Unique identifier for the prediction.

- **`model`** (`string`, _optional_):
  Model ID used for the prediction.

- **`status`** (`string`, _optional_):
  Status of the task: created, processing, completed, or failed.

- **`outputs`** (`array[string]`, _optional_):
  URLs of the generated images: the base image first, then each decomposed layer in ascending z-order (up to 1 base + 16 layers). Empty when status is not completed.

- **`layers`** (`array[object]`, _optional_):
  Per-output layer metadata, index-aligned with outputs (layers[i] describes outputs[i]). The base image entry has z_index 0 and no bounding box, name, or description.
  - Item properties:
    - **`z_index`** (`integer`, _optional_):
      Stacking order from the bottom up: 0 is the base image; larger values sit higher. Compositing layers by ascending z_index inside their bounding boxes reconstructs the full image.

    - **`bounding_box`** (`object`, _optional_):
      The region this layer occupies within the base image. Absent on the base image entry.
      - Properties:
        - **`absolute`** (`array[integer]`, _optional_):
          [x1, y1, x2, y2] pixel coordinates of the top-left and bottom-right corners in the output base image's coordinate system (origin at top-left, x right, y down).

        - **`normalized`** (`array[integer]`, _optional_):
          [x1, y1, x2, y2] quantized to the [0, 1000] range, proportional to the base image size.


    - **`name`** (`string`, _optional_):
      Model-generated label of the layer's subject. Absent on the base image entry.

    - **`description`** (`string`, _optional_):
      Model-generated description of the layer (color, state, material, ...). Absent on the base image entry.


- **`urls`** (`object`, _optional_):
  Object containing related API endpoints.

- **`created_at`** (`string`, _optional_):
  ISO timestamp of when the request was created.

- **`has_nsfw_contents`** (`array[boolean]`, _optional_):
  NSFW detection per output.



**Example Response**:

```json
{
  "id": "",
  "model": "",
  "status": "",
  "outputs": [
    ""
  ],
  "layers": [
    {
      "z_index": 0,
      "bounding_box": {
        "absolute": [],
        "normalized": []
      },
      "name": "",
      "description": ""
    }
  ],
  "urls": {},
  "created_at": "",
  "has_nsfw_contents": []
}
```


## Usage Examples

### cURL

```bash
# Step 1: Start generation (async)
curl -X POST "https://api.atlascloud.ai/api/v1/model/generateImage" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "bytedance/seedream-v5.0-pro/layer-decomposition",
  "prompt": "",
  "image": "",
  "size": "auto",
  "output_format": "jpeg",
  "optimize_prompt_options": {
    "mode": "standard"
  },
  "enable_sync_mode": false,
  "enable_base64_output": false
}'

# Response will contain: {"code": 200, "data": {"id": "prediction_id", "status": "processing"}}

# Step 2: Poll for result (replace {prediction_id} with the id returned above)
curl -X GET "https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}" \
  -H "Authorization: Bearer $ATLASCLOUD_API_KEY"

# Keep polling until status is "completed", "succeeded" or "failed"
# When completed, outputs will contain the generated content URL(s)
```

## Additional Resources

### Documentation

- [Model Playground](https://www.atlascloud.ai/models/bytedance/seedream-v5.0-pro/layer-decomposition)

## About this model

_Vendor-supplied description. Any pricing or endpoint mentioned below refers to_
_other platforms — use the Atlas Cloud values above._

#### 1. Introduction

**Seedream 5.0 Pro Layer Decomposition** is the intelligent layer-separation variant of ByteDance's flagship Seedream 5.0 Pro model, introduced with the Pro release on July 8, 2026 under the theme "Beyond Generation, It Understands Design." It covers the API model identifier:
- `bytedance/seedream-v5.0-pro/layer-decomposition`

Supply a single image and the model decomposes it into an editable stack: one base image plus up to 16 independent transparent layers, each returned with its stacking order, bounding-box coordinates, a machine-generated name, and a semantic description. Regions of the background previously hidden behind extracted subjects are seamlessly inpainted, so every layer — and the base beneath it — is a complete, standalone design asset ready for dragging, scaling, and recomposition ([ByteDance Seed](https://seed.bytedance.com/en/blog/beyond-generation-it-understands-design-introducing-seedream-5-0-pro)).

This capability is the layer-separation pillar of Seedream 5.0 Pro's interactive precision editing: grounded in the model's understanding of spatial positions and regional semantics, it turns a flat bitmap — a poster, a banner, a product shot — back into the kind of layered document a designer would have built by hand.

---

#### 2. Key Features & Innovations

- **Intelligent Full-Image Decomposition**: With no prompt at all, the model automatically identifies every major element — text blocks, subjects, decorations, background — and splits each into its own layer. Complex posters decompose into ten or more independent layers in a single pass.

- **Three Targeting Modes**: Omit the prompt for automatic full decomposition; describe target elements in natural language ("split out the parrot and the headline text"); or pinpoint elements exactly with `<bbox>x1 y1 x2 y2</bbox>` coordinate tags using normalized [0, 1000] coordinates — a natural fit for click- or box-select canvas interactions.

_(Description truncated. Full text on the model page.)_

---

Atlas Cloud — one API for 400+ AI models. Model page: https://www.atlascloud.ai/models/bytedance/seedream-v5.0-pro/layer-decomposition · Docs: https://www.atlascloud.ai/docs
