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.jsonNote: 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
compositeWidthandcompositeHeightcan differ from thewidthandheightspecified inprojectData. However, the aspect ratio ofcompositeWidthtocompositeHeightmust remain consistent with the aspect ratio ofprojectData.widthtoprojectData.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}
101{
2 "code": 2004,
3 "data": {},
4 "msg": "invalid project data: invalid view array: view item 0: missing required field: id"
5}
6Here 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}
14The state field in the response can have the following values: