{
  "aboutHtml": "<p>Universal-3.5 Pro ist das Spracherkennungsmodell von AssemblyAI zur Umwandlung aufgezeichneter Sprache in Text. Im Sync-Profil ergibt ein kurzer Audioclip mit einer einzigen Antwort ein vollständiges Transkript. Das eignet sich für Sprachnachrichten, Push-to-Talk-Eingaben und einzelne Gesprächsbeiträge, bei denen die Anwendung bereits weiß, wann die Aufnahme enden soll.</p><p>Bereiten Sie die Audiodaten als begrenzten Clip vor. Die Sync-Anforderungen von AssemblyAI akzeptieren eine Dauer von 80 Millisekunden bis 120 Sekunden bei einer maximalen Dateigröße von 40 MB. Unterstützt werden WAV oder rohe, vorzeichenbehaftete 16-Bit-PCM-Daten in Little-Endian-Reihenfolge. Audio kann mono oder stereo sein; Stereo wird intern auf Mono heruntergemischt. Unterstützte Abtastraten sind 8, 16, 22,05, 24, 32, 44,1 und 48 kHz. Ein WAV-Header liefert Abtastrate und Kanalanzahl; bei rohem PCM müssen diese Werte separat in der Transkriptionskonfiguration angegeben werden.</p><p>Erfassen Sie die vollständige Äußerung und bewahren Sie Anfang und Ende der gesprochenen Passage. Eine sinnvolle Ausgangsaufgabe ist eine kurze Sprachnachricht an den Produktsupport mit einem Produktnamen, einer Bestellkennung und einem Anliegen. Bewahren Sie den Quellclip auf, damit sich das Transkript auf diese wichtigen Details prüfen lässt. Bereiten Sie bei einer längeren Aufnahme einen für Langformtranskription geeigneten Ablauf vor, statt die Dauergrenze für kurze Clips als Aussage zur gesamten Audiokapazität des Modells zu behandeln.</p><p>Das Ergebnis enthält das vollständige Transkript, eine Wortliste mit Konfidenzwerten pro Wort und einen Gesamtkonfidenzwert zwischen null und eins. Es liefert außerdem die Dauer der eingereichten Audiodatei und eine Anfragekennung, sodass der Text seinem ursprünglichen Clip zugeordnet bleiben kann. Nutzen Sie die Wortkonfidenz, um Stellen zu finden, die durch Anhören überprüft werden sollten, insbesondere für die Anwendung wichtige Namen, Zahlen und Fachbegriffe.</p><p>Wortzeitstempel sind optional und standardmäßig deaktiviert. Werden sie angefordert, kann jedes zeitlich zugeordnete Wort seinen Beginn und sein Ende in Millisekunden relativ zum Clipanfang enthalten. Das Herstellerprofil lässt diese Werte weg, wenn ein Wort nicht zeitlich zugeordnet werden kann, statt eine ungefähre Zeit zu erfinden. Die Zeitstempelgenauigkeit ist bei englischsprachigem Audio am höchsten. Halten Sie fehlende Zeitangaben bei der Vorbereitung von Worthervorhebungen, einer durchsuchbaren Wellenform oder einer Untertitelzuordnung ausdrücklich fest und vergleichen Sie den Text mit der Aufnahme, bevor Sie ihn als fertige Untertitelspur verwenden.</p><p>Ein Kontextprompt beschreibt, worum es in der Aufnahme geht. Er kann ein Fachgebiet, ein Szenario oder konkrete, der Anwendung bereits bekannte Details nennen und darf höchstens 6.000 Zeichen lang sein. Beginnen Sie mit einer kurzen, zum Audio passenden Beschreibung, etwa einem Gespräch mit dem technischen Support über ein bestimmtes Gerät. Der Prompt liefert Erkennungskontext; er ist keine Aufforderung, die Nachricht der sprechenden Person in ein anderes Dokument umzuschreiben.</p><p>Eine eigene Schlüsselbegriffsliste lenkt die Erkennung auf bestimmtes Vokabular. Das Sync-Profil akzeptiert bis zu 100 Begriffe und insgesamt 8.000 Zeichen in dieser Liste. Verwenden Sie die genaue Schreibweise ungewöhnlicher Namen, Akronyme oder Produktbegriffe und lassen Sie gewöhnliche, zuverlässig erkannte Wörter aus. Große oder unnötige Begriffslisten können Überkorrekturen auslösen; beschränken Sie die Liste deshalb auf Wörter, die in der Aufnahme wichtig sind. Kontextbeschreibung und Vokabularliste können gemeinsam verwendet werden.</p><p>Auch ein vorheriger Gesprächsverlauf kann helfen, eine kurze Antwort zu interpretieren. Stellen Sie frühere Äußerungen chronologisch von der ältesten bis zur jüngsten bereit; das aktuelle Audio bleibt dabei der zu transkribierende Beitrag. Das dokumentierte Kontextbudget beträgt 500 Beiträge oder insgesamt 16.000 Zeichen. Werden diese Grenzen oder der verfügbare Modellkontext überschritten, werden die ältesten Einträge zuerst entfernt. Das ist hilfreich, wenn eine kurze Antwort eine Kennung oder einen Verweis enthält, dessen Bedeutung aus der vorangehenden Frage stammt.</p><p>Die Sprachauswahl lenkt die Erkennung auf eine oder mehrere erwartete Sprachen. Die aktuelle Sync-Schnittstelle akzeptiert 32 Sprachcodes und verwendet ohne Auswahl standardmäßig Englisch. Listen Sie bei Audio mit Sprachwechseln die erwarteten Sprachen auf. Ein eigener Kontextprompt ersetzt den verwalteten Standard und überschreibt die separate Steuerung per Sprachcode; nennen Sie die erwarteten Sprachen daher in diesem Prompt, wenn sowohl Sprach- als auch Szenariokontext benötigt werden. Bewahren Sie das Transkript in den tatsächlich gesprochenen Sprachen, statt Transkription als Übersetzungsanweisung zu behandeln.</p><p>Das Modell kommt auch in anderen Transkriptionsabläufen von AssemblyAI vor; die Anforderungen für kurze Clips und die Ergebnisfelder des Sync-Profils gehören jedoch zu dieser konkreten Schnittstelle. Der Dictation-Ablauf des Herstellers ergänzt eine separate Textbereinigung; ein Transkript und eine umgeschriebene Nachricht sind unterschiedliche Ergebnisse. Bewahren Sie die erkannte Sprache auf, wenn ein späterer Bearbeitungs- oder Zusammenfassungsschritt eine bereinigte Fassung erzeugt, damit der ursprüngliche Wortlaut für Vergleiche verfügbar bleibt.</p><p>Nützliche Ergebnisse sind etwa eine transkribierte Sprachnachricht, ein vollständiger Gesprächsbeitrag für einen Assistenten, kurzer durchsuchbarer Audiotext oder eine Wortliste mit Zeitangaben für eine Prüfansicht. Prüfen Sie die entscheidenden Wörter anhand der Aufnahme, bewahren Sie fehlende zeitliche Zuordnungen und halten Sie den Clip mit dem zurückgegebenen Text verknüpft. Das Erkennungsergebnis liefert dem nächsten Anwendungsschritt eine quellenbezogene Transkription; das Beantworten des Anliegens oder Bearbeiten der Nachricht gehört zum umgebenden Ablauf.</p>",
  "aboutText": "Universal-3.5 Pro ist das Spracherkennungsmodell von AssemblyAI zur Umwandlung aufgezeichneter Sprache in Text. Im Sync-Profil ergibt ein kurzer Audioclip mit einer einzigen Antwort ein vollständiges Transkript. Das eignet sich für Sprachnachrichten, Push-to-Talk-Eingaben und einzelne Gesprächsbeiträge, bei denen die Anwendung bereits weiß, wann die Aufnahme enden soll.\n\nBereiten Sie die Audiodaten als begrenzten Clip vor. Die Sync-Anforderungen von AssemblyAI akzeptieren eine Dauer von 80 Millisekunden bis 120 Sekunden bei einer maximalen Dateigröße von 40 MB. Unterstützt werden WAV oder rohe, vorzeichenbehaftete 16-Bit-PCM-Daten in Little-Endian-Reihenfolge. Audio kann mono oder stereo sein; Stereo wird intern auf Mono heruntergemischt. Unterstützte Abtastraten sind 8, 16, 22,05, 24, 32, 44,1 und 48 kHz. Ein WAV-Header liefert Abtastrate und Kanalanzahl; bei rohem PCM müssen diese Werte separat in der Transkriptionskonfiguration angegeben werden.\n\nErfassen Sie die vollständige Äußerung und bewahren Sie Anfang und Ende der gesprochenen Passage. Eine sinnvolle Ausgangsaufgabe ist eine kurze Sprachnachricht an den Produktsupport mit einem Produktnamen, einer Bestellkennung und einem Anliegen. Bewahren Sie den Quellclip auf, damit sich das Transkript auf diese wichtigen Details prüfen lässt. Bereiten Sie bei einer längeren Aufnahme einen für Langformtranskription geeigneten Ablauf vor, statt die Dauergrenze für kurze Clips als Aussage zur gesamten Audiokapazität des Modells zu behandeln.\n\nDas Ergebnis enthält das vollständige Transkript, eine Wortliste mit Konfidenzwerten pro Wort und einen Gesamtkonfidenzwert zwischen null und eins. Es liefert außerdem die Dauer der eingereichten Audiodatei und eine Anfragekennung, sodass der Text seinem ursprünglichen Clip zugeordnet bleiben kann. Nutzen Sie die Wortkonfidenz, um Stellen zu finden, die durch Anhören überprüft werden sollten, insbesondere für die Anwendung wichtige Namen, Zahlen und Fachbegriffe.\n\nWortzeitstempel sind optional und standardmäßig deaktiviert. Werden sie angefordert, kann jedes zeitlich zugeordnete Wort seinen Beginn und sein Ende in Millisekunden relativ zum Clipanfang enthalten. Das Herstellerprofil lässt diese Werte weg, wenn ein Wort nicht zeitlich zugeordnet werden kann, statt eine ungefähre Zeit zu erfinden. Die Zeitstempelgenauigkeit ist bei englischsprachigem Audio am höchsten. Halten Sie fehlende Zeitangaben bei der Vorbereitung von Worthervorhebungen, einer durchsuchbaren Wellenform oder einer Untertitelzuordnung ausdrücklich fest und vergleichen Sie den Text mit der Aufnahme, bevor Sie ihn als fertige Untertitelspur verwenden.\n\nEin Kontextprompt beschreibt, worum es in der Aufnahme geht. Er kann ein Fachgebiet, ein Szenario oder konkrete, der Anwendung bereits bekannte Details nennen und darf höchstens 6.000 Zeichen lang sein. Beginnen Sie mit einer kurzen, zum Audio passenden Beschreibung, etwa einem Gespräch mit dem technischen Support über ein bestimmtes Gerät. Der Prompt liefert Erkennungskontext; er ist keine Aufforderung, die Nachricht der sprechenden Person in ein anderes Dokument umzuschreiben.\n\nEine eigene Schlüsselbegriffsliste lenkt die Erkennung auf bestimmtes Vokabular. Das Sync-Profil akzeptiert bis zu 100 Begriffe und insgesamt 8.000 Zeichen in dieser Liste. Verwenden Sie die genaue Schreibweise ungewöhnlicher Namen, Akronyme oder Produktbegriffe und lassen Sie gewöhnliche, zuverlässig erkannte Wörter aus. Große oder unnötige Begriffslisten können Überkorrekturen auslösen; beschränken Sie die Liste deshalb auf Wörter, die in der Aufnahme wichtig sind. Kontextbeschreibung und Vokabularliste können gemeinsam verwendet werden.\n\nAuch ein vorheriger Gesprächsverlauf kann helfen, eine kurze Antwort zu interpretieren. Stellen Sie frühere Äußerungen chronologisch von der ältesten bis zur jüngsten bereit; das aktuelle Audio bleibt dabei der zu transkribierende Beitrag. Das dokumentierte Kontextbudget beträgt 500 Beiträge oder insgesamt 16.000 Zeichen. Werden diese Grenzen oder der verfügbare Modellkontext überschritten, werden die ältesten Einträge zuerst entfernt. Das ist hilfreich, wenn eine kurze Antwort eine Kennung oder einen Verweis enthält, dessen Bedeutung aus der vorangehenden Frage stammt.\n\nDie Sprachauswahl lenkt die Erkennung auf eine oder mehrere erwartete Sprachen. Die aktuelle Sync-Schnittstelle akzeptiert 32 Sprachcodes und verwendet ohne Auswahl standardmäßig Englisch. Listen Sie bei Audio mit Sprachwechseln die erwarteten Sprachen auf. Ein eigener Kontextprompt ersetzt den verwalteten Standard und überschreibt die separate Steuerung per Sprachcode; nennen Sie die erwarteten Sprachen daher in diesem Prompt, wenn sowohl Sprach- als auch Szenariokontext benötigt werden. Bewahren Sie das Transkript in den tatsächlich gesprochenen Sprachen, statt Transkription als Übersetzungsanweisung zu behandeln.\n\nDas Modell kommt auch in anderen Transkriptionsabläufen von AssemblyAI vor; die Anforderungen für kurze Clips und die Ergebnisfelder des Sync-Profils gehören jedoch zu dieser konkreten Schnittstelle. Der Dictation-Ablauf des Herstellers ergänzt eine separate Textbereinigung; ein Transkript und eine umgeschriebene Nachricht sind unterschiedliche Ergebnisse. Bewahren Sie die erkannte Sprache auf, wenn ein späterer Bearbeitungs- oder Zusammenfassungsschritt eine bereinigte Fassung erzeugt, damit der ursprüngliche Wortlaut für Vergleiche verfügbar bleibt.\n\nNützliche Ergebnisse sind etwa eine transkribierte Sprachnachricht, ein vollständiger Gesprächsbeitrag für einen Assistenten, kurzer durchsuchbarer Audiotext oder eine Wortliste mit Zeitangaben für eine Prüfansicht. Prüfen Sie die entscheidenden Wörter anhand der Aufnahme, bewahren Sie fehlende zeitliche Zuordnungen und halten Sie den Clip mit dem zurückgegebenen Text verknüpft. Das Erkennungsergebnis liefert dem nächsten Anwendungsschritt eine quellenbezogene Transkription; das Beantworten des Anliegens oder Bearbeiten der Nachricht gehört zum umgebenden Ablauf.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e8a0fbd3e26f722360a85a10918d8f5c0e745999c60e8724074ef13b8d947313",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "de-at",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">AssemblyAI: Universal-3.5 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Schließen\">×</button></div><div class=\"idline\"><span>AssemblyAI /</span><code>assemblyai/universal-3-5-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\">Einstieg</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|transcriptions|/v1/audio/transcriptions|assemblyai%2Funiversal-3-5-pro\">Spracherkennung</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\">Einstieg</h3><p class=\"mdesc-full\">Universal-3.5 Pro ist das Speech-to-Text-Modell von AssemblyAI, das einen kurzen Audioclip mit einer einzigen Antwort in ein vollständiges Transkript umwandelt. Sein Sync-Profil ergänzt Konfidenzwerte pro Wort, optionale Wortzeitstempel, Vokabularhinweise und bisherigen Gesprächskontext für Spracheingaben und Push-to-Talk-Abläufe.</p><dl class=\"card-io\" data-card-io><div><dt>Zulässige Eingaben</dt><dd>Audio</dd></div><div><dt>Ergebnisse</dt><dd>Text</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>Universal-3.5 Pro ist das Spracherkennungsmodell von AssemblyAI zur Umwandlung aufgezeichneter Sprache in Text. Im Sync-Profil ergibt ein kurzer Audioclip mit einer einzigen Antwort ein vollständiges Transkript. Das eignet sich für Sprachnachrichten, Push-to-Talk-Eingaben und einzelne Gesprächsbeiträge, bei denen die Anwendung bereits weiß, wann die Aufnahme enden soll.</p><p>Bereiten Sie die Audiodaten als begrenzten Clip vor. Die Sync-Anforderungen von AssemblyAI akzeptieren eine Dauer von 80 Millisekunden bis 120 Sekunden bei einer maximalen Dateigröße von 40 MB. Unterstützt werden WAV oder rohe, vorzeichenbehaftete 16-Bit-PCM-Daten in Little-Endian-Reihenfolge. Audio kann mono oder stereo sein; Stereo wird intern auf Mono heruntergemischt. Unterstützte Abtastraten sind 8, 16, 22,05, 24, 32, 44,1 und 48 kHz. Ein WAV-Header liefert Abtastrate und Kanalanzahl; bei rohem PCM müssen diese Werte separat in der Transkriptionskonfiguration angegeben werden.</p><p>Erfassen Sie die vollständige Äußerung und bewahren Sie Anfang und Ende der gesprochenen Passage. Eine sinnvolle Ausgangsaufgabe ist eine kurze Sprachnachricht an den Produktsupport mit einem Produktnamen, einer Bestellkennung und einem Anliegen. Bewahren Sie den Quellclip auf, damit sich das Transkript auf diese wichtigen Details prüfen lässt. Bereiten Sie bei einer längeren Aufnahme einen für Langformtranskription geeigneten Ablauf vor, statt die Dauergrenze für kurze Clips als Aussage zur gesamten Audiokapazität des Modells zu behandeln.</p><p>Das Ergebnis enthält das vollständige Transkript, eine Wortliste mit Konfidenzwerten pro Wort und einen Gesamtkonfidenzwert zwischen null und eins. Es liefert außerdem die Dauer der eingereichten Audiodatei und eine Anfragekennung, sodass der Text seinem ursprünglichen Clip zugeordnet bleiben kann. Nutzen Sie die Wortkonfidenz, um Stellen zu finden, die durch Anhören überprüft werden sollten, insbesondere für die Anwendung wichtige Namen, Zahlen und Fachbegriffe.</p><p>Wortzeitstempel sind optional und standardmäßig deaktiviert. Werden sie angefordert, kann jedes zeitlich zugeordnete Wort seinen Beginn und sein Ende in Millisekunden relativ zum Clipanfang enthalten. Das Herstellerprofil lässt diese Werte weg, wenn ein Wort nicht zeitlich zugeordnet werden kann, statt eine ungefähre Zeit zu erfinden. Die Zeitstempelgenauigkeit ist bei englischsprachigem Audio am höchsten. Halten Sie fehlende Zeitangaben bei der Vorbereitung von Worthervorhebungen, einer durchsuchbaren Wellenform oder einer Untertitelzuordnung ausdrücklich fest und vergleichen Sie den Text mit der Aufnahme, bevor Sie ihn als fertige Untertitelspur verwenden.</p><p>Ein Kontextprompt beschreibt, worum es in der Aufnahme geht. Er kann ein Fachgebiet, ein Szenario oder konkrete, der Anwendung bereits bekannte Details nennen und darf höchstens 6.000 Zeichen lang sein. Beginnen Sie mit einer kurzen, zum Audio passenden Beschreibung, etwa einem Gespräch mit dem technischen Support über ein bestimmtes Gerät. Der Prompt liefert Erkennungskontext; er ist keine Aufforderung, die Nachricht der sprechenden Person in ein anderes Dokument umzuschreiben.</p><p>Eine eigene Schlüsselbegriffsliste lenkt die Erkennung auf bestimmtes Vokabular. Das Sync-Profil akzeptiert bis zu 100 Begriffe und insgesamt 8.000 Zeichen in dieser Liste. Verwenden Sie die genaue Schreibweise ungewöhnlicher Namen, Akronyme oder Produktbegriffe und lassen Sie gewöhnliche, zuverlässig erkannte Wörter aus. Große oder unnötige Begriffslisten können Überkorrekturen auslösen; beschränken Sie die Liste deshalb auf Wörter, die in der Aufnahme wichtig sind. Kontextbeschreibung und Vokabularliste können gemeinsam verwendet werden.</p><p>Auch ein vorheriger Gesprächsverlauf kann helfen, eine kurze Antwort zu interpretieren. Stellen Sie frühere Äußerungen chronologisch von der ältesten bis zur jüngsten bereit; das aktuelle Audio bleibt dabei der zu transkribierende Beitrag. Das dokumentierte Kontextbudget beträgt 500 Beiträge oder insgesamt 16.000 Zeichen. Werden diese Grenzen oder der verfügbare Modellkontext überschritten, werden die ältesten Einträge zuerst entfernt. Das ist hilfreich, wenn eine kurze Antwort eine Kennung oder einen Verweis enthält, dessen Bedeutung aus der vorangehenden Frage stammt.</p><p>Die Sprachauswahl lenkt die Erkennung auf eine oder mehrere erwartete Sprachen. Die aktuelle Sync-Schnittstelle akzeptiert 32 Sprachcodes und verwendet ohne Auswahl standardmäßig Englisch. Listen Sie bei Audio mit Sprachwechseln die erwarteten Sprachen auf. Ein eigener Kontextprompt ersetzt den verwalteten Standard und überschreibt die separate Steuerung per Sprachcode; nennen Sie die erwarteten Sprachen daher in diesem Prompt, wenn sowohl Sprach- als auch Szenariokontext benötigt werden. Bewahren Sie das Transkript in den tatsächlich gesprochenen Sprachen, statt Transkription als Übersetzungsanweisung zu behandeln.</p><p>Das Modell kommt auch in anderen Transkriptionsabläufen von AssemblyAI vor; die Anforderungen für kurze Clips und die Ergebnisfelder des Sync-Profils gehören jedoch zu dieser konkreten Schnittstelle. Der Dictation-Ablauf des Herstellers ergänzt eine separate Textbereinigung; ein Transkript und eine umgeschriebene Nachricht sind unterschiedliche Ergebnisse. Bewahren Sie die erkannte Sprache auf, wenn ein späterer Bearbeitungs- oder Zusammenfassungsschritt eine bereinigte Fassung erzeugt, damit der ursprüngliche Wortlaut für Vergleiche verfügbar bleibt.</p><p>Nützliche Ergebnisse sind etwa eine transkribierte Sprachnachricht, ein vollständiger Gesprächsbeitrag für einen Assistenten, kurzer durchsuchbarer Audiotext oder eine Wortliste mit Zeitangaben für eine Prüfansicht. Prüfen Sie die entscheidenden Wörter anhand der Aufnahme, bewahren Sie fehlende zeitliche Zuordnungen und halten Sie den Clip mit dem zurückgegebenen Text verknüpft. Das Erkennungsergebnis liefert dem nächsten Anwendungsschritt eine quellenbezogene Transkription; das Beantworten des Anliegens oder Bearbeiten der Nachricht gehört zum umgebenden Ablauf.</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 · Transkription</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Eingabe</dt><dd><code>audio</code></dd></div><div><dt>Ausgabe</dt><dd><code>text</code></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><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>assemblyai/universal-3-5-pro</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">input_audio</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>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></tbody></table></div><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, input_audio</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>audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_conditions</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>Das Beispiel liest Ihre tatsächliche, nicht leere PCM-WAV-Datei, kodiert die vollständigen Dateibytes als base64 und übermittelt input_audio.format als wav.</td></tr></tbody></table></div><p>Lebenszyklus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · exakte task_id aus einem bestehenden, Ihnen zugeordneten Mediendatensatz</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarife</h3><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>Ailoot-Tarife</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>Abrechnungseinheit</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 Tokens</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>Grundtarif</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>—</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Eingabe · Eingabetoken</span> <b>—</b> <span class=\"price-unit\">/ 1K Tokens</span></div><div><span>Ausgabe · Ausgabetoken</span> <b>—</b> <span class=\"price-unit\">/ 1K Tokens</span></div><div><span>Eingabe · Cache lesen</span> <b>—</b> <span class=\"price-unit\">/ 1K Tokens</span></div><div><span>Eingabe · In Cache schreiben</span> <b>—</b> <span class=\"price-unit\">/ 1K Tokens</span></div><div><span>Eingabe · In Cache schreiben, 1 Stunde</span> <b>—</b> <span class=\"price-unit\">/ 1K Tokens</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Audioeingabesekunde</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>—</td><td data-cell-label=\"Abrechnungseinheit\"><span class=\"card-cell-label\">Abrechnungseinheit</span>pro Sekunde Eingabeaudio</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Eingabe · Audioeingabesekunde</span> <b>$0.00025</b> <span class=\"price-unit\">pro Sekunde Eingabeaudio</span></div></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-at/billing/reserve/\">So funktionieren Reservierung und Abrechnung →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Beispielanfragen</h3><h4>Ailoot Ultra · Transkription</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-1073-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1073-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · tatsächliche WAV-Datei und vollständiges Originalergebnis</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-1073-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1073-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;assemblyai/universal-3-5-pro&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\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 response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\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 · Transkription</h4><p class=\"note-s\">Vollständiger ursprünglicher Antwortinhalt, Status und weitergeleitete Header. Dieser Handler fügt weder ein allgemeingültiges JSON-Format noch ein Textfeld oder eine äußere Aufgabenstruktur hinzu.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Alle fertiggestellten Ergebnisse aufbewahren</h5><p class=\"note-s\">Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.</p><p class=\"note-s\">Die vollständige Antwort und ihre Header, jede tatsächliche Ausgabe, die ursprünglich zurückgegebenen Kennungen und alle Nutzungsfelder aufbewahren. Den ursprünglichen Vorgang wiederaufnehmen, ohne die Erstellung erneut anzufordern.</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\">Bewahren Sie die tatsächliche X-Client-Request-ID und die vollständige Antwort auf. Lesen Sie die ursprünglichen, Ihnen zugeordneten Assets und deren exakte signierte Inhalts-URLs; übermitteln Sie eine Erstellung mit unklarem Ergebnis niemals erneut.</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></tr></thead><tbody><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></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>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Der JSON-Inhalt oder die explizite kanonische Modell-ID ist ungültig.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Bewahren Sie die Antwort auf und korrigieren Sie das angegebene Anfragefeld.</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 Ailoot API-Schlüssel ist ungültig.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Verwenden Sie Ihren autorisierten Ailoot API-Schlüssel.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>403 · <code>permission_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Die Schlüsselgruppe lässt diese Methode nicht zu.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Bewahren Sie die zurückgegebenen Fehlerdetails auf.</td></tr><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>Für die ausgewählte Methode ist keine Route zugelassen.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Bewahren Sie die zurückgegebenen Fehlerdetails auf.</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>Der akzeptierte Tarif kann seine erforderliche Eingabemenge oder Obergrenze nicht ermitteln.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Bewahren Sie die Antwort auf; verwenden Sie die vom akzeptierten Tarif erforderte Eingabedarstellung.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>503 · <code></code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Erforderlicher Speicher, Route, Methodenpreis oder Reservierung ist nicht verfügbar.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Bewahren Sie die vollständige ursprüngliche Antwort auf. Eine unklare Reservierung berechtigt nicht zur erneuten Übermittlung.</td></tr><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>502 · <code>server_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Das ursprüngliche Ergebnis, der Verbrauch oder die Abrechnung muss geprüft werden.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Bewahren Sie die tatsächliche Anfrage-ID und die ursprüngliche Antwort auf. Lesen Sie den bestehenden, Ihnen zugeordneten Datensatz; übermitteln Sie die Erstellung nicht erneut.</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=assemblyai%2Funiversal-3-5-pro&amp;route=Ultra&amp;caller=assemblyai%2Funiversal-3-5-pro&amp;fmt=transcriptions\"><code>assemblyai/universal-3-5-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=assemblyai%2Funiversal-3-5-pro&amp;route=Ultra&amp;caller=assemblyai%2Funiversal-3-5-pro&amp;fmt=transcriptions\"><code>assemblyai/universal-3-5-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "assemblyai/universal-3-5-pro",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|assemblyai%2Funiversal-3-5-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Der JSON-Inhalt oder die explizite kanonische Modell-ID ist ungültig.",
                "http_status": 400,
                "recovery": "Bewahren Sie die Antwort auf und korrigieren Sie das angegebene Anfragefeld.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Der Ailoot API-Schlüssel ist ungültig.",
                "http_status": 401,
                "recovery": "Verwenden Sie Ihren autorisierten Ailoot API-Schlüssel.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Die Schlüsselgruppe lässt diese Methode nicht zu.",
                "http_status": 403,
                "recovery": "Bewahren Sie die zurückgegebenen Fehlerdetails auf.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Für die ausgewählte Methode ist keine Route zugelassen.",
                "http_status": 404,
                "recovery": "Bewahren Sie die zurückgegebenen Fehlerdetails auf.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Der akzeptierte Tarif kann seine erforderliche Eingabemenge oder Obergrenze nicht ermitteln.",
                "http_status": 422,
                "recovery": "Bewahren Sie die Antwort auf; verwenden Sie die vom akzeptierten Tarif erforderte Eingabedarstellung.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Erforderlicher Speicher, Route, Methodenpreis oder Reservierung ist nicht verfügbar.",
                "http_status": 503,
                "recovery": "Bewahren Sie die vollständige ursprüngliche Antwort auf. Eine unklare Reservierung berechtigt nicht zur erneuten Übermittlung.",
                "type": null
              },
              {
                "code": null,
                "condition": "Das ursprüngliche Ergebnis, der Verbrauch oder die Abrechnung muss geprüft werden.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Bewahren Sie die tatsächliche Anfrage-ID und die ursprüngliche Antwort auf. Lesen Sie den bestehenden, Ihnen zugeordneten Datensatz; übermitteln Sie die Erstellung nicht erneut.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Bewahren Sie die tatsächliche X-Client-Request-ID und die vollständige Antwort auf. Lesen Sie die ursprünglichen, Ihnen zugeordneten Assets und deren exakte signierte Inhalts-URLs; übermitteln Sie eine Erstellung mit unklarem Ergebnis niemals erneut."
            },
            "outputs": {
              "all_results": "Die vollständige Antwort und ihre Header, jede tatsächliche Ausgabe, die ursprünglich zurückgegebenen Kennungen und alle Nutzungsfelder aufbewahren. Den ursprünglichen Vorgang wiederaufnehmen, ohne die Erstellung erneut anzufordern.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Vollständiger ursprünglicher Antwortinhalt, Status und weitergeleitete Header. Dieser Handler fügt weder ein allgemeingültiges JSON-Format noch ein Textfeld oder eine äußere Aufgabenstruktur hinzu."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "assemblyai/universal-3-5-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "assemblyai/universal-3-5-pro"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "assemblyai/universal-3-5-pro"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Das Beispiel liest Ihre tatsächliche, nicht leere PCM-WAV-Datei, kodiert die vollständigen Dateibytes als base64 und übermittelt input_audio.format als wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "exakte task_id aus einem bestehenden, Ihnen zugeordneten Mediendatensatz",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00025",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00025",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'assemblyai/universal-3-5-pro', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transkription",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.00025
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00025",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00025",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00025",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00025",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "assemblyai/universal-3-5-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "3e9403c93988e5df5880f3606c311b7083d715c261a9a60596b403e3630ae209",
    "input_html_sha256": "b8d3ad9e832998ae683707dfabe7f2ec0a839cf8169741f716027787c01439b0",
    "private_audit_sha256": "1d269bd26780ff78e2b75912849806d9e42851f161541321852e53a493fbe818",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/de-at/assemblyai-universal-3-5-pro/",
    "description": "Universal-3.5 Pro ist das Speech-to-Text-Modell von AssemblyAI, das einen kurzen Audioclip mit einer einzigen Antwort in ein vollständiges Transkript umwandelt. Sein Sync-Profil ergänzt Konfidenzwerte pro Wort, optionale Wortzeitstempel, Vokabularhinweise und bisherigen Gesprächskontext für Spracheingaben und Push-to-Talk-Abläufe.",
    "locale": "de-at",
    "md_url": "https://ailoot.ai/models/de-at/assemblyai-universal-3-5-pro/index.md",
    "title": "AssemblyAI: Universal-3.5 Pro — Ailoot",
    "url": "https://ailoot.ai/models/de-at/assemblyai-universal-3-5-pro/"
  },
  "rawModel": {
    "about": "Universal-3.5 Pro ist das Spracherkennungsmodell von AssemblyAI zur Umwandlung aufgezeichneter Sprache in Text. Im Sync-Profil ergibt ein kurzer Audioclip mit einer einzigen Antwort ein vollständiges Transkript. Das eignet sich für Sprachnachrichten, Push-to-Talk-Eingaben und einzelne Gesprächsbeiträge, bei denen die Anwendung bereits weiß, wann die Aufnahme enden soll.\n\nBereiten Sie die Audiodaten als begrenzten Clip vor. Die Sync-Anforderungen von AssemblyAI akzeptieren eine Dauer von 80 Millisekunden bis 120 Sekunden bei einer maximalen Dateigröße von 40 MB. Unterstützt werden WAV oder rohe, vorzeichenbehaftete 16-Bit-PCM-Daten in Little-Endian-Reihenfolge. Audio kann mono oder stereo sein; Stereo wird intern auf Mono heruntergemischt. Unterstützte Abtastraten sind 8, 16, 22,05, 24, 32, 44,1 und 48 kHz. Ein WAV-Header liefert Abtastrate und Kanalanzahl; bei rohem PCM müssen diese Werte separat in der Transkriptionskonfiguration angegeben werden.\n\nErfassen Sie die vollständige Äußerung und bewahren Sie Anfang und Ende der gesprochenen Passage. Eine sinnvolle Ausgangsaufgabe ist eine kurze Sprachnachricht an den Produktsupport mit einem Produktnamen, einer Bestellkennung und einem Anliegen. Bewahren Sie den Quellclip auf, damit sich das Transkript auf diese wichtigen Details prüfen lässt. Bereiten Sie bei einer längeren Aufnahme einen für Langformtranskription geeigneten Ablauf vor, statt die Dauergrenze für kurze Clips als Aussage zur gesamten Audiokapazität des Modells zu behandeln.\n\nDas Ergebnis enthält das vollständige Transkript, eine Wortliste mit Konfidenzwerten pro Wort und einen Gesamtkonfidenzwert zwischen null und eins. Es liefert außerdem die Dauer der eingereichten Audiodatei und eine Anfragekennung, sodass der Text seinem ursprünglichen Clip zugeordnet bleiben kann. Nutzen Sie die Wortkonfidenz, um Stellen zu finden, die durch Anhören überprüft werden sollten, insbesondere für die Anwendung wichtige Namen, Zahlen und Fachbegriffe.\n\nWortzeitstempel sind optional und standardmäßig deaktiviert. Werden sie angefordert, kann jedes zeitlich zugeordnete Wort seinen Beginn und sein Ende in Millisekunden relativ zum Clipanfang enthalten. Das Herstellerprofil lässt diese Werte weg, wenn ein Wort nicht zeitlich zugeordnet werden kann, statt eine ungefähre Zeit zu erfinden. Die Zeitstempelgenauigkeit ist bei englischsprachigem Audio am höchsten. Halten Sie fehlende Zeitangaben bei der Vorbereitung von Worthervorhebungen, einer durchsuchbaren Wellenform oder einer Untertitelzuordnung ausdrücklich fest und vergleichen Sie den Text mit der Aufnahme, bevor Sie ihn als fertige Untertitelspur verwenden.\n\nEin Kontextprompt beschreibt, worum es in der Aufnahme geht. Er kann ein Fachgebiet, ein Szenario oder konkrete, der Anwendung bereits bekannte Details nennen und darf höchstens 6.000 Zeichen lang sein. Beginnen Sie mit einer kurzen, zum Audio passenden Beschreibung, etwa einem Gespräch mit dem technischen Support über ein bestimmtes Gerät. Der Prompt liefert Erkennungskontext; er ist keine Aufforderung, die Nachricht der sprechenden Person in ein anderes Dokument umzuschreiben.\n\nEine eigene Schlüsselbegriffsliste lenkt die Erkennung auf bestimmtes Vokabular. Das Sync-Profil akzeptiert bis zu 100 Begriffe und insgesamt 8.000 Zeichen in dieser Liste. Verwenden Sie die genaue Schreibweise ungewöhnlicher Namen, Akronyme oder Produktbegriffe und lassen Sie gewöhnliche, zuverlässig erkannte Wörter aus. Große oder unnötige Begriffslisten können Überkorrekturen auslösen; beschränken Sie die Liste deshalb auf Wörter, die in der Aufnahme wichtig sind. Kontextbeschreibung und Vokabularliste können gemeinsam verwendet werden.\n\nAuch ein vorheriger Gesprächsverlauf kann helfen, eine kurze Antwort zu interpretieren. Stellen Sie frühere Äußerungen chronologisch von der ältesten bis zur jüngsten bereit; das aktuelle Audio bleibt dabei der zu transkribierende Beitrag. Das dokumentierte Kontextbudget beträgt 500 Beiträge oder insgesamt 16.000 Zeichen. Werden diese Grenzen oder der verfügbare Modellkontext überschritten, werden die ältesten Einträge zuerst entfernt. Das ist hilfreich, wenn eine kurze Antwort eine Kennung oder einen Verweis enthält, dessen Bedeutung aus der vorangehenden Frage stammt.\n\nDie Sprachauswahl lenkt die Erkennung auf eine oder mehrere erwartete Sprachen. Die aktuelle Sync-Schnittstelle akzeptiert 32 Sprachcodes und verwendet ohne Auswahl standardmäßig Englisch. Listen Sie bei Audio mit Sprachwechseln die erwarteten Sprachen auf. Ein eigener Kontextprompt ersetzt den verwalteten Standard und überschreibt die separate Steuerung per Sprachcode; nennen Sie die erwarteten Sprachen daher in diesem Prompt, wenn sowohl Sprach- als auch Szenariokontext benötigt werden. Bewahren Sie das Transkript in den tatsächlich gesprochenen Sprachen, statt Transkription als Übersetzungsanweisung zu behandeln.\n\nDas Modell kommt auch in anderen Transkriptionsabläufen von AssemblyAI vor; die Anforderungen für kurze Clips und die Ergebnisfelder des Sync-Profils gehören jedoch zu dieser konkreten Schnittstelle. Der Dictation-Ablauf des Herstellers ergänzt eine separate Textbereinigung; ein Transkript und eine umgeschriebene Nachricht sind unterschiedliche Ergebnisse. Bewahren Sie die erkannte Sprache auf, wenn ein späterer Bearbeitungs- oder Zusammenfassungsschritt eine bereinigte Fassung erzeugt, damit der ursprüngliche Wortlaut für Vergleiche verfügbar bleibt.\n\nNützliche Ergebnisse sind etwa eine transkribierte Sprachnachricht, ein vollständiger Gesprächsbeitrag für einen Assistenten, kurzer durchsuchbarer Audiotext oder eine Wortliste mit Zeitangaben für eine Prüfansicht. Prüfen Sie die entscheidenden Wörter anhand der Aufnahme, bewahren Sie fehlende zeitliche Zuordnungen und halten Sie den Clip mit dem zurückgegebenen Text verknüpft. Das Erkennungsergebnis liefert dem nächsten Anwendungsschritt eine quellenbezogene Transkription; das Beantworten des Anliegens oder Bearbeiten der Nachricht gehört zum umgebenden Ablauf.",
    "alias_of": null,
    "aliases": [],
    "author": "AssemblyAI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00025",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00025",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Die vollständigen Preisangaben zur Konfiguration finden Sie in den Details."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "assemblyai/universal-3-5-pro",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Der JSON-Inhalt oder die explizite kanonische Modell-ID ist ungültig.",
                "http_status": 400,
                "recovery": "Bewahren Sie die Antwort auf und korrigieren Sie das angegebene Anfragefeld.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Der Ailoot API-Schlüssel ist ungültig.",
                "http_status": 401,
                "recovery": "Verwenden Sie Ihren autorisierten Ailoot API-Schlüssel.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Die Schlüsselgruppe lässt diese Methode nicht zu.",
                "http_status": 403,
                "recovery": "Bewahren Sie die zurückgegebenen Fehlerdetails auf.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Für die ausgewählte Methode ist keine Route zugelassen.",
                "http_status": 404,
                "recovery": "Bewahren Sie die zurückgegebenen Fehlerdetails auf.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Der akzeptierte Tarif kann seine erforderliche Eingabemenge oder Obergrenze nicht ermitteln.",
                "http_status": 422,
                "recovery": "Bewahren Sie die Antwort auf; verwenden Sie die vom akzeptierten Tarif erforderte Eingabedarstellung.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Erforderlicher Speicher, Route, Methodenpreis oder Reservierung ist nicht verfügbar.",
                "http_status": 503,
                "recovery": "Bewahren Sie die vollständige ursprüngliche Antwort auf. Eine unklare Reservierung berechtigt nicht zur erneuten Übermittlung.",
                "type": null
              },
              {
                "code": null,
                "condition": "Das ursprüngliche Ergebnis, der Verbrauch oder die Abrechnung muss geprüft werden.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Bewahren Sie die tatsächliche Anfrage-ID und die ursprüngliche Antwort auf. Lesen Sie den bestehenden, Ihnen zugeordneten Datensatz; übermitteln Sie die Erstellung nicht erneut.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Bewahren Sie die tatsächliche X-Client-Request-ID und die vollständige Antwort auf. Lesen Sie die ursprünglichen, Ihnen zugeordneten Assets und deren exakte signierte Inhalts-URLs; übermitteln Sie eine Erstellung mit unklarem Ergebnis niemals erneut."
            },
            "outputs": {
              "all_results": "Die vollständige Antwort und ihre Header, jede tatsächliche Ausgabe, die ursprünglich zurückgegebenen Kennungen und alle Nutzungsfelder aufbewahren. Den ursprünglichen Vorgang wiederaufnehmen, ohne die Erstellung erneut anzufordern.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Vollständiger ursprünglicher Antwortinhalt, Status und weitergeleitete Header. Dieser Handler fügt weder ein allgemeingültiges JSON-Format noch ein Textfeld oder eine äußere Aufgabenstruktur hinzu."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "assemblyai/universal-3-5-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "assemblyai/universal-3-5-pro"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "assemblyai/universal-3-5-pro"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Das Beispiel liest Ihre tatsächliche, nicht leere PCM-WAV-Datei, kodiert die vollständigen Dateibytes als base64 und übermittelt input_audio.format als wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "exakte task_id aus einem bestehenden, Ihnen zugeordneten Mediendatensatz",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00025",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00025",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'assemblyai/universal-3-5-pro', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transkription",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.00025
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00025",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00025",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00025",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00025",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "assemblyai/universal-3-5-pro",
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "AssemblyAI: Universal-3.5 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Universal-3.5 Pro ist das Speech-to-Text-Modell von AssemblyAI, das einen kurzen Audioclip mit einer einzigen Antwort in ein vollständiges Transkript umwandelt. Sein Sync-Profil ergänzt Konfidenzwerte pro Wort, optionale Wortzeitstempel, Vokabularhinweise und bisherigen Gesprächskontext für Spracheingaben und Push-to-Talk-Abläufe."
  },
  "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": "Universal-3.5 Pro ist das Speech-to-Text-Modell von AssemblyAI, das einen kurzen Audioclip mit einer einzigen Antwort in ein vollständiges Transkript umwandelt. Sein Sync-Profil ergänzt Konfidenzwerte pro Wort, optionale Wortzeitstempel, Vokabularhinweise und bisherigen Gesprächskontext für Spracheingaben und Push-to-Talk-Abläufe.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d9efe1e27a3d84824db200147164d3781ac989d6f7eb6afabb43a5c39c27a0ad",
    "renderer_sha256": "4915581496a34d8a27d706c57a04aa12aa22b4b136560828b2e1b9b8437d1eb0"
  },
  "sourceRevision": "928c7dd109e5c475718e0033a7d101c0036a0eef35d5a49e4238d8b0b2b6c8ff"
}
