Uploads

Upload a file (get an upload URL)

For files that are not online yet. Returns upload_url — PUT the file there with exactly the Content-Type you declared (and, if you sent size_bytes, exactly that many bytes), up to 2 GB for video and audio and 100 MB for images (max_bytes in the answer); a file sent without size_bytes is checked when you use it — over the limit it is refused (413 upload_too_large) and deleted; start within 15 minutes — and url, the public address to pass as video_url / music_url / logo_url. Media only (video, audio, JPEG/PNG/WebP/GIF). Uploads are deleted 24 hours after they are made.

Billing: Free — nothing is charged or reserved for an upload address · Rate limit: 60/min

post/v1/studio/uploads

Request

  • Base URL: https://apihub.co.il
  • URL: https://apihub.co.il/v1/studio/uploads
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Replay-safe: the same execution is returned instead of charging twice

X-Tagstring

Group calls into one job (e.g. one video) — see GET /v1/usage?tag=…

Request body

creditstring

Optional — the credit line (Creative Commons)

license'own' | 'creative-commons' | 'licensed'

Optional — your basis for using the file, kept with the upload and listed with its job (GET /v1/usage?tag= → sources): own = you made it · creative-commons = published under CC BY (keep the credit line on screen) · licensed = written permission from the owner. Send it for a video you will dub or republish

filenamestring required
size_bytesinteger

The file size — recommended: the upload must then match it exactly. At most 2 GB for video and audio, 100 MB for images

source_urlstring uri

Optional — where the file was published (e.g. its YouTube link), kept with the licence

content_typestring

video/mp4, video/quicktime, video/webm, audio/mpeg, audio/wav, audio/mp4, image/jpeg, image/png, image/webp, image/gif…

Example request

{
  "filename": "clip.mp4",
  "content_type": "video/mp4"
}

Response

Completed

idstring

Execution id — stable across internal retries; use it with GET /v1/executions/{id}

status'pending' | 'processing' | 'completed' | 'partial' | 'failed' | 'cancelled' | 'timeout'
operationstring
tagstring nullable

Your X-Tag, if sent

created_atstring date-time
completed_atstring date-time nullable
outputobject

Operation result (see each operation). While a Studio render is processing: stage (queued · transcribing · downloading · preparing · cleaning_voice · mixing_audio · rendering · finishing), phase (the engine's: download · prepare · voice · audio · encode · qa · upload, or null), progress (a percent, 0–100) and progress_fraction (0–1), eta_seconds (seconds left, never below 0) and estimate_seconds

errorstring nullable

Changes

No recorded changes to this operation across all 2 revisions of this API.