Skip to main content
Exporte rendern ein Karaoke- oder Lyric-Video aus einem Projekt. Verwende client.exports.create(...) als zentralen Einstiegspunkt. Wähle target: "local", wenn das SDK direkt auf der aktuellen Maschine rendern soll; andernfalls ist Cloud-Export der Standard.

client.exports.create(projectId, input, options?)

Wähle das Export-Ziel mit target: "cloud" | "local".
Nutze Cloud, wenn du einen verwalteten asynchronen Export möchtest. Nutze lokal, wenn du direkt auf der Maschine des Aufrufers rendern willst.

Gemeinsame Felder

Verwende fps: 60 für flüssigere Bewegungen. Cloud-Quotes wenden bei 60 fps einen 1.5x-Kredit-Multiplikator an. Transparente 60 fps-Cloud-Exporte sind verfügbar, wenn die ausgewählte Dauer und Auflösung in die Cloud-Limits passen.

Beispiel mit Stem-Lautstärken

Beispiel mit Settings-Override

Siehe Render settings reference für die vollständige settingsOverride-Struktur.

client.exports.quote(projectId, input, options?)

Ermittle die Credits, die für einen Cloud-Export benötigt werden, ohne den Export zu starten.
Lokale Exporte laufen auf der Maschine des Aufrufers und verwenden keine Cloud-Export-Credits, daher ist quote(...) nur für Cloud-Exporte.

client.exports.list(projectId, input?, options?)

Liste Exporte für ein Projekt, mit Paginierung.
number
Seitennummer. Standardmäßig 1 auf dem Server.
number
Seitengröße. Standardmäßig 100. Maximum 100.

client.exports.get(exportId, options?)

Einen Export nur anhand der ID abrufen, ohne das übergeordnete Projekt zu kennen.

Lokaler Export

Verwende onDependencyProgress, wenn du Updates möchtest, während die lokale Render-Toolchain installiert oder verifiziert wird.

client.exports.prepareLocal(projectId, body, options?)

Gibt die vorbereitete Payload zurück, die benötigt wird, um einen Export lokal zu rendern. Verwende dies bei der Integration mit @youka/remotion oder einem anderen lokalen Renderer. Der Server liefert die Composition-Inputs, Asset-URLs und Render-Parameter zurück, ohne ein Cloud-Rendern in die Warteschlange zu stellen.
client.exports.prepareLocal(...) startet kein Cloud-Rendern. Es wird keine abrechenbare Compute auf der Youka-Seite verbraucht.

Auf einen Export warten

Cloud-Exporte sind asynchron. Verwende client.exports.wait(...):

Ergebnis herunterladen

Cloud-Exporte enden mit einer signierten url. Verwende den integrierten Helper, um die Datei auf die Festplatte zu streamen. output kann entweder ein Verzeichnis oder ein vollständiger Dateipfad sein, und filename ist optional:

Was als Nächstes

  • Tasks — Operation-Handles und erweitertes Task-Polling
  • Presets — wiederverwendbare Render-Konfigurationen
  • Project settings — die aktiven Einstellungen eines Projekts patchen

Versions- und Timing-Snapshots

Liste Versionen mit client.projects.versions.list(projectId). Übergib versionId an exports.create, exports.quote oder exports.prepareLocal. Styling gehört zu dieser Version, während das ausgewählte Alignment zum Projekt gehört. Cloud-Export-Operation-Handles und lokale Payloads enthalten versionId, alignmentId und alignmentRevision. Diese Felder identifizieren denselben Timing-Snapshot, der zum Erstellen der Composition verwendet wurde. Eine spätere Vorbereitung oder ein späterer Export kann neuere Änderungen berücksichtigen. Speichere die vorbereitete Payload, wenn ein externer Renderer genau diesen Snapshot verwenden muss, und erneuere abgelaufene signierte Media-URLs. Um jeden Stem stummzuschalten, baue stemVolumes aus den Stem-IDs des Projekts auf, wobei jeder Wert auf null gesetzt ist. Transparenter lokaler Export verwendet ProRes 4444 in einem MOV-Container. Eine stumme Ausgabe kann dennoch einen Audio-Stream enthalten. Siehe Automate lyric videos für das vollständige Export-Beispiel.