ProductsServicesDocsPricingAboutContact Log in Sign up

API Reference

The Render API is available at https://render.impossible.io over HTTPS. It supports Cross-Origin Resource Sharing (CORS) for browser-based requests.

Token-based rendering (v2)

The recommended approach. First create a render token, then use it to retrieve the video.

MethodEndpointDescription
POST/v2/render/{project-id}Create a render token. Returns a token for video retrieval.
GET/v2/render/{token}.{ext}Render and deliver when complete. Highest latency, smoothest playback.
GET/v2/get/{token}.{ext}Progressive download. Starts delivering as frames become available.
GET/v2/play/{token}.{ext}Streaming. Lowest latency, renders on-demand as playback progresses.
DELETE/v2/token/{token}Delete a token and its associated rendered data.

Direct rendering (v1)

Renders and delivers in a single request. Simpler but less flexible — no upload support, no token reuse.

MethodEndpointDescription
GET/v1/render/{project-id}/{movie}.{ext}Render and deliver when complete.
GET/v1/get/{project-id}/{movie}.{ext}Progressive download.
GET/v1/play/{project-id}/{movie}.{ext}Streaming playback.

Pass dynamic parameters as query string values: ?name=Alex&company=Acme.

Supported output formats

Video formats

FormatExtensionNotes
MP4 (H.264).mp4Most compatible. Render mode only.
WebM (VP8/VP9).webmAll retrieval modes. Best for streaming.
Flash Video.flvLegacy. All retrieval modes.
HLS.m3u8Adaptive streaming. Render + get modes.
MPEG-DASH.mpdAdaptive streaming. Render + get modes.
MPEG-2.mpegBroadcast use.
Windows Media.wmvLegacy.
GIF.gifAnimated GIF output.
Apple ProRes.movProfessional editing.

Image formats

FormatExtensionParameters
JPEG.jpgframe (frame number), q (quality 10-99)
PNG.pngframe (frame number), compression (0-9)
TIFF.tifframe (frame number)

Image sequences

FormatExtensionParameters
ZIP archive.zipformat (png/jpg/tif), from (start frame), to (end frame), q (JPEG quality), compression (PNG compression)

Request body (POST /v2/render)

{
  "movie": "movie-name",
  "params": {
    "variable1": "value1",
    "variable2": "value2"
  },
  "parallel": 1,
  "routingkey": "default",
  "upload": { }
}

See Rendering Videos for detailed parameter documentation and examples.

Response (POST /v2/render)

{
  "token": "v2:region:unique-id",
  "uploads": { }
}

The uploads field is present only when upload tasks are included in the request.

Error responses

StatusMeaning
200Success. Token or video returned.
201Accepted (async upload). Processing in background.
400Bad request. Check your request body.
404Project or movie not found.
429Rate limited. Too many concurrent requests.
500Server error. Retry with backoff.
i Note

The API has no authentication requirement for render and retrieval endpoints. Rate limiting is based on your account tier.