Browse documentation

Get Video

Retrieve the real-time processing status, progress percentage, and execution metadata for an asynchronous video generation job across supported providers.

The /v1/videos/{id} endpoint retrieves real-time processing status, progress metrics, and metadata for an asynchronous video generation job. Use this endpoint to poll rendering progress following job creation on POST /v1/videos.

GET https://api.nrouter.ai/v1/videos/{id}

Credit reservation and settlement complete on POST /v1/videos, while GET /v1/videos/{id} polling and GET /v1/videos/{id}/content execute with $0 reservation and $0 spend. Status normalizes to queued, processing, completed, or failed.

Path Parameters

ParameterTypeRequiredDescription
idstringYesVideo generation job ID (e.g. nrouter_video_01j89azxckm3287).

Response

{
  "id": "nrouter_video_01j89azxckm3287",
  "object": "video",
  "status": "completed",
  "progress": 100,
  "created_at": 1709251200,
  "model": "veo-2.0"
}

Examples

curl https://api.nrouter.ai/v1/videos/nrouter_video_01j89azxckm3287 \
  -H "Authorization: Bearer $NROUTER_API_KEY"

Headers & Errors

Required request header: Authorization: Bearer sk-nrouter-.... Response telemetry includes x-nr-request-id, x-nr-latency-ms, x-nr-model. See Chat Completions.

HTTP StatusError CodeReason
401 Unauthorizedinvalid_api_keyVirtual key missing, expired, or invalid.
404 Not Foundmodel_not_foundJob ID not found or belongs to another tenant.
429 Too Many Requestsrate_limit_exceededPolling frequency exceeded RPM rate limit.
GET
/v1/videos/{id}

Authorization

NRouterApiKey
AuthorizationBearer <token>

Your nRouter virtual key (sk-nrouter-…). Sent as Authorization: Bearer sk-nrouter-….

In: header

Path Parameters

id*string

Header Parameters

x-nr-tags?string

Custom spend and attribution tags (comma-separated key=value pairs)

x-nr-mcp-server?string

Target MCP server ID when routing MCP tool calls or prompts through the gateway

x-nr-client-language?string

Caller SDK runtime language identification (e.g. typescript, python, rust, go)

x-nr-session-id?string

Caller session identifier allowed at edge for grouping related client turns

x-nr-trace?string

Inbound trace detail level override for request lifecycle spans

Value in

  • "off"
  • "stages"
  • "verbose"
x-nr-trace-stages?string

Inbound stage-level trace emission override

Value in

  • "off"
  • "stages"
  • "verbose"
x-nr-trace-id?string

Accepted so a client sending it is not refused; the value is not recorded and not propagated. Every response carries the gateway's own trace ID in this header, never the one sent.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/videos/string"
{  "id": "nrouter_video_01",  "object": "video",  "status": "completed"}
Was this page helpful?