Step 1 — Request upload URLs
Call the import endpoint withcontent_type and file_size instead of url for each media item you want to upload directly.
Request
upload_urls object keyed by media reference ID. Each entry contains a signed upload_url (valid for 3 hours), plus asset_id and artifact_id for the created asset.
Response
Step 2 — Upload the file
PUT the raw file bytes to the signed URL. UseContent-Type: application/octet-stream.
Step 3 — Poll for completion
Check the job status the same way as a URL-based import — poll the job status endpoint with thejob_id, or provide a callback_url in the original request.
job_state: "stopped", check result.status for success or failure.
Mixing URL imports and direct uploads
You can combine URL-based and direct upload media items in a single request. Items withurl are fetched server-side; items with content_type and file_size return signed upload URLs.
upload_urls only for the direct upload items.

