{
  "aboutHtml": "<p>Kling VIDEO 3.0 Pro ist das professionelle Profil von Kuaishous VIDEO-3.0-Modell. Sein dokumentierter Pro-Modus erzeugt 1080p-Video aus einem Textbriefing oder einer bildgestützten Szene mit Clips von drei bis fünfzehn Sekunden. Die 3.0-Version verbindet natives Audio, Steuerung zur Motivkonsistenz und Regie für mehrere Einstellungen und gibt einer Kurzproduktion damit einen klaren Weg zur Festlegung von Aussehen, Handlung, Kameraansichten und Ton.</p><p>Beginnen Sie mit der Haupthandlung der Szene. Beschreiben Sie in einer textgestützten Einstellung Motiv, Umgebung, Licht und den Blickwinkel, der die Handlung verständlich macht. Lassen Sie in einer bildgestützten Einstellung das Anfangsbild Aussehen und Komposition festlegen und verwenden Sie anschließend Text für die zeitlichen Veränderungen. Für ein eigenes Produktkonzept kann ein vorbereitetes Bild das Objekt auf einer Studiofläche zeigen, während der Prompt eine langsame Enthüllung von Material und Form beschreibt.</p><p>Regie für mehrere Einstellungen bietet automatische Kameraansichten oder eine benutzerdefinierte Folge. Automatische Generierung mehrerer Einstellungen plant Bildausschnitts- und Kamerawinkelwechsel aus dem Briefing; eine Szene, die in eine durchgehende Ansicht passt, kann dennoch eine einzelne Einstellung bleiben. Ein benutzerdefiniertes Storyboard legt Inhalt und Dauer jeder Einstellung fest. Das benutzerdefinierte Einstellungsprofil des Herstellers erlaubt ein bis sechs Einstellungen mit höchstens 512 Zeichen und mindestens einer Sekunde je Einstellung; ihre Dauern müssen zusammen die gesamte Cliplänge ergeben.</p><p>Beschreiben Sie für eine kurze Erzählung eine einführende Ansicht, die Haupthandlung und ein abschließendes Detail als separate Einstellungen. Benennen Sie die Kameragestaltung und was das Publikum jeweils bemerken soll. Halten Sie das Aussehen eines wiederkehrenden Motivs im Briefing konsistent und ändern Sie Handlung und Kameraansichten bewusst. Das Einzelprompt-Feld der Herstellerreferenz akzeptiert bis zu 2.500 Zeichen; eine benutzerdefinierte Folge verwendet ihre separaten Beschreibungen je Einstellung.</p><p>Motivreferenzen können eine bildgestützte Szene unterstützen, wenn Figur, Produkt oder Umgebung erkennbar bleiben sollen. Wählen Sie klare Ansichten, die die zu bewahrenden Merkmale vermitteln, und benennen Sie jedes referenzierte Motiv konsistent. Das dokumentierte bildgestützte Profil erlaubt bis zu drei vorbereitete Elemente. Halten Sie Referenzrollen gezielt, statt mehrere Dateien mit widersprüchlichen Vorgaben zum Motivaussehen zu verbinden.</p><p>Anfangs- und Endbilder bilden visuelle Grenzen eines bildgesteuerten Übergangs. Bereiten Sie Bilder vor, die bei Motiv und vorgesehener Szene übereinstimmen, und beschreiben Sie anschließend ihre Verbindung durch Bewegung. Die unterstützte Bildeingabe des Herstellers verwendet JPG, JPEG oder PNG mit Dateien von höchstens 10 MB, Abmessungen von mindestens 300 Pixeln und einem Anfangsbild-Seitenverhältnis zwischen 1:2.5 und 2.5:1. Eine bildgesteuerte Aufgabe und ein benutzerdefiniertes Storyboard haben eigene Eingabeverarbeitung; ordnen Sie das Material deshalb für den gewählten Workflow, bevor Sie das vollständige Briefing schreiben.</p><p>Natives Audio kann gesprochene Zeilen, Atmosphäre und visuelle Darbietung verbinden. Audio ist in der Herstellerreferenz standardmäßig ausgeschaltet und wird für eine audiovisuelle Szene aktiviert. Das 3.0-Sprachprofil umfasst Chinesisch, Englisch, Japanisch, Koreanisch und Spanisch mit Code-Switching und unterstützten Dialekt- oder Akzentgestaltungen. Laut Herstellerleitfaden wird in einer anderen Sprache eingegebener Dialog ins Englische übersetzt. Weisen Sie jede Zeile dem vorgesehenen Motiv zu und unterscheiden Sie Dialog von Hintergrundton, damit das Audiobriefing erklärt, wer spricht und was die Handlung umgibt.</p><p>Ein eigenes Briefing mit zwei Figuren kann Speaker A und Speaker B benennen, jedem eine kurze Zeile geben und die sichtbare Reaktion dazwischen beschreiben. Halten Sie den Dialog proportional zur Cliplänge und identifizieren Sie den Sprecher beim Ansichtswechsel. Stimmregie und Figurenreferenz erfüllen unterschiedliche Zwecke; das Briefing sollte die vorgesehene Darbietung benennen, statt anzunehmen, dass ein Referenzbild die zu sprechenden Wörter enthält.</p><p>VIDEO 3.0 verbessert außerdem den Umgang mit sichtbarer Beschriftung in einer bildgestützten Szene. Benennen Sie ein wichtiges Schild, Etikett oder eine Bildunterschrift im Briefing und bewahren Sie deren Referenzaussehen. Prüfen Sie im fertigen Clip Rechtschreibung, Lesbarkeit und Bewegung dieser Beschriftung, insbesondere wenn sie eine Produkt- oder Kampagnenaussage trägt. Die Beschriftungsfunktion eines Modells steuert Generierung, ersetzt aber keine abschließende visuelle Prüfung.</p><p>Das Pro-Profil ist 1080p, das Standardprofil 720p. Der separat gewählte 4K-Modus des Herstellers ist ein anderes Ausgabeprofil; Pro sollte deshalb nicht als Synonym für jede höhere Auflösung behandelt werden. Für textgestützte Generierung umfassen die dokumentierten Bildformate 16:9, 9:16 und 1:1. Wählen Sie das Bildformat für die vorgesehene Platzierung und halten Sie die Komposition darin lesbar.</p><p>Die Generierung läuft als Aufgabe, deren erfolgreiches Ergebnis das fertige Video und die tatsächliche Dauer bereitstellt. Laut Ergebnisdokumentation des Herstellers werden generierte Videos nach 30 Tagen gelöscht; speichern Sie den fertigen Clip deshalb zeitnah. Bewahren Sie Video, Briefing und Referenzmaterial zusammen auf und prüfen Sie anschließend Motivkontinuität, gewünschte Einstellungsreihenfolge, Kamerabewegung, Dialog und Beschriftung. Verwenden Sie den gewählten Clip als filmisches Konzept, Produktszene oder kurze Erzählung und überarbeiten Sie gezielt den Teil, der das vorgesehene Ergebnis verfehlt hat.</p>",
  "aboutText": "Kling VIDEO 3.0 Pro ist das professionelle Profil von Kuaishous VIDEO-3.0-Modell. Sein dokumentierter Pro-Modus erzeugt 1080p-Video aus einem Textbriefing oder einer bildgestützten Szene mit Clips von drei bis fünfzehn Sekunden. Die 3.0-Version verbindet natives Audio, Steuerung zur Motivkonsistenz und Regie für mehrere Einstellungen und gibt einer Kurzproduktion damit einen klaren Weg zur Festlegung von Aussehen, Handlung, Kameraansichten und Ton.\n\nBeginnen Sie mit der Haupthandlung der Szene. Beschreiben Sie in einer textgestützten Einstellung Motiv, Umgebung, Licht und den Blickwinkel, der die Handlung verständlich macht. Lassen Sie in einer bildgestützten Einstellung das Anfangsbild Aussehen und Komposition festlegen und verwenden Sie anschließend Text für die zeitlichen Veränderungen. Für ein eigenes Produktkonzept kann ein vorbereitetes Bild das Objekt auf einer Studiofläche zeigen, während der Prompt eine langsame Enthüllung von Material und Form beschreibt.\n\nRegie für mehrere Einstellungen bietet automatische Kameraansichten oder eine benutzerdefinierte Folge. Automatische Generierung mehrerer Einstellungen plant Bildausschnitts- und Kamerawinkelwechsel aus dem Briefing; eine Szene, die in eine durchgehende Ansicht passt, kann dennoch eine einzelne Einstellung bleiben. Ein benutzerdefiniertes Storyboard legt Inhalt und Dauer jeder Einstellung fest. Das benutzerdefinierte Einstellungsprofil des Herstellers erlaubt ein bis sechs Einstellungen mit höchstens 512 Zeichen und mindestens einer Sekunde je Einstellung; ihre Dauern müssen zusammen die gesamte Cliplänge ergeben.\n\nBeschreiben Sie für eine kurze Erzählung eine einführende Ansicht, die Haupthandlung und ein abschließendes Detail als separate Einstellungen. Benennen Sie die Kameragestaltung und was das Publikum jeweils bemerken soll. Halten Sie das Aussehen eines wiederkehrenden Motivs im Briefing konsistent und ändern Sie Handlung und Kameraansichten bewusst. Das Einzelprompt-Feld der Herstellerreferenz akzeptiert bis zu 2.500 Zeichen; eine benutzerdefinierte Folge verwendet ihre separaten Beschreibungen je Einstellung.\n\nMotivreferenzen können eine bildgestützte Szene unterstützen, wenn Figur, Produkt oder Umgebung erkennbar bleiben sollen. Wählen Sie klare Ansichten, die die zu bewahrenden Merkmale vermitteln, und benennen Sie jedes referenzierte Motiv konsistent. Das dokumentierte bildgestützte Profil erlaubt bis zu drei vorbereitete Elemente. Halten Sie Referenzrollen gezielt, statt mehrere Dateien mit widersprüchlichen Vorgaben zum Motivaussehen zu verbinden.\n\nAnfangs- und Endbilder bilden visuelle Grenzen eines bildgesteuerten Übergangs. Bereiten Sie Bilder vor, die bei Motiv und vorgesehener Szene übereinstimmen, und beschreiben Sie anschließend ihre Verbindung durch Bewegung. Die unterstützte Bildeingabe des Herstellers verwendet JPG, JPEG oder PNG mit Dateien von höchstens 10 MB, Abmessungen von mindestens 300 Pixeln und einem Anfangsbild-Seitenverhältnis zwischen 1:2.5 und 2.5:1. Eine bildgesteuerte Aufgabe und ein benutzerdefiniertes Storyboard haben eigene Eingabeverarbeitung; ordnen Sie das Material deshalb für den gewählten Workflow, bevor Sie das vollständige Briefing schreiben.\n\nNatives Audio kann gesprochene Zeilen, Atmosphäre und visuelle Darbietung verbinden. Audio ist in der Herstellerreferenz standardmäßig ausgeschaltet und wird für eine audiovisuelle Szene aktiviert. Das 3.0-Sprachprofil umfasst Chinesisch, Englisch, Japanisch, Koreanisch und Spanisch mit Code-Switching und unterstützten Dialekt- oder Akzentgestaltungen. Laut Herstellerleitfaden wird in einer anderen Sprache eingegebener Dialog ins Englische übersetzt. Weisen Sie jede Zeile dem vorgesehenen Motiv zu und unterscheiden Sie Dialog von Hintergrundton, damit das Audiobriefing erklärt, wer spricht und was die Handlung umgibt.\n\nEin eigenes Briefing mit zwei Figuren kann Speaker A und Speaker B benennen, jedem eine kurze Zeile geben und die sichtbare Reaktion dazwischen beschreiben. Halten Sie den Dialog proportional zur Cliplänge und identifizieren Sie den Sprecher beim Ansichtswechsel. Stimmregie und Figurenreferenz erfüllen unterschiedliche Zwecke; das Briefing sollte die vorgesehene Darbietung benennen, statt anzunehmen, dass ein Referenzbild die zu sprechenden Wörter enthält.\n\nVIDEO 3.0 verbessert außerdem den Umgang mit sichtbarer Beschriftung in einer bildgestützten Szene. Benennen Sie ein wichtiges Schild, Etikett oder eine Bildunterschrift im Briefing und bewahren Sie deren Referenzaussehen. Prüfen Sie im fertigen Clip Rechtschreibung, Lesbarkeit und Bewegung dieser Beschriftung, insbesondere wenn sie eine Produkt- oder Kampagnenaussage trägt. Die Beschriftungsfunktion eines Modells steuert Generierung, ersetzt aber keine abschließende visuelle Prüfung.\n\nDas Pro-Profil ist 1080p, das Standardprofil 720p. Der separat gewählte 4K-Modus des Herstellers ist ein anderes Ausgabeprofil; Pro sollte deshalb nicht als Synonym für jede höhere Auflösung behandelt werden. Für textgestützte Generierung umfassen die dokumentierten Bildformate 16:9, 9:16 und 1:1. Wählen Sie das Bildformat für die vorgesehene Platzierung und halten Sie die Komposition darin lesbar.\n\nDie Generierung läuft als Aufgabe, deren erfolgreiches Ergebnis das fertige Video und die tatsächliche Dauer bereitstellt. Laut Ergebnisdokumentation des Herstellers werden generierte Videos nach 30 Tagen gelöscht; speichern Sie den fertigen Clip deshalb zeitnah. Bewahren Sie Video, Briefing und Referenzmaterial zusammen auf und prüfen Sie anschließend Motivkontinuität, gewünschte Einstellungsreihenfolge, Kamerabewegung, Dialog und Beschriftung. Verwenden Sie den gewählten Clip als filmisches Konzept, Produktszene oder kurze Erzählung und überarbeiten Sie gezielt den Teil, der das vorgesehene Ergebnis verfehlt hat.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "f2879e2723eded0bc5d17acf62ce714f982b3d4716822d04ebc13e63a9efe5b6",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "de",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Kling: Video v3.0 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Schließen\">×</button></div><div class=\"idline\"><span>Kuaishou /</span><code>kwaivgi/kling-v3.0-pro</code><button type=\"button\" id=\"copy-id\">ID kopieren</button></div><nav class=\"card-jump-nav\" aria-label=\"Bereiche der Modellkarte\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Eingaben und Methoden</button><button type=\"button\" data-card-jump=\"pricing\">Tarife</button><button type=\"button\" data-card-jump=\"examples\">Beispiele</button><button type=\"button\" data-card-jump=\"results\">Ergebnisse</button><button type=\"button\" data-card-jump=\"aliases\">Aliasnamen</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-Methoden\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|videos|/v1/videos|kwaivgi%2Fkling-v3.0-pro\">Video</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Start</h3><p class=\"mdesc-full\">Kling VIDEO 3.0 Pro ist Kuaishous professionelles Videoprofil in 1080p für text- und bildgeleitete Szenen. Es verbindet Clips von drei bis fünfzehn Sekunden, natives Audio, gesteuerte Anfangs- und Endbilder sowie Regie für eine oder mehrere Einstellungen für filmische Konzepte und Kurzproduktionen.</p><dl class=\"card-io\" data-card-io><div><dt>Zulässige Eingaben</dt><dd>Text · Bilder</dd></div><div><dt>Ergebnisse</dt><dd>Video</dd></div></dl><details class=\"card-about\"><summary>Über das Modell</summary><p class=\"note-s\" data-model-method-boundary>Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.</p><div class=\"mabout\" id=\"m-about\"><p>Kling VIDEO 3.0 Pro ist das professionelle Profil von Kuaishous VIDEO-3.0-Modell. Sein dokumentierter Pro-Modus erzeugt 1080p-Video aus einem Textbriefing oder einer bildgestützten Szene mit Clips von drei bis fünfzehn Sekunden. Die 3.0-Version verbindet natives Audio, Steuerung zur Motivkonsistenz und Regie für mehrere Einstellungen und gibt einer Kurzproduktion damit einen klaren Weg zur Festlegung von Aussehen, Handlung, Kameraansichten und Ton.</p><p>Beginnen Sie mit der Haupthandlung der Szene. Beschreiben Sie in einer textgestützten Einstellung Motiv, Umgebung, Licht und den Blickwinkel, der die Handlung verständlich macht. Lassen Sie in einer bildgestützten Einstellung das Anfangsbild Aussehen und Komposition festlegen und verwenden Sie anschließend Text für die zeitlichen Veränderungen. Für ein eigenes Produktkonzept kann ein vorbereitetes Bild das Objekt auf einer Studiofläche zeigen, während der Prompt eine langsame Enthüllung von Material und Form beschreibt.</p><p>Regie für mehrere Einstellungen bietet automatische Kameraansichten oder eine benutzerdefinierte Folge. Automatische Generierung mehrerer Einstellungen plant Bildausschnitts- und Kamerawinkelwechsel aus dem Briefing; eine Szene, die in eine durchgehende Ansicht passt, kann dennoch eine einzelne Einstellung bleiben. Ein benutzerdefiniertes Storyboard legt Inhalt und Dauer jeder Einstellung fest. Das benutzerdefinierte Einstellungsprofil des Herstellers erlaubt ein bis sechs Einstellungen mit höchstens 512 Zeichen und mindestens einer Sekunde je Einstellung; ihre Dauern müssen zusammen die gesamte Cliplänge ergeben.</p><p>Beschreiben Sie für eine kurze Erzählung eine einführende Ansicht, die Haupthandlung und ein abschließendes Detail als separate Einstellungen. Benennen Sie die Kameragestaltung und was das Publikum jeweils bemerken soll. Halten Sie das Aussehen eines wiederkehrenden Motivs im Briefing konsistent und ändern Sie Handlung und Kameraansichten bewusst. Das Einzelprompt-Feld der Herstellerreferenz akzeptiert bis zu 2.500 Zeichen; eine benutzerdefinierte Folge verwendet ihre separaten Beschreibungen je Einstellung.</p><p>Motivreferenzen können eine bildgestützte Szene unterstützen, wenn Figur, Produkt oder Umgebung erkennbar bleiben sollen. Wählen Sie klare Ansichten, die die zu bewahrenden Merkmale vermitteln, und benennen Sie jedes referenzierte Motiv konsistent. Das dokumentierte bildgestützte Profil erlaubt bis zu drei vorbereitete Elemente. Halten Sie Referenzrollen gezielt, statt mehrere Dateien mit widersprüchlichen Vorgaben zum Motivaussehen zu verbinden.</p><p>Anfangs- und Endbilder bilden visuelle Grenzen eines bildgesteuerten Übergangs. Bereiten Sie Bilder vor, die bei Motiv und vorgesehener Szene übereinstimmen, und beschreiben Sie anschließend ihre Verbindung durch Bewegung. Die unterstützte Bildeingabe des Herstellers verwendet JPG, JPEG oder PNG mit Dateien von höchstens 10 MB, Abmessungen von mindestens 300 Pixeln und einem Anfangsbild-Seitenverhältnis zwischen 1:2.5 und 2.5:1. Eine bildgesteuerte Aufgabe und ein benutzerdefiniertes Storyboard haben eigene Eingabeverarbeitung; ordnen Sie das Material deshalb für den gewählten Workflow, bevor Sie das vollständige Briefing schreiben.</p><p>Natives Audio kann gesprochene Zeilen, Atmosphäre und visuelle Darbietung verbinden. Audio ist in der Herstellerreferenz standardmäßig ausgeschaltet und wird für eine audiovisuelle Szene aktiviert. Das 3.0-Sprachprofil umfasst Chinesisch, Englisch, Japanisch, Koreanisch und Spanisch mit Code-Switching und unterstützten Dialekt- oder Akzentgestaltungen. Laut Herstellerleitfaden wird in einer anderen Sprache eingegebener Dialog ins Englische übersetzt. Weisen Sie jede Zeile dem vorgesehenen Motiv zu und unterscheiden Sie Dialog von Hintergrundton, damit das Audiobriefing erklärt, wer spricht und was die Handlung umgibt.</p><p>Ein eigenes Briefing mit zwei Figuren kann Speaker A und Speaker B benennen, jedem eine kurze Zeile geben und die sichtbare Reaktion dazwischen beschreiben. Halten Sie den Dialog proportional zur Cliplänge und identifizieren Sie den Sprecher beim Ansichtswechsel. Stimmregie und Figurenreferenz erfüllen unterschiedliche Zwecke; das Briefing sollte die vorgesehene Darbietung benennen, statt anzunehmen, dass ein Referenzbild die zu sprechenden Wörter enthält.</p><p>VIDEO 3.0 verbessert außerdem den Umgang mit sichtbarer Beschriftung in einer bildgestützten Szene. Benennen Sie ein wichtiges Schild, Etikett oder eine Bildunterschrift im Briefing und bewahren Sie deren Referenzaussehen. Prüfen Sie im fertigen Clip Rechtschreibung, Lesbarkeit und Bewegung dieser Beschriftung, insbesondere wenn sie eine Produkt- oder Kampagnenaussage trägt. Die Beschriftungsfunktion eines Modells steuert Generierung, ersetzt aber keine abschließende visuelle Prüfung.</p><p>Das Pro-Profil ist 1080p, das Standardprofil 720p. Der separat gewählte 4K-Modus des Herstellers ist ein anderes Ausgabeprofil; Pro sollte deshalb nicht als Synonym für jede höhere Auflösung behandelt werden. Für textgestützte Generierung umfassen die dokumentierten Bildformate 16:9, 9:16 und 1:1. Wählen Sie das Bildformat für die vorgesehene Platzierung und halten Sie die Komposition darin lesbar.</p><p>Die Generierung läuft als Aufgabe, deren erfolgreiches Ergebnis das fertige Video und die tatsächliche Dauer bereitstellt. Laut Ergebnisdokumentation des Herstellers werden generierte Videos nach 30 Tagen gelöscht; speichern Sie den fertigen Clip deshalb zeitnah. Bewahren Sie Video, Briefing und Referenzmaterial zusammen auf und prüfen Sie anschließend Motivkontinuität, gewünschte Einstellungsreihenfolge, Kamerabewegung, Dialog und Beschriftung. Verwenden Sie den gewählten Clip als filmisches Konzept, Produktszene oder kurze Erzählung und überarbeiten Sie gezielt den Teil, der das vorgesehene Ergebnis verfehlt hat.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">In Ailoot verfügbar · Eingaben und Methoden</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Video</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Eingabetypen</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Ausgabetypen</dt><dd><code>video</code></dd></div><div><dt>Ausgabeformat</dt><dd>Originale MP4-Bytes; keine Normalisierung/Transkodierung</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Feld</th><th>Typ</th><th>Anforderung</th><th>Werte und Limits</th><th>Standard</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Erforderlich</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>kwaivgi/kling-v3.0-pro</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Erforderlich</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>integer</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Erforderlich</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15</div><div>Minimum: 1</div><div>Maximum: 600</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>720p</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>16:9, 9:16, 1:1</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">generate_audio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>boolean</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>false, true</div><div>Bedingungen: Das Weglassen dieser Option wählt den Preis mit Audio. Setzen Sie sie auf false, um den Preis ohne Audio auszuwählen. Prüfen Sie has_audio im Ergebnis, um festzustellen, ob eine Audiospur zurückgegeben wurde.</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">frame_images</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>array</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>Mindestanzahl Elemente: 1</div><div>Maximale Anzahl Elemente: 2</div><div>Eingabeinhalt: Array von Frame-Objekten. Jedes Objekt enthält type=image_url, image_url mit url und frame_type. Verwenden Sie eine HTTPS-Bild-URL und setzen Sie frame_type auf first_frame oder last_frame. Jede Frame-Rolle darf höchstens einmal vorkommen.</div><div>Exakte Schlüssel: type, image_url, frame_type</div><div>Bedingungen: Diese Schlüssel beschreiben jedes Frame-Objekt; image_url enthält ausschließlich url. Lassen Sie frame_images bei einer reinen Textanfrage weg.</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>array</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">size</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>1280x720, 720x1280, 720x720</div><div>Muster: ^[1-9][0-9]*x[1-9][0-9]*$</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">callback_url</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>Muster: ^https://</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinationen von Eingabematerialien</summary><p class=\"note-s\"><b>Text zu Video</b> · Ein schriftlicher Prompt. · Erforderlich: model, prompt, duration</p><p class=\"note-s\"><code>Geben Sie prompt als Text und duration in ganzen Sekunden an. Wählen Sie eine unterstützte Auflösung; ergänzen Sie ein Seitenverhältnis oder verwenden Sie eine aufgeführte Größe.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Typ: string · kwaivgi/kling-v3.0-pro</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Typ: string · Maximale Anzahl UTF-8-Bytes: 10.000 · Mindestens ein Zeichen außer Leerraum erforderlich: Ja</p><p class=\"note-s\"><b>Bild zu Video</b> · Ein schriftlicher Prompt und ein Bild für den ersten Frame. · Erforderlich: model, prompt, duration, frame_images</p><p class=\"note-s\"><code>frame_images ist ein Array. Jedes Frame-Objekt enthält type, image_url und frame_type; image_url enthält url. Setzen Sie type auf image_url. Verwenden Sie first_frame und optional last_frame. Jede Frame-Rolle darf höchstens einmal vorkommen. Geben Sie für jeden Frame eine öffentliche HTTPS-Bild-URL an. Wählen Sie eine unterstützte Auflösung; ergänzen Sie ein Seitenverhältnis oder verwenden Sie eine aufgeführte Größe.</code></p><p class=\"note-s\">Exakte Schlüssel: type, image_url, frame_type</p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Typ: string · kwaivgi/kling-v3.0-pro</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Typ: string · Maximale Anzahl UTF-8-Bytes: 10.000 · Mindestens ein Zeichen außer Leerraum erforderlich: Ja</p></details><details class=\"note-s\" data-method-contract><summary>Methodenparameter und Lebenszyklus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Vertrag</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>model, prompt, duration</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>text, image</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>additional_properties</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>false</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>optional_controls</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>resolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user</td></tr></tbody></table></div><p>Lebenszyklus: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}/content</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarife</h3><div class=\"card-result-process\" data-billing-basis><h5>So wird die endgültige Gebühr berechnet</h5><p class=\"note-s\">Die angezeigten Tarife dienen zur Kostenschätzung vor der Generierung. Der endgültige Betrag wird aus den für die ursprüngliche Generierung erfassten Kosten berechnet. Die gemessene Ausgabedauer und prognostizierte Mengen sind nicht die endgültige abrechenbare Menge.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.</p><dl data-price-conditions><dt>Schnellmodus</dt><dd>Nicht angegeben <span class=\"note-s\">Wenn der Schnellmodus ausgewählt ist</span></dd><dt>Flex-Modus</dt><dd>Nicht angegeben <span class=\"note-s\">Wenn der Modus flex ausgewählt ist</span></dd><dt>Maximaler Denkaufwand</dt><dd>Nicht angegeben <span class=\"note-s\">Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird</span></dd></dl></div><div data-declared-tariff-pricing><h4>Geschätzte Tarife zum Vergleich</h4><h4>Preise nach Konfiguration</h4><p class=\"note-s\">Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguration</th><th>Tarifstaffel</th><th>Prognostizierte Menge</th><th>Gebührenkomponente</th><th>Referenzauflösung</th><th>Referenzmodus</th><th>Referenzaudio</th><th>Abrechnungseinheit</th><th>Abrechnungsbedingungen</th><th>Gebühr</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Basistarife für Token</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>Grundtarif</td><td data-cell-label=\"Prognostizierte Menge\"><span class=\"card-cell-label\">Prognostizierte Menge</span>—</td><td data-cell-label=\"Gebührenkomponente\"><span class=\"card-cell-label\">Gebührenkomponente</span>—</td><td data-cell-label=\"Referenzauflösung\"><span class=\"card-cell-label\">Referenzauflösung</span>—</td><td data-cell-label=\"Referenzmodus\"><span class=\"card-cell-label\">Referenzmodus</span>—</td><td data-cell-label=\"Referenzaudio\"><span class=\"card-cell-label\">Referenzaudio</span>—</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>—</td><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>—</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Eingabe · Eingabetoken · Schätzung nur zum Vergleich</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div><div><span>Ausgabe · Ausgabetoken · Schätzung nur zum Vergleich</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div><div><span>Eingabe · Cache-Lesen · Schätzung nur zum Vergleich</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div><div><span>Eingabe · Cache-Schreiben · Schätzung nur zum Vergleich</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div><div><span>Eingabe · Cache-Schreiben, 1 Stunde · Schätzung nur zum Vergleich</span> <b>—</b> <span class=\"price-unit\">/ 1K Token</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videoausgabe · Referenzpreis</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>—</td><td data-cell-label=\"Prognostizierte Menge\"><span class=\"card-cell-label\">Prognostizierte Menge</span>—</td><td data-cell-label=\"Gebührenkomponente\"><span class=\"card-cell-label\">Gebührenkomponente</span><code>reference_output_rate</code></td><td data-cell-label=\"Referenzauflösung\"><span class=\"card-cell-label\">Referenzauflösung</span>—</td><td data-cell-label=\"Referenzmodus\"><span class=\"card-cell-label\">Referenzmodus</span>—</td><td data-cell-label=\"Referenzaudio\"><span class=\"card-cell-label\">Referenzaudio</span>—</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>pro Ausgabesekunde</td><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>—</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Referenzpreis pro Sekunde des Ausgabevideos · Schätzung nur zum Vergleich</span> <b>$0.224</b> <span class=\"price-unit\">pro Ausgabesekunde</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>—</td><td data-cell-label=\"Prognostizierte Menge\"><span class=\"card-cell-label\">Prognostizierte Menge</span>—</td><td data-cell-label=\"Gebührenkomponente\"><span class=\"card-cell-label\">Gebührenkomponente</span>—</td><td data-cell-label=\"Referenzauflösung\"><span class=\"card-cell-label\">Referenzauflösung</span>—</td><td data-cell-label=\"Referenzmodus\"><span class=\"card-cell-label\">Referenzmodus</span>—</td><td data-cell-label=\"Referenzaudio\"><span class=\"card-cell-label\">Referenzaudio</span>—</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>pro Videosekunde</td><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>Audio: with_audio</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis · Schätzung nur zum Vergleich</span> <b>$0.336</b> <span class=\"price-unit\">pro Videosekunde</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Bild zu Video (Frame-Bilder) · 1080p · Referenzpreis</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>—</td><td data-cell-label=\"Prognostizierte Menge\"><span class=\"card-cell-label\">Prognostizierte Menge</span>—</td><td data-cell-label=\"Gebührenkomponente\"><span class=\"card-cell-label\">Gebührenkomponente</span><code>reference_output_rate</code></td><td data-cell-label=\"Referenzauflösung\"><span class=\"card-cell-label\">Referenzauflösung</span>1080p</td><td data-cell-label=\"Referenzmodus\"><span class=\"card-cell-label\">Referenzmodus</span>Bild zu Video (Einzelbilder)</td><td data-cell-label=\"Referenzaudio\"><span class=\"card-cell-label\">Referenzaudio</span>Ohne Audio</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>pro Ausgabesekunde</td><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>—</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Referenzpreis pro Sekunde des Ausgabevideos · Schätzung nur zum Vergleich</span> <b>$0.224</b> <span class=\"price-unit\">pro Ausgabesekunde</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>—</td><td data-cell-label=\"Prognostizierte Menge\"><span class=\"card-cell-label\">Prognostizierte Menge</span>—</td><td data-cell-label=\"Gebührenkomponente\"><span class=\"card-cell-label\">Gebührenkomponente</span>—</td><td data-cell-label=\"Referenzauflösung\"><span class=\"card-cell-label\">Referenzauflösung</span>—</td><td data-cell-label=\"Referenzmodus\"><span class=\"card-cell-label\">Referenzmodus</span>—</td><td data-cell-label=\"Referenzaudio\"><span class=\"card-cell-label\">Referenzaudio</span>—</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>pro Videosekunde</td><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>Generierungsmodus: image_to_video; Auflösung: 720p</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis · Schätzung nur zum Vergleich</span> <b>$0.224</b> <span class=\"price-unit\">pro Videosekunde</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Text zu Video · 1080p · Referenzpreis</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>—</td><td data-cell-label=\"Prognostizierte Menge\"><span class=\"card-cell-label\">Prognostizierte Menge</span>—</td><td data-cell-label=\"Gebührenkomponente\"><span class=\"card-cell-label\">Gebührenkomponente</span><code>reference_output_rate</code></td><td data-cell-label=\"Referenzauflösung\"><span class=\"card-cell-label\">Referenzauflösung</span>1080p</td><td data-cell-label=\"Referenzmodus\"><span class=\"card-cell-label\">Referenzmodus</span>Text zu Video</td><td data-cell-label=\"Referenzaudio\"><span class=\"card-cell-label\">Referenzaudio</span>Ohne Audio</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>pro Ausgabesekunde</td><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>—</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Referenzpreis pro Sekunde des Ausgabevideos · Schätzung nur zum Vergleich</span> <b>$0.224</b> <span class=\"price-unit\">pro Ausgabesekunde</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Text zu Video · 480p · Referenzpreis</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>—</td><td data-cell-label=\"Prognostizierte Menge\"><span class=\"card-cell-label\">Prognostizierte Menge</span>—</td><td data-cell-label=\"Gebührenkomponente\"><span class=\"card-cell-label\">Gebührenkomponente</span><code>reference_output_rate</code></td><td data-cell-label=\"Referenzauflösung\"><span class=\"card-cell-label\">Referenzauflösung</span>480p</td><td data-cell-label=\"Referenzmodus\"><span class=\"card-cell-label\">Referenzmodus</span>Text zu Video</td><td data-cell-label=\"Referenzaudio\"><span class=\"card-cell-label\">Referenzaudio</span>Ohne Audio</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>pro Ausgabesekunde</td><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>—</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Referenzpreis pro Sekunde des Ausgabevideos · Schätzung nur zum Vergleich</span> <b>$0.224</b> <span class=\"price-unit\">pro Ausgabesekunde</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>—</td><td data-cell-label=\"Prognostizierte Menge\"><span class=\"card-cell-label\">Prognostizierte Menge</span>—</td><td data-cell-label=\"Gebührenkomponente\"><span class=\"card-cell-label\">Gebührenkomponente</span>—</td><td data-cell-label=\"Referenzauflösung\"><span class=\"card-cell-label\">Referenzauflösung</span>—</td><td data-cell-label=\"Referenzmodus\"><span class=\"card-cell-label\">Referenzmodus</span>—</td><td data-cell-label=\"Referenzaudio\"><span class=\"card-cell-label\">Referenzaudio</span>—</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>pro Videosekunde</td><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>Generierungsmodus: text_to_video; Auflösung: 720p</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis · Schätzung nur zum Vergleich</span> <b>$0.224</b> <span class=\"price-unit\">pro Videosekunde</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Geschätzte Generierungskosten</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>—</td><td data-cell-label=\"Prognostizierte Menge\"><span class=\"card-cell-label\">Prognostizierte Menge</span>Schätzung für eine Generierung</td><td data-cell-label=\"Gebührenkomponente\"><span class=\"card-cell-label\">Gebührenkomponente</span>—</td><td data-cell-label=\"Referenzauflösung\"><span class=\"card-cell-label\">Referenzauflösung</span>—</td><td data-cell-label=\"Referenzmodus\"><span class=\"card-cell-label\">Referenzmodus</span>—</td><td data-cell-label=\"Referenzaudio\"><span class=\"card-cell-label\">Referenzaudio</span>—</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>—</td><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>—</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Geschätzte Generierungskosten · Schätzung nur zum Vergleich</span> <b>$0.672</b> <span class=\"price-unit\">Schätzung vor der Generierung</span></div><p class=\"note-s\">Diese Schätzung ist weder eine zusätzliche Gebühr noch ein fester Tarif für die abgeschlossene Generierung.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschließenden Verbrauchsdatensatzes. <a href=\"/docs/de/billing/reserve/\">So funktionieren Reservierung und Abrechnung →</a></p><div data-declared-reference-pricing><h4>Details zum Referenztarif</h4><p class=\"note-s\">Referenztarifstaffeln auf Modellebene ändern weder Methodenauswahl noch Kostenvoranschläge oder Gebühren. Für die aktive Abrechnung gelten die Tarife der ausgewählten Ailoot-Methode.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Preisreferenzen für Videokonfigurationen</summary><h4>Preise nach Konfiguration</h4><p class=\"note-s\">Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguration</th><th>Abrechnungsbedingungen</th><th>Gebühr</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>In diesem Preisschlüssel ist keine zusätzliche Bedingung angegeben.</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis</span> <b>$0.224</b> <span class=\"price-unit\">pro Videosekunde</span></div><p class=\"note-s\">Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.</p></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>Audio: with_audio</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis</span> <b>$0.336</b> <span class=\"price-unit\">pro Videosekunde</span></div><p class=\"note-s\">Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.</p></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>Generierungsmodus: text_to_video; Auflösung: 480p</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis</span> <b>$0.224</b> <span class=\"price-unit\">pro Videosekunde</span></div><p class=\"note-s\">Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.</p></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>Generierungsmodus: text_to_video; Auflösung: 720p</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis</span> <b>$0.224</b> <span class=\"price-unit\">pro Videosekunde</span></div><p class=\"note-s\">Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.</p></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>Generierungsmodus: image_to_video; Auflösung: 720p</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis</span> <b>$0.224</b> <span class=\"price-unit\">pro Videosekunde</span></div><p class=\"note-s\">Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.</p></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>Generierungsmodus: text_to_video; Auflösung: 1080p</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis</span> <b>$0.224</b> <span class=\"price-unit\">pro Videosekunde</span></div><p class=\"note-s\">Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.</p></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Videopreis</th><td data-cell-label=\"Abrechnungsbedingungen\"><span class=\"card-cell-label\">Abrechnungsbedingungen</span>Generierungsmodus: image_to_video; Auflösung: 1080p</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Ausgabe · Videopreis</span> <b>$0.224</b> <span class=\"price-unit\">pro Videosekunde</span></div><p class=\"note-s\">Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.</p></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Beispielanfragen</h3><h4>Ailoot Ultra · Video</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Codevarianten\"><button class=\"cg-tab\" id=\"model-code-1779-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1779-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · Video erstellen</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Code kopieren\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1779-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1779-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nfrom pathlib import Path\nPath(&#39;request.json&#39;).write_text(&#39;{&quot;aspect_ratio&quot;:&quot;16:9&quot;,&quot;duration&quot;:8,&quot;model&quot;:&quot;kwaivgi/kling-v3.0-pro&quot;,&quot;prompt&quot;:&quot;A serene mountain landscape at sunset&quot;,&quot;resolution&quot;:&quot;720p&quot;}&#39;, encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Ergebnisse abrufen und speichern</h3><h4>Ailoot Ultra · Video</h4><p class=\"note-s\">Signierte Inhalts-URLs der Ihnen zugeordneten Assets</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{public_id}</code></li><li><code>GET /v1/videos/{public_id}/content</code></li></ul><h5>Auftragsstatus prüfen</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Codevarianten\"><button class=\"cg-tab\" id=\"model-code-1780-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1780-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET · Status des ursprünglichen Vorgangs</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Code kopieren\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1780-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1780-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div><details class=\"card-about\"><summary>Abrufe anderer Inhalte</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Codevarianten\"><button class=\"cg-tab\" id=\"model-code-1781-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1781-panel-0\" aria-selected=\"true\" tabindex=\"0\">Jede fertiggestellte eigene Ausgabe speichern</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Code kopieren\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1781-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1781-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Alle fertiggestellten Ergebnisse aufbewahren</h5><p class=\"note-s\">Speichern Sie jedes fertiggestellte Video oder jede zurückgegebene Datei; rufen Sie jede tatsächlich zurückgegebene Datei-URL ab.</p><p class=\"note-s\">Bewahren Sie jede tatsächlich erzeugte, Ihnen zugeordnete Ausgabe samt den zurückgegebenen gemessenen Metadaten auf.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Wenn die ursprüngliche Antwort geprüft werden muss</h5><p class=\"note-s\">503 result_pending_check + ursprüngliche ID + X-Should-Retry:false; ursprüngliche Anfrage niemals wiederholen</p></div><details class=\"card-about\" data-output-fields><summary>Antwortfelder</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Feld</th><th>Typ</th><th>Bedeutung</th></tr></thead><tbody><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">index</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>Bei null beginnende Position dieses Videos in der Ausgabeliste.</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">content_url</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>Signierte HTTPS-Download-URL für dieses fertiggestellte Video.</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">sha256</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string | null</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>SHA-256-Prüfsumme der ursprünglichen Videobytes; null, falls nicht verfügbar.</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">size_bytes</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer | null</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>Größe der ursprünglichen Videodatei in Bytes; null, falls nicht verfügbar.</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">duration_ms</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer | null</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>Gemessene Videodauer in Millisekunden; null, falls nicht verfügbar.</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer | null</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>Videobreite in Pixeln; null, falls nicht verfügbar.</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer | null</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>Videohöhe in Pixeln; null, falls nicht verfügbar.</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">video_codec</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string | null</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>Videocodec-Kennung; null, falls nicht aufgezeichnet.</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">has_audio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>boolean | null</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>Gibt an, ob das Video eine Audiospur enthält; null, falls nicht gemessen.</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">audio_codec</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string | null</td><td data-cell-label=\"Bedeutung\"><span class=\"card-cell-label\">Bedeutung</span>Audiocodec-Kennung; null, wenn keine Kennung aufgezeichnet wurde.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Fehler und nächste Schritte</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Antwort</th><th>Bedingung</th><th>Nächster Schritt</th></tr></thead><tbody><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Der Videozugriff ist nicht verfügbar, oder diese Video-ID wurde nicht gefunden.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Prüfen Sie den Videozugriff. Verwenden Sie für ein vorhandenes Video dessen ursprüngliche öffentliche ID und denselben API-Schlüssel.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Der API-Schlüssel passt nicht zum authentifizierten Konto.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Prüfen Sie vor der Übermittlung Ihren API-Schlüssel und den Kontozugriff.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Die Anfrage konnte nicht gelesen werden, oder der Downloadindex ist ungültig.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Korrigieren Sie den Anfrageinhalt. Wählen Sie für einen Download einen Ausgabeindex, den die ursprüngliche Aufgabe zurückgegeben hat.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Für die ausgewählte Videokonfiguration lässt sich kein Preis bestimmen.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Wählen Sie eine unterstützte Videokonfiguration und ergänzen Sie die erforderlichen Optionen, bevor Sie eine korrigierte Anfrage senden.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Eine Videoeingabe oder die ursprüngliche Fortsetzungsaufgabe ist ungültig.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Verwenden Sie gültige HTTPS-Eingaben. Verwenden Sie für eine Fortsetzung die öffentliche Video-ID Ihres fertiggestellten Originals mit demselben API-Schlüssel.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>402 · <code>billing_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Das verfügbare Guthaben oder die geltenden Limits lassen keine Reservierung zu.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Prüfen Sie Ihr verfügbares Guthaben und Ihre Limits, bevor Sie eine neue Anfrage senden.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>503 · <code>server_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Videoprüfung, Speicherung oder Dienstzugriff sind vorübergehend nicht verfügbar.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Warten Sie, bis der Dienst verfügbar ist. Wenn Sie bereits eine Video-ID haben, prüfen Sie diese ursprüngliche Aufgabe, statt eine weitere Generierung zu erstellen.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Das ursprüngliche Videoergebnis und die Abrechnung müssen geprüft werden.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Bewahren Sie die zurückgegebene Video-ID auf und prüfen Sie diese Aufgabe. Senden Sie während der Prüfung keine ersetzende Generierungsanfrage.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>503 · <code>owned_result_unavailable</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Der Download des vorhandenen Videos ist vorübergehend nicht verfügbar.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Prüfen Sie dieselbe Videoaufgabe später erneut und laden Sie ihre vorhandene Ausgabe herunter. Eine neue Generierung erstellt einen separaten Vorgang.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Der Videoinhalt wurde nicht veröffentlicht.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Prüfen Sie den Status der ursprünglichen Aufgabe. Laden Sie das Ergebnis herunter, sobald completed gemeldet wird; bei failed folgen Sie dem Hinweis zur Abrechnungsprüfung.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasnamen</h3><h4>Modellaliasnamen</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=kwaivgi%2Fkling-v3.0-pro&amp;route=Ultra&amp;caller=kwaivgi%2Fkling-v3.0-pro&amp;fmt=videos\"><code>kwaivgi/kling-v3.0-pro</code></a></span></p><h4>Aliasnamen für Methodenpfade</h4><p class=\"note-s\">Verwenden Sie die oben angezeigten Methodenpfade.</p><h4>Zugehörige Aufrufer-IDs</h4><p class=\"note-s\"><a href=\"#m=kwaivgi%2Fkling-v3.0-pro&amp;route=Ultra&amp;caller=kwaivgi%2Fkling-v3.0-pro&amp;fmt=videos\"><code>kwaivgi/kling-v3.0-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "kwaivgi/kling-v3.0-pro",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "kwaivgi/kling-v3.0-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|kwaivgi%2Fkling-v3.0-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Die angezeigten Tarife dienen zur Kostenschätzung vor der Generierung. Der endgültige Betrag wird aus den für die ursprüngliche Generierung erfassten Kosten berechnet. Die gemessene Ausgabedauer und prognostizierte Mengen sind nicht die endgültige abrechenbare Menge.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Bewahren Sie jede tatsächlich erzeugte, Ihnen zugeordnete Ausgabe samt den zurückgegebenen gemessenen Metadaten auf.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Der Videozugriff ist nicht verfügbar, oder diese Video-ID wurde nicht gefunden.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Prüfen Sie den Videozugriff. Verwenden Sie für ein vorhandenes Video dessen ursprüngliche öffentliche ID und denselben API-Schlüssel.",
                "type": "not_found_error"
              },
              {
                "condition": "Der API-Schlüssel passt nicht zum authentifizierten Konto.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Prüfen Sie vor der Übermittlung Ihren API-Schlüssel und den Kontozugriff.",
                "type": "authentication_error"
              },
              {
                "condition": "Die Anfrage konnte nicht gelesen werden, oder der Downloadindex ist ungültig.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Korrigieren Sie den Anfrageinhalt. Wählen Sie für einen Download einen Ausgabeindex, den die ursprüngliche Aufgabe zurückgegeben hat.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Für die ausgewählte Videokonfiguration lässt sich kein Preis bestimmen.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Wählen Sie eine unterstützte Videokonfiguration und ergänzen Sie die erforderlichen Optionen, bevor Sie eine korrigierte Anfrage senden.",
                "type": "price_unavailable"
              },
              {
                "condition": "Eine Videoeingabe oder die ursprüngliche Fortsetzungsaufgabe ist ungültig.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Verwenden Sie gültige HTTPS-Eingaben. Verwenden Sie für eine Fortsetzung die öffentliche Video-ID Ihres fertiggestellten Originals mit demselben API-Schlüssel.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Das verfügbare Guthaben oder die geltenden Limits lassen keine Reservierung zu.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Prüfen Sie Ihr verfügbares Guthaben und Ihre Limits, bevor Sie eine neue Anfrage senden.",
                "type": "billing_error"
              },
              {
                "condition": "Videoprüfung, Speicherung oder Dienstzugriff sind vorübergehend nicht verfügbar.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Warten Sie, bis der Dienst verfügbar ist. Wenn Sie bereits eine Video-ID haben, prüfen Sie diese ursprüngliche Aufgabe, statt eine weitere Generierung zu erstellen.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Das ursprüngliche Videoergebnis und die Abrechnung müssen geprüft werden.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Bewahren Sie die zurückgegebene Video-ID auf und prüfen Sie diese Aufgabe. Senden Sie während der Prüfung keine ersetzende Generierungsanfrage.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Der Download des vorhandenen Videos ist vorübergehend nicht verfügbar.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Prüfen Sie dieselbe Videoaufgabe später erneut und laden Sie ihre vorhandene Ausgabe herunter. Eine neue Generierung erstellt einen separaten Vorgang.",
                "type": "server_error"
              },
              {
                "condition": "Der Videoinhalt wurde nicht veröffentlicht.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Prüfen Sie den Status der ursprünglichen Aufgabe. Laden Sie das Ergebnis herunter, sobald completed gemeldet wird; bei failed folgen Sie dem Hinweis zur Abrechnungsprüfung.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + ursprüngliche ID + X-Should-Retry:false; ursprüngliche Anfrage niemals wiederholen"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "kwaivgi/kling-v3.0-pro"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Geben Sie prompt als Text und duration in ganzen Sekunden an. Wählen Sie eine unterstützte Auflösung; ergänzen Sie ein Seitenverhältnis oder verwenden Sie eine aufgeführte Größe.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Ein schriftlicher Prompt."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "kwaivgi/kling-v3.0-pro"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images ist ein Array. Jedes Frame-Objekt enthält type, image_url und frame_type; image_url enthält url. Setzen Sie type auf image_url. Verwenden Sie first_frame und optional last_frame. Jede Frame-Rolle darf höchstens einmal vorkommen. Geben Sie für jeden Frame eine öffentliche HTTPS-Bild-URL an. Wählen Sie eine unterstützte Auflösung; ergänzen Sie ein Seitenverhältnis oder verwenden Sie eine aufgeführte Größe.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Ein schriftlicher Prompt und ein Bild für den ersten Frame."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Bei null beginnende Position dieses Videos in der Ausgabeliste.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "Signierte HTTPS-Download-URL für dieses fertiggestellte Video.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "SHA-256-Prüfsumme der ursprünglichen Videobytes; null, falls nicht verfügbar.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Größe der ursprünglichen Videodatei in Bytes; null, falls nicht verfügbar.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Gemessene Videodauer in Millisekunden; null, falls nicht verfügbar.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Videobreite in Pixeln; null, falls nicht verfügbar.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Videohöhe in Pixeln; null, falls nicht verfügbar.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Videocodec-Kennung; null, falls nicht aufgezeichnet.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Gibt an, ob das Video eine Audiospur enthält; null, falls nicht gemessen.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Audiocodec-Kennung; null, wenn keine Kennung aufgezeichnet wurde.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "Signierte Inhalts-URLs der Ihnen zugeordneten Assets",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "kwaivgi/kling-v3.0-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "kwaivgi/kling-v3.0-pro"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "720p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Das Weglassen dieser Option wählt den Preis mit Audio. Setzen Sie sie auf false, um den Preis ohne Audio auszuwählen. Prüfen Sie has_audio im Ergebnis, um festzustellen, ob eine Audiospur zurückgegeben wurde.",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Diese Schlüssel beschreiben jedes Frame-Objekt; image_url enthält ausschließlich url. Lassen Sie frame_images bei einer reinen Textanfrage weg.",
                "content": "Array von Frame-Objekten. Jedes Objekt enthält type=image_url, image_url mit url und frame_type. Verwenden Sie eine HTTPS-Bild-URL und setzen Sie frame_type auf first_frame oder last_frame. Jede Frame-Rolle darf höchstens einmal vorkommen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 2,
                "max_items": 2,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 0,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1280x720",
                  "720x1280",
                  "720x720"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "1280x720",
                    "720x1280",
                    "720x720"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "model": {
                  "const": "kwaivgi/kling-v3.0-pro"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "720p"
                  ]
                },
                "seed": false,
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "1280x720",
                    "720x1280",
                    "720x720"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Source resolution enum is720p.480p/1080p price keys are inventory entries, not additional admitted resolution controls."
              ]
            },
            "unsupported": [
              "seed",
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": true,
              "quoted_unit": "per output second",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Videoausgabe · Referenzpreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.336",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.336",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "image_to_video_frame_images"
              ],
              "rate_resolution": "1080p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Bild zu Video (Frame-Bilder) · 1080p · Referenzpreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_to_video_duration_seconds_1080p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "Generierungsmodus: image_to_video; Auflösung: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Videopreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_to_video_duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "text_to_video"
              ],
              "rate_resolution": "1080p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Text zu Video · 1080p · Referenzpreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_1080p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "text_to_video"
              ],
              "rate_resolution": "480p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Text zu Video · 480p · Referenzpreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_480p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "generation mode: text_to_video; resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Diese Schätzung ist weder eine zusätzliche Gebühr noch ein fester Tarif für die abgeschlossene Generierung.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Geschätzte Generierungskosten",
            "units": [
              {
                "amount": "0.672",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.672",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"aspect_ratio\":\"16:9\",\"duration\":8,\"model\":\"kwaivgi/kling-v3.0-pro\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": true,
              "quoted_unit": "per output second",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Video output · reference rate",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.336",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.336",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "image_to_video_frame_images"
              ],
              "rate_resolution": "1080p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Image to video (frame images) · 1080p · reference rate",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_to_video_duration_seconds_1080p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "generation mode: image_to_video; resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_to_video_duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "text_to_video"
              ],
              "rate_resolution": "1080p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Text to video · 1080p · reference rate",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_1080p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "text_to_video"
              ],
              "rate_resolution": "480p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Text to video · 480p · reference rate",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_480p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "generation mode: text_to_video; resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.672",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.672",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "kwaivgi/kling-v3.0-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds",
            "label": "Output video second reference rate",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per output second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.336",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.336",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_to_video_duration_seconds_1080p",
            "label": "Output video second reference rate",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per output second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_to_video_duration_seconds_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "text_to_video_duration_seconds_1080p",
            "label": "Output video second reference rate",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per output second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "text_to_video_duration_seconds_480p",
            "label": "Output video second reference rate",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per output second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "text_to_video_duration_seconds_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.672",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.672",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "kwaivgi/kling-v3.0-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "8d072b9f3bdb35cc238b3ee1340883343141aa0e107ebcf7ad51a5d2307344dd",
    "input_html_sha256": "985c0360fa1d552a9a9a63a366c11b4175205e63c31b4d7d3f6851ec4eb81c20",
    "private_audit_sha256": "7e7c2c839ef4a1beb4f63e293febce25ea0c61806603f103bc19962c663f7c47",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/de/kwaivgi-kling-v3-0-pro/",
    "description": "Kling VIDEO 3.0 Pro ist Kuaishous professionelles Videoprofil in 1080p für text- und bildgeleitete Szenen. Es verbindet Clips von drei bis fünfzehn Sekunden, natives Audio, gesteuerte Anfangs- und Endbilder sowie Regie für eine oder mehrere Einstellungen für filmische Konzepte und Kurzproduktionen.",
    "locale": "de",
    "md_url": "https://ailoot.ai/models/de/kwaivgi-kling-v3-0-pro/index.md",
    "title": "Kling: Video v3.0 Pro — Ailoot",
    "url": "https://ailoot.ai/models/de/kwaivgi-kling-v3-0-pro/"
  },
  "rawModel": {
    "about": "Kling VIDEO 3.0 Pro ist das professionelle Profil von Kuaishous VIDEO-3.0-Modell. Sein dokumentierter Pro-Modus erzeugt 1080p-Video aus einem Textbriefing oder einer bildgestützten Szene mit Clips von drei bis fünfzehn Sekunden. Die 3.0-Version verbindet natives Audio, Steuerung zur Motivkonsistenz und Regie für mehrere Einstellungen und gibt einer Kurzproduktion damit einen klaren Weg zur Festlegung von Aussehen, Handlung, Kameraansichten und Ton.\n\nBeginnen Sie mit der Haupthandlung der Szene. Beschreiben Sie in einer textgestützten Einstellung Motiv, Umgebung, Licht und den Blickwinkel, der die Handlung verständlich macht. Lassen Sie in einer bildgestützten Einstellung das Anfangsbild Aussehen und Komposition festlegen und verwenden Sie anschließend Text für die zeitlichen Veränderungen. Für ein eigenes Produktkonzept kann ein vorbereitetes Bild das Objekt auf einer Studiofläche zeigen, während der Prompt eine langsame Enthüllung von Material und Form beschreibt.\n\nRegie für mehrere Einstellungen bietet automatische Kameraansichten oder eine benutzerdefinierte Folge. Automatische Generierung mehrerer Einstellungen plant Bildausschnitts- und Kamerawinkelwechsel aus dem Briefing; eine Szene, die in eine durchgehende Ansicht passt, kann dennoch eine einzelne Einstellung bleiben. Ein benutzerdefiniertes Storyboard legt Inhalt und Dauer jeder Einstellung fest. Das benutzerdefinierte Einstellungsprofil des Herstellers erlaubt ein bis sechs Einstellungen mit höchstens 512 Zeichen und mindestens einer Sekunde je Einstellung; ihre Dauern müssen zusammen die gesamte Cliplänge ergeben.\n\nBeschreiben Sie für eine kurze Erzählung eine einführende Ansicht, die Haupthandlung und ein abschließendes Detail als separate Einstellungen. Benennen Sie die Kameragestaltung und was das Publikum jeweils bemerken soll. Halten Sie das Aussehen eines wiederkehrenden Motivs im Briefing konsistent und ändern Sie Handlung und Kameraansichten bewusst. Das Einzelprompt-Feld der Herstellerreferenz akzeptiert bis zu 2.500 Zeichen; eine benutzerdefinierte Folge verwendet ihre separaten Beschreibungen je Einstellung.\n\nMotivreferenzen können eine bildgestützte Szene unterstützen, wenn Figur, Produkt oder Umgebung erkennbar bleiben sollen. Wählen Sie klare Ansichten, die die zu bewahrenden Merkmale vermitteln, und benennen Sie jedes referenzierte Motiv konsistent. Das dokumentierte bildgestützte Profil erlaubt bis zu drei vorbereitete Elemente. Halten Sie Referenzrollen gezielt, statt mehrere Dateien mit widersprüchlichen Vorgaben zum Motivaussehen zu verbinden.\n\nAnfangs- und Endbilder bilden visuelle Grenzen eines bildgesteuerten Übergangs. Bereiten Sie Bilder vor, die bei Motiv und vorgesehener Szene übereinstimmen, und beschreiben Sie anschließend ihre Verbindung durch Bewegung. Die unterstützte Bildeingabe des Herstellers verwendet JPG, JPEG oder PNG mit Dateien von höchstens 10 MB, Abmessungen von mindestens 300 Pixeln und einem Anfangsbild-Seitenverhältnis zwischen 1:2.5 und 2.5:1. Eine bildgesteuerte Aufgabe und ein benutzerdefiniertes Storyboard haben eigene Eingabeverarbeitung; ordnen Sie das Material deshalb für den gewählten Workflow, bevor Sie das vollständige Briefing schreiben.\n\nNatives Audio kann gesprochene Zeilen, Atmosphäre und visuelle Darbietung verbinden. Audio ist in der Herstellerreferenz standardmäßig ausgeschaltet und wird für eine audiovisuelle Szene aktiviert. Das 3.0-Sprachprofil umfasst Chinesisch, Englisch, Japanisch, Koreanisch und Spanisch mit Code-Switching und unterstützten Dialekt- oder Akzentgestaltungen. Laut Herstellerleitfaden wird in einer anderen Sprache eingegebener Dialog ins Englische übersetzt. Weisen Sie jede Zeile dem vorgesehenen Motiv zu und unterscheiden Sie Dialog von Hintergrundton, damit das Audiobriefing erklärt, wer spricht und was die Handlung umgibt.\n\nEin eigenes Briefing mit zwei Figuren kann Speaker A und Speaker B benennen, jedem eine kurze Zeile geben und die sichtbare Reaktion dazwischen beschreiben. Halten Sie den Dialog proportional zur Cliplänge und identifizieren Sie den Sprecher beim Ansichtswechsel. Stimmregie und Figurenreferenz erfüllen unterschiedliche Zwecke; das Briefing sollte die vorgesehene Darbietung benennen, statt anzunehmen, dass ein Referenzbild die zu sprechenden Wörter enthält.\n\nVIDEO 3.0 verbessert außerdem den Umgang mit sichtbarer Beschriftung in einer bildgestützten Szene. Benennen Sie ein wichtiges Schild, Etikett oder eine Bildunterschrift im Briefing und bewahren Sie deren Referenzaussehen. Prüfen Sie im fertigen Clip Rechtschreibung, Lesbarkeit und Bewegung dieser Beschriftung, insbesondere wenn sie eine Produkt- oder Kampagnenaussage trägt. Die Beschriftungsfunktion eines Modells steuert Generierung, ersetzt aber keine abschließende visuelle Prüfung.\n\nDas Pro-Profil ist 1080p, das Standardprofil 720p. Der separat gewählte 4K-Modus des Herstellers ist ein anderes Ausgabeprofil; Pro sollte deshalb nicht als Synonym für jede höhere Auflösung behandelt werden. Für textgestützte Generierung umfassen die dokumentierten Bildformate 16:9, 9:16 und 1:1. Wählen Sie das Bildformat für die vorgesehene Platzierung und halten Sie die Komposition darin lesbar.\n\nDie Generierung läuft als Aufgabe, deren erfolgreiches Ergebnis das fertige Video und die tatsächliche Dauer bereitstellt. Laut Ergebnisdokumentation des Herstellers werden generierte Videos nach 30 Tagen gelöscht; speichern Sie den fertigen Clip deshalb zeitnah. Bewahren Sie Video, Briefing und Referenzmaterial zusammen auf und prüfen Sie anschließend Motivkontinuität, gewünschte Einstellungsreihenfolge, Kamerabewegung, Dialog und Beschriftung. Verwenden Sie den gewählten Clip als filmisches Konzept, Produktszene oder kurze Erzählung und überarbeiten Sie gezielt den Teil, der das vorgesehene Ergebnis verfehlt hat.",
    "alias_of": null,
    "aliases": [],
    "author": "Kuaishou",
    "available": null,
    "canonical_model": "kwaivgi/kling-v3.0-pro",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.672",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.672",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Die vollständigen Preisangaben zur Konfiguration finden Sie in den Details."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "20f7ffd379215c0acecbd890",
        "label": "Preisreferenzen für Videokonfigurationen",
        "profiles": [
          {
            "basis": "Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.",
            "dimensions": {
              "conditions": "In diesem Preisschlüssel ist keine zusätzliche Bedingung angegeben."
            },
            "label": "Videopreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.",
            "dimensions": {
              "conditions": "Audio: with_audio"
            },
            "label": "Videopreis",
            "units": [
              {
                "amount": "0.336",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.",
            "dimensions": {
              "conditions": "Generierungsmodus: text_to_video; Auflösung: 480p"
            },
            "label": "Videopreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.",
            "dimensions": {
              "conditions": "Generierungsmodus: text_to_video; Auflösung: 720p"
            },
            "label": "Videopreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.",
            "dimensions": {
              "conditions": "Generierungsmodus: image_to_video; Auflösung: 720p"
            },
            "label": "Videopreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.",
            "dimensions": {
              "conditions": "Generierungsmodus: text_to_video; Auflösung: 1080p"
            },
            "label": "Videopreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Veröffentlichte Preisreferenz für die angezeigte Konfiguration. Die endgültige Abrechnung folgt der tatsächlich abgerechneten Konfiguration.",
            "dimensions": {
              "conditions": "Generierungsmodus: image_to_video; Auflösung: 1080p"
            },
            "label": "Videopreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "kwaivgi/kling-v3.0-pro",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Die angezeigten Tarife dienen zur Kostenschätzung vor der Generierung. Der endgültige Betrag wird aus den für die ursprüngliche Generierung erfassten Kosten berechnet. Die gemessene Ausgabedauer und prognostizierte Mengen sind nicht die endgültige abrechenbare Menge.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Bewahren Sie jede tatsächlich erzeugte, Ihnen zugeordnete Ausgabe samt den zurückgegebenen gemessenen Metadaten auf.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Der Videozugriff ist nicht verfügbar, oder diese Video-ID wurde nicht gefunden.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Prüfen Sie den Videozugriff. Verwenden Sie für ein vorhandenes Video dessen ursprüngliche öffentliche ID und denselben API-Schlüssel.",
                "type": "not_found_error"
              },
              {
                "condition": "Der API-Schlüssel passt nicht zum authentifizierten Konto.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Prüfen Sie vor der Übermittlung Ihren API-Schlüssel und den Kontozugriff.",
                "type": "authentication_error"
              },
              {
                "condition": "Die Anfrage konnte nicht gelesen werden, oder der Downloadindex ist ungültig.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "Korrigieren Sie den Anfrageinhalt. Wählen Sie für einen Download einen Ausgabeindex, den die ursprüngliche Aufgabe zurückgegeben hat.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Für die ausgewählte Videokonfiguration lässt sich kein Preis bestimmen.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Wählen Sie eine unterstützte Videokonfiguration und ergänzen Sie die erforderlichen Optionen, bevor Sie eine korrigierte Anfrage senden.",
                "type": "price_unavailable"
              },
              {
                "condition": "Eine Videoeingabe oder die ursprüngliche Fortsetzungsaufgabe ist ungültig.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Verwenden Sie gültige HTTPS-Eingaben. Verwenden Sie für eine Fortsetzung die öffentliche Video-ID Ihres fertiggestellten Originals mit demselben API-Schlüssel.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Das verfügbare Guthaben oder die geltenden Limits lassen keine Reservierung zu.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Prüfen Sie Ihr verfügbares Guthaben und Ihre Limits, bevor Sie eine neue Anfrage senden.",
                "type": "billing_error"
              },
              {
                "condition": "Videoprüfung, Speicherung oder Dienstzugriff sind vorübergehend nicht verfügbar.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Warten Sie, bis der Dienst verfügbar ist. Wenn Sie bereits eine Video-ID haben, prüfen Sie diese ursprüngliche Aufgabe, statt eine weitere Generierung zu erstellen.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Das ursprüngliche Videoergebnis und die Abrechnung müssen geprüft werden.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Bewahren Sie die zurückgegebene Video-ID auf und prüfen Sie diese Aufgabe. Senden Sie während der Prüfung keine ersetzende Generierungsanfrage.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Der Download des vorhandenen Videos ist vorübergehend nicht verfügbar.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Prüfen Sie dieselbe Videoaufgabe später erneut und laden Sie ihre vorhandene Ausgabe herunter. Eine neue Generierung erstellt einen separaten Vorgang.",
                "type": "server_error"
              },
              {
                "condition": "Der Videoinhalt wurde nicht veröffentlicht.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Prüfen Sie den Status der ursprünglichen Aufgabe. Laden Sie das Ergebnis herunter, sobald completed gemeldet wird; bei failed folgen Sie dem Hinweis zur Abrechnungsprüfung.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + ursprüngliche ID + X-Should-Retry:false; ursprüngliche Anfrage niemals wiederholen"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "kwaivgi/kling-v3.0-pro"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Geben Sie prompt als Text und duration in ganzen Sekunden an. Wählen Sie eine unterstützte Auflösung; ergänzen Sie ein Seitenverhältnis oder verwenden Sie eine aufgeführte Größe.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Ein schriftlicher Prompt."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "kwaivgi/kling-v3.0-pro"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images ist ein Array. Jedes Frame-Objekt enthält type, image_url und frame_type; image_url enthält url. Setzen Sie type auf image_url. Verwenden Sie first_frame und optional last_frame. Jede Frame-Rolle darf höchstens einmal vorkommen. Geben Sie für jeden Frame eine öffentliche HTTPS-Bild-URL an. Wählen Sie eine unterstützte Auflösung; ergänzen Sie ein Seitenverhältnis oder verwenden Sie eine aufgeführte Größe.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Ein schriftlicher Prompt und ein Bild für den ersten Frame."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Bei null beginnende Position dieses Videos in der Ausgabeliste.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "Signierte HTTPS-Download-URL für dieses fertiggestellte Video.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "SHA-256-Prüfsumme der ursprünglichen Videobytes; null, falls nicht verfügbar.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Größe der ursprünglichen Videodatei in Bytes; null, falls nicht verfügbar.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Gemessene Videodauer in Millisekunden; null, falls nicht verfügbar.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Videobreite in Pixeln; null, falls nicht verfügbar.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Videohöhe in Pixeln; null, falls nicht verfügbar.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Videocodec-Kennung; null, falls nicht aufgezeichnet.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Gibt an, ob das Video eine Audiospur enthält; null, falls nicht gemessen.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Audiocodec-Kennung; null, wenn keine Kennung aufgezeichnet wurde.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "Signierte Inhalts-URLs der Ihnen zugeordneten Assets",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "kwaivgi/kling-v3.0-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "kwaivgi/kling-v3.0-pro"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "720p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Das Weglassen dieser Option wählt den Preis mit Audio. Setzen Sie sie auf false, um den Preis ohne Audio auszuwählen. Prüfen Sie has_audio im Ergebnis, um festzustellen, ob eine Audiospur zurückgegeben wurde.",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Diese Schlüssel beschreiben jedes Frame-Objekt; image_url enthält ausschließlich url. Lassen Sie frame_images bei einer reinen Textanfrage weg.",
                "content": "Array von Frame-Objekten. Jedes Objekt enthält type=image_url, image_url mit url und frame_type. Verwenden Sie eine HTTPS-Bild-URL und setzen Sie frame_type auf first_frame oder last_frame. Jede Frame-Rolle darf höchstens einmal vorkommen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 2,
                "max_items": 2,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxItems": 0,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1280x720",
                  "720x1280",
                  "720x720"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "1280x720",
                    "720x1280",
                    "720x720"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "16:9",
                    "9:16",
                    "1:1"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    3,
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": false,
                  "maxItems": 0,
                  "type": "array"
                },
                "model": {
                  "const": "kwaivgi/kling-v3.0-pro"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "720p"
                  ]
                },
                "seed": false,
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "1280x720",
                    "720x1280",
                    "720x720"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Source resolution enum is720p.480p/1080p price keys are inventory entries, not additional admitted resolution controls."
              ]
            },
            "unsupported": [
              "seed",
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": true,
              "quoted_unit": "per output second",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Videoausgabe · Referenzpreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.336",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.336",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "image_to_video_frame_images"
              ],
              "rate_resolution": "1080p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Bild zu Video (Frame-Bilder) · 1080p · Referenzpreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_to_video_duration_seconds_1080p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "Generierungsmodus: image_to_video; Auflösung: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Videopreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_to_video_duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "text_to_video"
              ],
              "rate_resolution": "1080p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Text zu Video · 1080p · Referenzpreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_1080p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "text_to_video"
              ],
              "rate_resolution": "480p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Text zu Video · 480p · Referenzpreis",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_480p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "generation mode: text_to_video; resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Diese Schätzung ist weder eine zusätzliche Gebühr noch ein fester Tarif für die abgeschlossene Generierung.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Geschätzte Generierungskosten",
            "units": [
              {
                "amount": "0.672",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.672",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"aspect_ratio\":\"16:9\",\"duration\":8,\"model\":\"kwaivgi/kling-v3.0-pro\",\"prompt\":\"A serene mountain landscape at sunset\",\"resolution\":\"720p\"}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": true,
              "quoted_unit": "per output second",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Video output · reference rate",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.336",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.336",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "image_to_video_frame_images"
              ],
              "rate_resolution": "1080p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Image to video (frame images) · 1080p · reference rate",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_to_video_duration_seconds_1080p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "generation mode: image_to_video; resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_to_video_duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "text_to_video"
              ],
              "rate_resolution": "1080p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Text to video · 1080p · reference rate",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_1080p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "billing_component_role": "reference_output_rate",
              "billing_input": false,
              "estimate_only": true,
              "fallback_reference": false,
              "quoted_unit": "per output second",
              "rate_generate_audio": false,
              "rate_modes": [
                "text_to_video"
              ],
              "rate_resolution": "480p",
              "selectable_request_branch": false,
              "selector_reference_only": true
            },
            "label": "Text to video · 480p · reference rate",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_480p",
                "label": "Output video second reference rate",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per output second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "generation mode: text_to_video; resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.224",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "text_to_video_duration_seconds_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.224",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.672",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.672",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "kwaivgi/kling-v3.0-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds",
            "label": "Output video second reference rate",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per output second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.336",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.336",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_to_video_duration_seconds_1080p",
            "label": "Output video second reference rate",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per output second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_to_video_duration_seconds_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "text_to_video_duration_seconds_1080p",
            "label": "Output video second reference rate",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per output second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "text_to_video_duration_seconds_480p",
            "label": "Output video second reference rate",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per output second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "text_to_video_duration_seconds_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.672",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.672",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "kwaivgi/kling-v3.0-pro",
        "request_model_id": "kwaivgi/kling-v3.0-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "Kling: Video v3.0 Pro",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.672,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.672,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "published_labels": [],
          "variant": "duration_seconds"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.224",
            "amount_unit": "usd_per_second",
            "conditions": {
              "published_labels": [],
              "variant": "duration_seconds"
            },
            "key": "duration_seconds",
            "label": "duration seconds",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "published_labels": [
            "with_audio"
          ],
          "variant": "duration_seconds_with_audio"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.336",
            "amount_unit": "usd_per_second",
            "conditions": {
              "published_labels": [
                "with_audio"
              ],
              "variant": "duration_seconds_with_audio"
            },
            "key": "duration_seconds_with_audio",
            "label": "duration seconds with audio",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "published_labels": [
            "text_to_video",
            "480p"
          ],
          "variant": "text_to_video_duration_seconds_480p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.224",
            "amount_unit": "usd_per_second",
            "conditions": {
              "published_labels": [
                "text_to_video",
                "480p"
              ],
              "variant": "text_to_video_duration_seconds_480p"
            },
            "key": "text_to_video_duration_seconds_480p",
            "label": "text to video duration seconds 480p",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "published_labels": [
            "text_to_video",
            "720p"
          ],
          "variant": "text_to_video_duration_seconds_720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.224",
            "amount_unit": "usd_per_second",
            "conditions": {
              "published_labels": [
                "text_to_video",
                "720p"
              ],
              "variant": "text_to_video_duration_seconds_720p"
            },
            "key": "text_to_video_duration_seconds_720p",
            "label": "text to video duration seconds 720p",
            "profile_index": 3,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "published_labels": [
            "image_to_video",
            "720p"
          ],
          "variant": "image_to_video_duration_seconds_720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.224",
            "amount_unit": "usd_per_second",
            "conditions": {
              "published_labels": [
                "image_to_video",
                "720p"
              ],
              "variant": "image_to_video_duration_seconds_720p"
            },
            "key": "image_to_video_duration_seconds_720p",
            "label": "image to video duration seconds 720p",
            "profile_index": 4,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "published_labels": [
            "text_to_video",
            "1080p"
          ],
          "variant": "text_to_video_duration_seconds_1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.224",
            "amount_unit": "usd_per_second",
            "conditions": {
              "published_labels": [
                "text_to_video",
                "1080p"
              ],
              "variant": "text_to_video_duration_seconds_1080p"
            },
            "key": "text_to_video_duration_seconds_1080p",
            "label": "text to video duration seconds 1080p",
            "profile_index": 5,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "published_labels": [
            "image_to_video",
            "1080p"
          ],
          "variant": "image_to_video_duration_seconds_1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.224",
            "amount_unit": "usd_per_second",
            "conditions": {
              "published_labels": [
                "image_to_video",
                "1080p"
              ],
              "variant": "image_to_video_duration_seconds_1080p"
            },
            "key": "image_to_video_duration_seconds_1080p",
            "label": "image to video duration seconds 1080p",
            "profile_index": 6,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "output second Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.224",
            "key": "duration_seconds",
            "label": "output second",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.336",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "audio=true",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.336",
            "key": "duration_seconds_with_audio",
            "label": "output second",
            "native_amount_usd_per_unit": "0.336",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=480p · text_to_video Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.224",
            "key": "text_to_video_duration_seconds_480p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p · text_to_video",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.224",
            "key": "text_to_video_duration_seconds_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p · image_to_video",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.224",
            "key": "image_to_video_duration_seconds_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=1080p · text_to_video Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.224",
            "key": "text_to_video_duration_seconds_1080p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.224",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=1080p · image_to_video Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.224",
            "key": "image_to_video_duration_seconds_1080p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.224",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          }
        ]
      }
    ],
    "public_id": "kwaivgi/kling-v3.0-pro",
    "short": "Kling VIDEO 3.0 Pro ist Kuaishous professionelles Videoprofil in 1080p für text- und bildgeleitete Szenen. Es verbindet Clips von drei bis fünfzehn Sekunden, natives Audio, gesteuerte Anfangs- und Endbilder sowie Regie für eine oder mehrere Einstellungen für filmische Konzepte und Kurzproduktionen."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Kling VIDEO 3.0 Pro ist Kuaishous professionelles Videoprofil in 1080p für text- und bildgeleitete Szenen. Es verbindet Clips von drei bis fünfzehn Sekunden, natives Audio, gesteuerte Anfangs- und Endbilder sowie Regie für eine oder mehrere Einstellungen für filmische Konzepte und Kurzproduktionen.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "f87663b01022f7149b49afc4d5b6152a98b51cdc95397e5b3d3a1100b53739fa",
    "renderer_sha256": "8bd3076b303b7b3aa4d961032854071403a471ec26a4f50c64e3a32556ea2925"
  },
  "sourceRevision": "b0ac14c021be0ec8da1b7a4abeb0bbcd7ebc9ee9199113c090ddcb12bfc035ac"
}
