Render-Anfrage

curl-example.sh
curl -X POST https://render-api.chillin.online/render/v1 \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d @request.json

Hinweis: Unsere Render-Anfragen werden asynchron verarbeitet. Nach der Einreichung einer Anfrage erhalten Sie sofort eine Antwort mit einer render_id, die verwendet werden kann, um den Status und die Ergebnisse des Renderings abzufragen.

EigenschaftTypErforderlichBeispielWertbereichBeschreibung
compositeWidthnumbertrue1920720 - 3840Die Breite des Komposites.
compositeHeightnumbertrue1080720 - 3840Die Höhe des Komposites.
fpsnumbertrue3015 - 60Die Bildrate des Komposites.
projectDataobjecttrue--Die Projektdaten. Können aus dem Editor exportiert werden.
cameraobjectfalse--Optionale Kamera-Konfiguration für 3D-Szenen. Steuert den Projektionsmodus und den Betrachtungswinkel.

Hinweis: Die compositeWidth und compositeHeight können von der in projectData angegebenen width und height abweichen. Das Seitenverhältnis von compositeWidth zu compositeHeight muss jedoch mit dem Seitenverhältnis von projectData.width zu projectData.height übereinstimmen.

Dieses Design ermöglicht es, dass dasselbe Video-Projekt in verschiedenen Auflösungen exportiert wird, während das ursprüngliche Seitenverhältnis beibehalten wird.

Kamera-Konfiguration

Das optionale camera-Objekt steuert, wie 3D-Elemente projiziert werden:

  • mode (string) - Projektionsmodus: "perspective" (Standard) oder "orthographic". Perspektive bietet eine tiefenbasierte Verkürzung; orthografisch bewahrt parallele Linien.
  • view (string) - Ein vordefinierter Kamerasichtname (z. B. "front", "top", "right", "isometric"). Wenn angegeben, wird die Kamera so positioniert, dass sie dem vordefinierten Winkel entspricht.

Wenn keine camera bereitgestellt wird, wird die Standard-Perspektive von vorne verwendet.

request.json
{
"compositeWidth": 1920,
"compositeHeight": 1080,
"fps": 30,
"projectData": {
  "type": "",
  "width": 1920,
  "height": 1080,
  "fill": "#000000",
  "view": [
    {
      "id": "8ecf7475-2c6c-47f9-827b-a09c7913f4c0",
      "type": "Image",
      "start": 0,
      "duration": 5,
      "trackIndex": 0,
      "x": -570.0335392757963,
      "y": -170.90659033307685,
      "blendMode": "normal",
      "anchorX": 1302,
      "anchorY": 2312,
      "rotation": 0,
      "scaleX": 0.23356401384083045,
      "scaleY": 0.23356401384083045,
      "alpha": 1,
      "skewX": 0,
      "skewY": 0,
      "keyframes": [],
      "externalUrl": "https://images.pexels.com/photos/30465303/pexels-photo-30465303.jpeg",
      "ext": "jpeg"
    }
  ],
  "audio": [],
  "effect": [],
  "transition": [],
  "version": 0,
  "duration": 5
}
};

Erfolgreiche Render-Antwort

success_response.json
{
"code": 0,
"data": {
  "message": "Async render request submitted successfully",
  "render_id": 105586,
  "status": "processing"
},
"msg": "success"
}

Fehlerhafte Render-Antwort

error_response.json
{
"code": 2004,
"data": {},
"msg": "invalid project data: invalid view array: view item 0: missing required field: id"
}

Antwortcodes

Hier sind die Codes, die von der asynchronen Rendering-API zurückgegeben werden:

  • 0: Erfolg – Die asynchrone Render-Anfrage wurde erfolgreich eingereicht.
  • 2001: Parameterfehler – Die Anfrage enthält ungültige oder fehlende Parameter.
  • 2002: Benutzer nicht registriert – Die angegebene Benutzer-ID existiert nicht.
  • 2003: Benutzer ist kein API-Mitglied und kann die Rendering-Dienste nicht nutzen.
  • 2004: Ungültige Projektdaten – Das Feld projectData ist kein gültiges JSON-Objekt.
  • 2005: Render-Balance nicht ausreichend – Unzureichendes Guthaben, um mit dem Rendering fortzufahren.
  • 2006: Fehler beim Marshallen der Projektdaten – Die Projektdaten konnten nicht in JSON konvertiert werden.
  • 2007: Fehler beim Hochladen der JSON-Daten – Ein Fehler trat beim Hochladen der Projektdaten auf.
  • 2008: Fehler beim Marshallen der Renderdaten – Die Nutzlast der Render-Anfrage konnte nicht serialisiert werden.
  • 2009: Fehler beim Senden der Render-Anfrage – Ein Fehler trat beim Senden der Anfrage auf.
  • 2010: Fehlendes Dauerfeld – Das Feld duration ist erforderlich, fehlt jedoch.
  • 2011: Ungültiges Dauerfeld – Das Feld duration ist vorhanden, jedoch nicht im richtigen Format.
  • 2012: Renderdienst fehlgeschlagen – Der Rendering-Dienst hat einen internen Fehler festgestellt.

Wenn Sie auf einen Fehlercode stoßen, der nicht aufgeführt ist, wenden Sie sich bitte an den Support unter [email protected].

Render-Ergebnis abrufen

Nach der Einreichung einer asynchronen Render-Anfrage können Sie die render_id verwenden, um den Status und das Ergebnis des Renderings abzufragen.

get-result-example.sh
curl -X POST https://render-api.chillin.online/render/result \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"render_id": 100000}'

Anfrageparameter

EigenschaftTypErforderlichBeispielWertbereichBeschreibung
render_idnumbertrue100000-Die Render-ID, die aus der ursprünglichen Render-Anfrage zurückgegeben wurde.

Erfolgreiche Render-Antwort

result_response.json
{
"code": 0,
"data": {
  "render": {
    "create_at": "2025-06-27T12:37:21.684337Z",
    "json_url": "https://cloud.chillin.online/project_xxx.json?verify=xxx",
    "render_id": 105549,
    "state": "success",
    "video_url": "https://cloud.chillin.online/video_xxx.mp4?verify=xxx"
  }
},
"msg": "success"
}

Render-Zustände

Das Feld state in der Antwort kann folgende Werte haben:

  • pending: Die Render-Anfrage ist in der Warteschlange und wartet auf die Verarbeitung
  • rendering: Das Rendering wird derzeit verarbeitet
  • success: Das Rendering wurde erfolgreich abgeschlossen und das Video ist bereit
  • failed: Das Rendering ist aufgrund eines Fehlers fehlgeschlagen

Render-Dateien löschen

Verwenden Sie diesen Endpunkt, um die gerenderte Videodatei und das Projekt-JSON für eine abgeschlossene Aufgabe dauerhaft zu entfernen.

delete-render-files.sh
curl -X POST https://render-api.chillin.online/render/delete-files \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"render_id": 100000}'

Anfrageparameter

EigenschaftTypErforderlichBeispielWertbereichBeschreibung
render_idnumbertrue100000-Die Render-ID, die Sie bereinigen möchten. Nur Renderings im Erfolgszustand können gelöscht werden.

Beispielantwort

delete_response.json
{
"code": 0,
"data": {
  "message": "Render files deleted"
},
"msg": "success"
}
  • Die Löschaktion ist irreversibel und entfernt sowohl das Video als auch die JSON-Ressourcen.
  • Anfragen für Renderings, die noch ausstehen, gerendert werden oder fehlgeschlagen sind, werden abgelehnt.