The Canva Apps SDK, Connect APIs, and MCP are now unified in the Canva Developers SDK. Learn more⁠(opens in a new tab or window).
Canva Developers SDK
The Canva Apps SDK, Connect APIs, and MCP are now unified in the Canva Developers SDK. Learn more⁠(opens in a new tab or window).

separate-image-layers

Turn a flat image into a new design with separately editable layers.

Use separate-image-layers to convert a flat image in the user's Canva account into a new design where the text, objects, and background are separate elements. It works best with flat graphics, such as posters, banners, and social graphics. The source image isn't changed.

In ChatGPT, this tool is called image-to-design.

Example prompt

"Make the text in this poster image editable."

Pass the asset_id of a PNG, JPEG, or WEBP image in the user's Canva account, and optionally a title for the new design. To get an asset_id for an image at a public URL, upload it first with upload-asset-from-url. For an image saved locally, upload it with create-upload-url.

Example response

IDs, URLs, and tokens below are placeholders; field names and structure are exactly as returned.

This tool starts an asynchronous job.

{
"job_id": "job_EXAMPLE",
"status": "pending",
"continuation_token": "EXAMPLE_TOKEN",
"polling_policy": {
"wait_seconds": 10,
"instructions": "The image is being separated into editable layers. Wait at least 10 seconds before the first poll..."
}
}
JSON

Returns a job_id and continuation_token. Wait for polling_policy.wait_seconds, then pass both to get-separate-image-layers-job to get the design.

Learn more