Browse the docs
Developers / Docs / Jobs & files
Start a large file upload
Starts a multipart upload for files over 100 MB (up to 5 GB): returns presigned URLs to PUT each part to, valid for an hour, then call POST /v1/files/uploads/complete with each part's ETag.
Paste it into any AI assistant. The shortcuts open with the prompt typed in; nothing is sent until you press enter.
At a glance
- REST
POST https://api.clippie.ai/v1/files/uploads
- MCP tool
- REST only (not an MCP tool)
- Scope
create
- Cost
- Spends nothing. Needs the
createscope.
- Spends nothing. Needs the
Parameters
fileName- In:
- body
- Type:
- string
- Required:
- Yes
- Description:
- 1-120 chars.
contentType- In:
- body
- Type:
- string
- Required:
- Yes
- Description:
- image/*, video/* or audio/* 3-100 chars.
sizeBytes- In:
- body
- Type:
- integer
- Required:
- Yes
- Description:
- 1-5368709120.
Example
curl
curl https://api.clippie.ai/v1/files/uploads \
-H "Authorization: Bearer $CLIPPIE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"fileName": "long-video.mp4",
"contentType": "video/mp4",
"sizeBytes": 524288000
}'create-file-upload.mjs
const auth = { Authorization: `Bearer ${process.env.CLIPPIE_API_KEY}` };
const res = await fetch('https://api.clippie.ai/v1/files/uploads', {
method: 'POST',
headers: { ...auth, 'Content-Type': 'application/json' },
body: JSON.stringify({
"fileName": "long-video.mp4",
"contentType": "video/mp4",
"sizeBytes": 524288000
}),
});
if (!res.ok) throw new Error((await res.json()).error.message);
console.log(await res.json());Response
200 with JSON. The full response schema is in the OpenAPI spec.
