Chillin Render API 允许您通过定义如下的 JSON 结构来指定要渲染的视频内容和参数。
前往 渲染控制台 获取 Render API 积分并生成您的 Render API 密钥。
使用您的 API 密钥向 Render API 端点发送 POST 请求:
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.json1{
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": "bba95c7f-652b-4380-b166-6bece989f527",
13 "type": "Image",
14 "start": 0,
15 "duration": 5,
16 "trackIndex": 0,
17 "x": 0,
18 "y": 0,
19 "width": 3629,
20 "height": 5444,
21 "blendMode": "normal",
22 "anchorX": 1814.5,
23 "anchorY": 2722,
24 "rotation": 0,
25 "scaleX": 0.19838354151359294,
26 "scaleY": 0.19838354151359294,
27 "alpha": 1,
28 "skewX": 0,
29 "skewY": 0,
30 "hidden": false,
31 "locked": false,
32 "keyframes": [],
33 "externalUrl": "https://images.pexels.com/photos/33189512/pexels-photo-33189512.jpeg",
34 "ext": "jpeg"
35 }
36 ],
37 "audio": [],
38 "effect": [],
39 "transition": [],
40 "version": 0,
41 "duration": 5
42}
43};
44API 以异步模式运行,并返回如下响应:
1{
2"code": 0,
3"data": {
4 "message": "Async render request submitted successfully",
5 "render_id": 100000,
6 "status": "processing"
7},
8"msg": "success"
9}
10所有 JSON 对象都包含一个视频项目对象,指定视频的合成宽度、合成高度和分辨率。
项目对象包含渲染视频的基本参数,例如宽度、高度、持续时间、背景颜色等。
项目还包括一个或多个元素,每个元素代表一个视频组件,例如视频、图像、文本、形状、音频或效果。
每个元素包含特定的组件参数,例如位置、大小、颜色、内容等。
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,
21 "anchorY": 2312,
22 "rotation": 0,
23 "scaleX": 0.23356401384083045,
24 "scaleY": 0.23356401384083045,
25 "alpha": 1,
26 "skewX": 0,
27 "skewY": 0,
28 "keyframes": [],
29 "externalUrl": "https://images.pexels.com/photos/30465303/pexels-photo-30465303.jpeg",
30 "ext": "jpeg"
31 }
32 ],
33 "audio": [],
34 "effect": [],
35 "transition": [],
36 "version": 0,
37 "duration": 5
38}
39};
40渲染引擎支持 2D 和 3D 元素。虽然画布的宽度和高度以像素为单位定义,但引擎使用透视相机进行 3D 渲染:
rotationX、rotationY 和 rotation(Z轴)属性围绕 X、Y 和 Z 轴旋转。这种设计允许在同一项目中无缝混合 2D 和 3D 元素。传统的 2D 元素(z=0)与之前完全相同,而 3D 元素可以在三维空间中定位和旋转。
以下是一个简单的 3D 立方体元素示例:
1{
2"id": "3d-cube-001",
3"type": "3D",
4"start": 0,
5"duration": 5,
6"trackIndex": 0,
7"x": 960,
8"y": 540,
9"z": 0,
10"width": 200,
11"height": 200,
12"anchorX": 100,
13"anchorY": 100,
14"rotation": 0,
15"rotationX": 30,
16"rotationY": 45,
17"scaleX": 1,
18"scaleY": 1,
19"scaleZ": 1,
20"alpha": 1,
21"ext": "geometry",
22"geometryType": "cube",
23"nodeCategory": "basic",
24"geometryColor": "#4A90E2"
25}
26与 2D 元素的主要区别:
type: "3D" 将其标识为 3D 元素z、rotationX、rotationY 和 scaleZ 启用 3D 转换geometryType 指定 3D 形状(立方体、球体、圆柱体等)geometryColor 设置 3D 几何体的基础颜色有关 3D 元素的更多详细信息,请参见 3D 元素 文档。
您的请求 JSON 必须严格遵守本文件中定义的 JSON 架构。您可以在 Chillin 视频编辑器中测试并生成相应的请求 JSON。