katto_upload_video
Begins uploading a local video for clipping: validates filename, MIME type and byte size, then returns an upload URL, headers and expiry.
Instructions
Step 1 of clipping a LOCAL file (when the user has a file, not a public link). Pass the exact filename, MIME type and size in bytes; the size is checked against the plan's upload limit and the monthly quota is checked (not yet spent). Returns { upload_id, upload_url, headers, expires_in, next_steps }. Then: (2) HTTP PUT the raw file bytes to upload_url with exactly the returned Content-Type header (e.g. curl -X PUT -H 'Content-Type: video/mp4' --upload-file ./file.mp4 '<upload_url>'), before expires_in seconds; (3) call katto_create_clip_job with upload_id: that verifies the file arrived, spends 1 video of quota and starts clipping; (4) poll katto_get_job with id = upload_id. You need a tool that can make an HTTP PUT with a file body (shell, code execution); if you have none, give the user the upload_url and the curl command.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| size | Yes | Exact file size in bytes. Checked against your plan's upload limit before anything is reserved. | |
| filename | Yes | The file's name, e.g. episode-12.mp4 (display only). | |
| content_type | Yes | MIME type of the file: mp4, mov (quicktime), webm or mkv (x-matroska). |