Richiesta di Rendering

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

Nota: Le nostre richieste di rendering vengono elaborate in modo asincrono. Dopo aver inviato una richiesta, riceverai immediatamente una risposta contenente un render_id, che può essere utilizzato per interrogare lo stato e i risultati del rendering.

ProprietàTipoRichiestoEsempioIntervallo di valoriDescrizione
compositeWidthnumbertrue1920720 - 3840La larghezza del composito.
compositeHeightnumbertrue1080720 - 3840L'altezza del composito.
fpsnumbertrue3015 - 60Il frame rate del composito.
projectDataobjecttrue--I dati del progetto. Possono essere esportati dall'editor.
cameraobjectfalse--Configurazione della telecamera opzionale per scene 3D. Controlla la modalità di proiezione e l'angolo di visione.

Nota: La compositeWidth e la compositeHeight possono differire dalla width e height specificate in projectData. Tuttavia, il rapporto d'aspetto di compositeWidth rispetto a compositeHeight deve rimanere coerente con il rapporto d'aspetto di projectData.width rispetto a projectData.height.

Questo design consente di esportare lo stesso progetto video in diverse risoluzioni mantenendo il rapporto d'aspetto originale.

Configurazione della Telecamera

L'oggetto camera opzionale controlla come vengono proiettati gli elementi 3D:

  • mode (stringa) - Modalità di proiezione: "perspective" (predefinita) o "orthographic". La prospettiva fornisce un accorciamento basato sulla profondità; l'ortografico preserva le linee parallele.
  • view (stringa) - Un nome di vista della telecamera preimpostato (ad es., "front", "top", "right", "isometric"). Quando specificato, la telecamera è posizionata per corrispondere all'angolo preimpostato.

Se non viene fornita alcuna camera, viene utilizzata la vista frontale prospettica predefinita.

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
}
};

Risposta di Rendering di Successo

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

Risposta di Rendering di Errore

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

Codici di Risposta

Ecco i codici restituiti dall'API di rendering asincrono:

  • 0: Successo – La richiesta di rendering asincrona è stata inviata con successo.
  • 2001: Errore di parametro – La richiesta contiene parametri non validi o mancanti.
  • 2002: Utente non registrato – L'ID utente fornito non esiste.
  • 2003: L'utente non è un membro API e non può utilizzare i servizi di rendering.
  • 2004: Dati di progetto non validi – Il campo projectData non è un oggetto JSON valido.
  • 2005: Saldo di rendering non sufficiente – Saldo insufficiente per procedere con il rendering.
  • 2006: Impossibile convertire i dati di progetto – Impossibile convertire i dati di progetto in JSON.
  • 2007: Impossibile caricare i dati JSON – Si è verificato un errore durante il caricamento dei dati di progetto.
  • 2008: Impossibile convertire i dati di rendering – Il payload della richiesta di rendering non può essere serializzato.
  • 2009: Impossibile inviare la richiesta di rendering – Si è verificato un errore durante l'invio della richiesta.
  • 2010: Campo durata mancante – Il campo duration è richiesto ma mancante.
  • 2011: Campo durata non valido – Il campo duration è presente ma non nel formato corretto.
  • 2012: Servizio di rendering fallito – Il servizio di rendering ha riscontrato un errore interno.

Se incontri un codice di errore non elencato, ti preghiamo di contattare il supporto all'indirizzo [email protected].

Ottieni Risultato di Rendering

Dopo aver inviato una richiesta di rendering asincrona, puoi utilizzare il render_id per interrogare lo stato e il risultato del rendering.

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}'

Parametri della Richiesta

ProprietàTipoRichiestoEsempioIntervallo di valoriDescrizione
render_idnumbertrue100000-L'ID di rendering restituito dalla richiesta di rendering iniziale.

Risposta di Rendering di Successo

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"
}

Stati di Rendering

Il campo state nella risposta può avere i seguenti valori:

  • pending: La richiesta di rendering è in coda e in attesa di essere elaborata
  • rendering: Il rendering è attualmente in fase di elaborazione
  • success: Il rendering è stato completato con successo e il video è pronto
  • failed: Il rendering è fallito a causa di un errore

Elimina File di Rendering

Utilizza questo endpoint per rimuovere permanentemente il file video renderizzato e il JSON del progetto per un'attività completata.

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}'

Parametri della Richiesta

ProprietàTipoRichiestoEsempioIntervallo di valoriDescrizione
render_idnumbertrue100000-L'ID di rendering che desideri eliminare. Solo i rendering nello stato di successo possono essere eliminati.

Risposta di Esempio

delete_response.json
{
"code": 0,
"data": {
  "message": "Render files deleted"
},
"msg": "success"
}
  • L'azione di eliminazione è irreversibile e rimuove sia il video che le risorse JSON.
  • Le richieste per i rendering che sono ancora in attesa, in fase di rendering o fallite verranno rifiutate.