1curl -X POST https://render-api.chillin.online/render/v1 \
2-H "Accept: application/json" \
3-H "Content-Type: application/json" \
4-H "Authorization: Bearer YOUR_API_KEY" \
5-d @request.json
Note: Our rendering requests are processed async. After submitting a request, you will immediately receive a response containing a
render_id
, which can be used to query the rendering status and results.
Prop | Type | Required | Example | Value Range | Description |
---|---|---|---|---|---|
compositeWidth | number | true | 1920 | 720 - 3840 | The width of the composite. |
compositeHeight | number | true | 1080 | 720 - 3840 | The height of the composite. |
fps | number | true | 30 | 15 - 60 | The frame rate of the composite. |
projectData | object | true | - | - | The project data. Can be exported from the editor. |
Note: The
compositeWidth
andcompositeHeight
can differ from thewidth
andheight
specified inprojectData
. However, the aspect ratio ofcompositeWidth
tocompositeHeight
must remain consistent with the aspect ratio ofprojectData.width
toprojectData.height
.
This design allows the same video project to be exported in different resolutions while maintaining the original aspect ratio.
1{
2 "compositeWidth": 1920,
3 "compositeHeight": 1080,
4 "fps": 30,
5 "projectData": {
6 "type": "",
7 "width": 1920,
8 "height": 1080,
9 "fill": "#000000",
10 "view": [
11 {
12 "id": "8ecf7475-2c6c-47f9-827b-a09c7913f4c0",
13 "type": "Image",
14 "start": 0,
15 "duration": 5,
16 "trackIndex": 0,
17 "x": -570.0335392757963,
18 "y": -170.90659033307685,
19 "blendMode": "normal",
20 "anchorX": 1302,
1{
2 "code": 0,
3 "data": {
4 "message": "Async render request submitted successfully",
5 "render_id": 105586,
6 "status": "processing"
7 },
8 "msg": "success"
9}
10
1{
2 "code": 2004,
3 "data": {},
4 "msg": "invalid project data: invalid view array: view item 0: missing required field: id"
5}
6
Here are the codes returned by the async rendering API:
projectData
field is not a valid JSON object.duration
field is required but missing.duration
field is present but not in the correct format.If you encounter an error code not listed, please contact support at [email protected].
After submitting an async render request, you can use the render_id
to query the rendering status and result.
1curl -X POST https://render-api.chillin.online/render/result \
2-H "Accept: application/json" \
3-H "Content-Type: application/json" \
4-H "Authorization: Bearer YOUR_API_KEY" \
5-d '{"render_id": 100000}'
Prop | Type | Required | Example | Value Range | Description |
---|---|---|---|---|---|
render_id | number | true | 100000 | - | The render ID returned from the initial render request. |
1{
2 "code": 0,
3 "data": {
4 "render": {
5 "create_at": "2025-06-27T12:37:21.684337Z",
6 "json_url": "https://cloud.chillin.online/project_xxx.json?verify=xxx",
7 "render_id": 105549,
8 "state": "success",
9 "video_url": "https://cloud.chillin.online/video_xxx.mp4?verify=xxx"
10 }
11 },
12 "msg": "success"
13}
14
The state
field in the response can have the following values: