Skip to main content
POST
/
api
/
v1
/
multipart
/
start
curl --request POST \
  --url https://upload.autorender.io/api/v1/multipart/start \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "file_name": "big-video.mp4",
  "size": 73400320,
  "format": "video/mp4",
  "folder": "uploads/videos",
  "tags": ["campaign", "raw"],
  "metadata": { "source": "mobile-app" },
  "custom_id": "vid_001",
  "random_prefix": false,
  "ttl_seconds": 3600
}'
{
  "session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "part_size": 10485760,
  "parts": [
    "https://storage.example.com/presigned-part-1?X-Amz-Signature=abc",
    "https://storage.example.com/presigned-part-2?X-Amz-Signature=def"
  ]
}

Documentation Index

Fetch the complete documentation index at: https://autorender.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://upload.autorender.io/api/v1/multipart/start \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "file_name": "big-video.mp4",
  "size": 73400320,
  "format": "video/mp4",
  "folder": "uploads/videos",
  "tags": ["campaign", "raw"],
  "metadata": { "source": "mobile-app" },
  "custom_id": "vid_001",
  "random_prefix": false,
  "ttl_seconds": 3600
}'
{
  "session_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "part_size": 10485760,
  "parts": [
    "https://storage.example.com/presigned-part-1?X-Amz-Signature=abc",
    "https://storage.example.com/presigned-part-2?X-Amz-Signature=def"
  ]
}

Overview

Starts a multipart upload for large files. The response includes session_id, part_size (split size in bytes), and parts: presigned URLs in order. Upload each chunk with Upload parts, then Multipart complete.

Authentication

Authorization: Bearer YOUR_API_KEY

Workflow

This is step 1 of 3.
  1. Multipart start (this endpoint) — get session_id, part_size, and parts.
  2. Upload partsPUT each chunk to the matching presigned URL.
  3. Multipart complete — finalize the file in your workspace.

Request body

FieldTypeRequiredDescription
file_namestringYesOriginal file name (e.g. big-video.mp4)
sizenumberYesTotal file size in bytes
formatstringYesMIME type (e.g. video/mp4, image/jpeg)
folderstringNoWorkspace folder path
tagsstring[]NoTags
metadataobjectNoCustom metadata
custom_idstringNoYour tracking id
random_prefixbooleanNoRandom prefix on stored name if true
ttl_secondsnumberNoPresigned URL lifetime

Response

Returns session_id, part_size, and parts. Part index i must be uploaded to parts[i].

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
file_name
string
required

Original file name (e.g., big-video.mp4)

size
integer<int64>
required

Total file size in bytes

format
string
required

MIME type (e.g., video/mp4, image/jpeg)

folder
string

Folder path in the workspace

tags
string[]

Tags to attach to the file

metadata
object

Custom metadata key-value pairs

custom_id
string

Client-supplied identifier for tracking

random_prefix
boolean

If true, add a random prefix to the stored filename

ttl_seconds
integer

Lifetime of presigned URLs in seconds

Response

Session created; presigned URLs returned

session_id
string

Multipart session UUID; send to complete endpoint

part_size
integer<int64>

Part size in bytes (use for splitting the file)

parts
string<uri>[]

Presigned PUT URLs in order, one per part