upload-asset-from-url

Upload an image or video from a public URL to the user's media library.

Use upload-asset-from-url to import a remote file, then use the returned asset_id in fill operations such as update_fill or insert_fill.

If the remote URL isn't public HTTPS or doesn't return 200, the job may fail with fetch_failed. Retry after fixing the URL before continuing.

Example prompt

"Use this logo: https://<public-image-url>"

The URL must be public and HTTPS.

Example responses

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

This tool wraps results in an asynchronous job object. On success, the job contains an asset_id. A fetch that fails returns a job with status: "failed" and an error:

{
"job": {
"id": "job_EXAMPLE",
"status": "failed",
"error": { "code": "fetch_failed", "message": "Failed to download file because the URL didn't return a 200 response" }
}
}
JSON

If you see fetch_failed, confirm the URL is public and HTTPS.

Learn more