Uploads

Create a pre-signed S3 POST upload signature

Advanced / large-file path: the client must upload directly to S3, so it requires outbound network access to the S3 host. Agents without S3 egress (e.g. sandboxed MCP connectors) should instead use createVideo with url (server downloads) or, for short clips, file_base64. Returns pre-signed POST credentials to upload a video file (25KB to 5GB) directly to S3 — the bytes never pass through this API. Upload by sending an HTTP POST to post_url as multipart/form-data with these form fields, the binary file field LAST: key=<key>, acl=<acl>, Content-Type=<the mime_type you requested>, Policy=<policy>, X-Amz-Algorithm=<algorithm>, X-Amz-Credential=<credential>, X-Amz-Date=<date>, X-Amz-Signature=<signature>. A 2xx response means success; then call createVideo with s3_key=<key>.

post/api/v1/upload_signatures

Request

  • Base URL: https://api.firework.com
  • URL: https://api.firework.com/api/v1/upload_signatures
  • Auth: OAuth 2 (client credentials, token URL /oauth/token, scopes: videos:write)

Request body

filenamestring required
channel_idstring required
mime_type'video/mp4' | 'video/quicktime' required

Response

Pre-signed POST credentials

datestring

Send as form field X-Amz-Date

policystring

Send as form field Policy

signaturestring

Send as form field X-Amz-Signature

keystring

S3 object key; send as form field key and reuse as s3_key

algorithmstring

Send as form field X-Amz-Algorithm

credentialstring

Send as form field X-Amz-Credential

aclstring

Send as form field acl

post_urlstring

URL to POST the multipart/form-data upload to

Changes

No recorded changes to this operation across all 1 revision of this API.