La API de Chillin Render te permite especificar el contenido del video y los parámetros que se van a renderizar definiendo una estructura JSON como la que se muestra a continuación.
Ve a Render Console para obtener créditos de la API de Render y generar tu clave de API de Render
Envía una solicitud POST al punto de acceso de la API de Render con tu clave de API:
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};
44La API opera en modo asíncrono y devuelve una respuesta como esta:
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}
10Todos los objetos JSON incluyen un objeto de proyecto de video, que especifica el ancho compuesto del video, la altura compuesta y la resolución.
El objeto del proyecto contiene los parámetros básicos para renderizar el video, como ancho, altura, duración, color de fondo y más.
El proyecto también incluye uno o más elementos, donde cada elemento representa un componente de video, como un video, imagen, texto, forma, audio o efecto.
Cada elemento contiene parámetros específicos para el componente, como posición, tamaño, color, contenido, y así sucesivamente.
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};
40El motor de renderizado admite tanto elementos 2D como 3D. Mientras que el lienzo se define con width y height en píxeles, el motor utiliza una cámara de perspectiva para el renderizado 3D:
rotationX, rotationY y rotation (eje Z).Este diseño permite una mezcla fluida de elementos 2D y 3D en el mismo proyecto. Los elementos 2D tradicionales (con z=0) se renderizan exactamente como antes, mientras que los elementos 3D pueden ser posicionados y rotados en el espacio tridimensional.
Aquí hay un ejemplo simple de un elemento cúbico 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}
26Diferencias clave de los elementos 2D:
type: "3D" identifica esto como un elemento 3Dz, rotationX, rotationY y scaleZ habilitan transformaciones 3DgeometryType especifica la forma 3D (cubo, esfera, cilindro, etc.)geometryColor establece el color base de la geometría 3DPara más detalles sobre elementos 3D, consulta la documentación de Elemento 3D.
Tu JSON de solicitud debe adherirse estrictamente al esquema JSON definido en este documento. Puedes probar y generar el JSON de solicitud correspondiente en el Editor de Video Chillin.