Hookestdocs Postman OpenAPI llms.txt

POST/v1/predict/upload0 credits

Get upload link

Asks for a one-time link. There is no file on this request.

You get upload_url (where the MP4 goes next), prediction_id (for polling), upload_id (Retry start only), and expires_at (5 minutes). Status starts as awaiting_upload — scoring has not started yet.

Next. Upload the clip — PUT the MP4 to upload_url. If the link expires, send this request again.

Needs predict:write on the key. This is a permission on the key, not a request header. Missing it returns 403 api_not_enabled.

Request parameters

Empty POST. Bearer only — no query, no JSON, no file.

Response

{
  "upload_id": "upl_3c91a0b4e7d4a1f8c3e2d1b0a9f8e7d0",
  "prediction_id": "pred_7b3e0c1d2e3f4a5b6c7d8e9f0a1b2c3d",
  "upload_url": "https://files.hookest.com/storage/v1/object/upload/sign/virality/api/…?token=…",
  "expires_at": "2026-09-16T10:17:00.000Z"
}

Response fields

NameTypeRequiredDescription
upload_id string Required Keep this for retry start only.
prediction_id string Required Id for Get prediction. Status is awaiting_upload until the job is consumed (queued).
upload_url string Required One-time URL for the next step. Send the MP4 here — not to /v1/predict/upload.
expires_at string Required ISO-8601. The link lasts 5 minutes. After that, get a new link.