Mint a Scratch upload bundle for an image-revision source frame.
Returns signed multipart upload URLs the client uses to upload a source image (a captured video frame — always JPEG) directly to storage BEFORE calling `POST /ai/revisions` with `source.scratchId`. The bytes never pass through the API. After uploading the parts, complete the upload via `POST /v1/scratch/{scratchId}/complete-upload`. Same checks as `POST /ai/revisions` minus the balance check (staging is free): `canAiGenerateImageRevision`, an active subscription, the `ai` capability and `aiImageRevisionEnabled`.
Returns signed multipart upload URLs the client uses to upload a
source image (a captured video frame — always JPEG) directly to
storage BEFORE calling POST /ai/revisions with source.scratchId.
The bytes never pass through the API. After uploading the parts,
complete the upload via POST /v1/scratch/{scratchId}/complete-upload.
Same checks as POST /ai/revisions minus the balance check (staging
is free): canAiGenerateImageRevision, an active subscription, the
ai capability and aiImageRevisionEnabled.
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/ai/revisions/source-upload" \ -H "Content-Type: application/json" \ -d '{ "workspaceId": "ef0efa32-d1c1-43d4-a5e2-fe7b4f00403c", "sizeInMB": 0 }'{ "scratchId": "212cade5-f209-4c67-9dd0-8a68ab06d5be", "key": "string", "uploadId": "string", "urls": [ "http://example.com" ], "expires": "2019-08-24T14:15:22Z"}