Docs
Get an API key
API reference›Videos

Get Video

GET /v1/videos/{id} View .md

The job's status, estimated progress while it renders, and once completed its unsigned_urls, output and usage.

  • id string required

    The video job's ID, video_ followed by 24 hex characters.

OK

application/json · video-job-payload

18 fields
  • id string required
  • object string required
    video
  • model string required
  • status string required

    OpenAI's SDKs (requests with X-Stainless-Lang) see queued for pending, and cancelled and expired as failed with that reason as error.code; everyone else sees the states below.

    • pending: queued; see queue_position.
    • in_progress: rendering; see progress.
    • completed: the video is ready at unsigned_urls until expires_at. The only billed status.
    • failed: see error. Not billed.
    • cancelled: cancelled with DELETE /v1/videos/{id}. Not billed.
    • expired: a completed job past its 7-day retention; the video is deleted.
    pendingqueuedin_progresscompletedfailedcancelledexpired
  • progress integer required

    Estimated percent complete while rendering.

  • created_at integer required
  • completed_at integer
  • expires_at integer

    When the video is deleted.

  • polling_url string required
  • seconds string

    The requested duration.

  • size string
  • queue_position integer

    Jobs ahead of this one for the same model, while pending.

  • unsigned_urls array of strings

    Where to download each output (send your API key).

  • output object

    What was rendered.

    6 fields
    • duration number
    • fps number
    • width integer
    • height integer
    • has_audio boolean
    • count integer
  • warnings array of objects

    What the request sent that was not read. Always present; an empty list says nothing was ignored.

    3 fields
    • code string

      unknown_parameter: not a video request field, so it was not read. Codes are open: ignore one you do not know.

    • field string
    • message string
  • usage object
    6 fields
    • cost number

      USD.

    • output_seconds integer

      Seconds of video requested.

    • billed_seconds integer

      Seconds billed at the model's price; more than output_seconds for the standard (3x) and max (5x) quality tiers and for base num_inference_steps (steps / 6, capped at the next tier up).

    • input_image_count integer
    • input_video_seconds number
    • input_audio_seconds number
  • error string or object

    Why a failed job failed. A string beside error_code; for OpenAI's SDKs an object with code and message.

    One of 2
    • string
    • object
      • code string

        The same values as error_code, and cancelled or expired for a job in that state.

        invalid_requestpayload_too_largetimeoutprovider_errorserver_errorcancelledexpired
      • message string
  • error_code string
    • invalid_request: an input could not be used, for example a media URL that could not be fetched or a file of the wrong type. Fix the request before sending it again.
    • payload_too_large: a media input was over its size limit.
    • timeout: the render took too long.
    • provider_error: the render failed or was interrupted on our side. Sending the same request again is safe.
    • server_error: the job could not run, for example because its model or API key was removed.
    invalid_requestpayload_too_largetimeoutprovider_errorserver_error
curl https://api.vultrinference.com/v1/videos/{id} \
  -H "Authorization: Bearer $VULTR_INFERENCE_API_KEY"
Response · 200
{
    "id": "video_3f2a9c1e7b4d5a6c8e0f1a2b",
    "object": "video",
    "model": "string",
    "status": "pending",
    "progress": 0,
    "created_at": 1790000000,
    "polling_url": "string"
}