Skip to main content
POST

Authorizations

Authorization
string
header
required

Your eachlabs API key (dashboard → API keys), sent as Authorization: Bearer <api_key> on every request. One key authenticates and bills every video operation.

Body

application/json

Body of POST /v1/prediction for the video surface.

input
object
required

The job to run: a capability input envelope (dispatch on the capability field) or raw run_ffmpeg mode (mode: "run_ffmpeg"). The gateway tolerates an omitted capability/tier by defaulting to transcode/cpu, but this contract requires capability explicitly — omission is not a supported integration path.

model
string
required
Allowed value: "eachlabs-video-api"
webhook_secret
string

Optional shared secret: the platform signs each webhook body with HMAC-SHA256 so the receiver can verify authenticity.

webhook_url
string<uri>

Optional completion webhook: on a terminal status the platform POSTs a JSON payload (same field family as the poll envelope) to this URL, with bounded retries (~30 s, ~2 min, ~10 min). Payload and delivery-history APIs: https://docs.eachlabs.ai/api/webhooks/payload-reference.

Response

Prediction accepted.

Body of POST /v1/prediction on the happy path.

message
string
required
predictionID
string
required

Poll GET /v1/prediction/{predictionID} until a terminal status.

status
string
required

Reads "success" on the happy path; a failed submit returns a non-200 instead.

output
any

Omitted for async predictions — the video surface is async; poll for the result.

Last modified on August 13, 2026