L'API Chillin Render vous permet de spécifier le contenu vidéo et les paramètres à rendre en définissant une structure JSON comme celle ci-dessous.
Allez sur Render Console pour obtenir des crédits API Render et générer votre clé API Render
Envoyez une requête POST à l'endpoint de l'API Render avec votre clé 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};
44L'API fonctionne en mode asynchrone et renvoie une réponse comme celle-ci :
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}
10Tous les objets JSON incluent un objet de projet vidéo, spécifiant la largeur composite, la hauteur composite et la résolution de la vidéo.
L'objet de projet contient les paramètres de base pour le rendu de la vidéo, tels que la largeur, la hauteur, la durée, la couleur de fond, et plus encore.
Le projet inclut également un ou plusieurs éléments, où chaque élément représente un composant vidéo, tel qu'une vidéo, une image, du texte, une forme, de l'audio ou un effet.
Chaque élément contient des paramètres spécifiques au composant, tels que la position, la taille, la couleur, le contenu, etc.
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};
40Le moteur de rendu prend en charge à la fois des éléments 2D et 3D. Alors que le canevas est défini avec width et height en pixels, le moteur utilise une caméra à perspective pour le rendu 3D :
rotationX, rotationY et rotation (axe Z).Ce design permet de mélanger sans couture des éléments 2D et 3D dans le même projet. Les éléments 2D traditionnels (avec z=0) se rendent exactement comme auparavant, tandis que les éléments 3D peuvent être positionnés et tournés dans l'espace tridimensionnel.
Voici un exemple simple d'un élément de cube 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}
26Principales différences par rapport aux éléments 2D :
type: "3D" identifie ceci comme un élément 3Dz, rotationX, rotationY et scaleZ permettent les transformations 3DgeometryType spécifie la forme 3D (cube, sphère, cylindre, etc.)geometryColor définit la couleur de base de la géométrie 3DPour plus de détails sur les éléments 3D, consultez la documentation 3D Element.
Votre JSON de requête doit strictement respecter le schéma JSON défini dans ce document. Vous pouvez tester et générer le JSON de requête correspondant dans l'éditeur vidéo Chillin.