Making Render Requests

In general, rendering dynamic videos and images is a two step process.

  1. Submitting a render request and supplying the dynamic data.
  2. Using the token from the previous step to render and retrieve a video

Submitting a render request

To submit a render request, you use the HTTP POST method and scope the request to a Project ID. You specify details and data of the request in the JSON document of your request. These details include the dynamic movie name and the dynamic data.

Optionally, You can also specify that the system shall upload the rendered video to one or more third party servers. This can happen either in parallel to retrieving the video or asynchronously in the background.

Request

POST /v2/render/Project-ID
Host: render.impossible.io
Date: Date
{
    "movie": String or Hash,
    "params": Hash,
    "parallel": Number,
    "routingkey": routingkey,
    "upload": Upload Task Definition or [List of Upload Task Definitions]
}

Request Body

The JSON in the request body contains the following fields.

Field Required Type Default Description
movie yes String or Hash Name of Dynamic Movie or Hash to map extensions to movie names
params no Hash {} Values for movie variables
parallel no Number 1 Number of Distributed Render Servers to use
routingkey no String default Routing key of dedicated render cluster assigned to your account/project
upload no Hash or List of Hashes Upload Task Definition or List of Upload Task Definitions

Response

HTTP/1.1 200 OK

{
    "token": Token,
    "uploads": Upload Response or [List of Upload Responses] 

}

The type of upload response depends on the specific uploading task. For example, the S3 Uploader returns the URL of the uploaded S3 object, the Youtube Uploader returns the Youtube ID and the Facebook Uploader returns the Object ID. For details, please see the documentation for each uploader.

Multi-movie Render Requests

Instead of specifying only one Dynamic Movie name in the render request, you can supply a Hash. The Hash specifies the dynamic movie to render for a given extension. You can use this to specify one movie for MP4 requests and another one for WebM requests. The special key "*" is used when no extension matches the extension from the streaming or download request.

Example Request

POST /v2/render/Project-ID
Host: render.impossible.io
Date: Date
{
    "movie": {,
       "mp4": "movie1",
       "webm": "movie2",
       "*": "movie3"
    },
    "params": {}
}

Terms of Use | © 2017, Impossible Software, or its affiliates. All rights reserved.