{
  "aboutHtml": "<p>Universal-3.5 Pro ist AssemblyAIs Spracherkennungsmodell für die Umwandlung aufgezeichneter Sprache in Text. Im Sync-Profil liefert ein kurzer Audioclip in einer einzigen Antwort ein vollständiges Transkript. Dies eignet sich für Sprachnachrichten, Push-to-Talk-Eingaben und einzelne Dialogbeiträge, bei denen die Anwendung bereits weiss, wann die Aufnahme enden soll.</p><p>Bereiten Sie die Audiodaten als zeitlich begrenzten Clip vor. AssemblyAIs Sync-Anforderungen akzeptieren eine Dauer von 80 Millisekunden bis 120 Sekunden bei einer maximalen Dateigrösse 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 Kanalzahl; bei rohem PCM müssen diese Werte separat in der Transkriptionskonfiguration angegeben werden.</p><p>Erfassen Sie die vollständige Äusserung und lassen Sie Anfang und Ende der gesprochenen Passage unverändert. Eine hilfreiche Ausgangsaufgabe ist eine kurze Sprachnachricht an den Produktsupport mit einem Produktnamen, einer Bestellkennung und einem Anliegen. Bewahren Sie den Quellclip auf, damit das Transkript auf diese wichtigen Details geprüft werden kann. Bereiten Sie für längere Aufnahmen einen für Langform-Transkription geeigneten Ablauf vor, statt das Zeitlimit für Kurzclips als Aussage über die Audiokapazität des gesamten 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 enthält ausserdem die Dauer des eingereichten Audios 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 geprüft werden sollten, insbesondere Namen, Zahlen und für die Anwendung wichtiges Fachvokabular.</p><p>Wortzeitstempel sind optional und standardmässig deaktiviert. Auf Anforderung kann jedes zeitlich zugeordnete Wort seinen Beginn und sein Ende in Millisekunden relativ zum Clipanfang enthalten. Das Herstellerprofil lässt diese Werte fehlen, wenn ein Wort nicht zeitlich zugeordnet werden kann, statt einen ungefähren Zeitpunkt zu erfinden. Die Zeitstempelgenauigkeit ist bei englischem Audio am besten. Halten Sie fehlende Zeitangaben ausdrücklich fest, wenn Sie Worthervorhebungen, eine durchsuchbare Wellenform oder Untertitelzuordnungen vorbereiten, 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 bestimmte der Anwendung bereits bekannte Details nennen und darf höchstens 6000 Zeichen lang sein. Beginnen Sie mit einer kurzen, zum Audio passenden Beschreibung, etwa einem technischen Supportgespräch über ein bestimmtes Gerät. Der Prompt liefert Erkennungskontext; er fordert nicht dazu auf, die Nachricht der sprechenden Person in ein anderes Dokument umzuschreiben.</p><p>Eine separate Liste von Schlüsselbegriffen lenkt die Erkennung auf bestimmtes Vokabular. Das Sync-Profil akzeptiert bis zu 100 Begriffe und insgesamt 8000 Zeichen in dieser Liste. Verwenden Sie genaue Schreibweisen für ungewöhnliche Namen, Akronyme oder Produktbegriffe und lassen Sie gewöhnliche, gut erkannte Wörter weg. Umfangreiche oder unnötige Begriffslisten können zu Überkorrekturen führen; konzentrieren Sie sich daher auf Wörter, die in der Aufnahme wichtig sind. Kontextbeschreibung und Vokabularliste können gemeinsam verwendet werden.</p><p>Auch der bisherige Dialog kann bei der Interpretation einer kurzen Antwort helfen. Stellen Sie frühere Äusserungen chronologisch von der ältesten zur neuesten bereit; das aktuelle Audio bleibt der zu transkribierende Beitrag. Das dokumentierte Kontextbudget beträgt 500 Beiträge oder insgesamt 16&#39;000 Zeichen. Überschreitet es diese Grenzen oder den verfügbaren Modellkontext, werden die ältesten Einträge zuerst entfernt. Dies ist hilfreich, wenn eine kurze Antwort eine Kennung oder einen Verweis enthält, deren Bedeutung aus der vorhergehenden Frage hervorgeht.</p><p>Die Sprachauswahl lenkt die Erkennung auf eine oder mehrere erwartete Sprachen. Die aktuelle Sync-Schnittstelle akzeptiert 32 Sprachcodes und verwendet standardmässig Englisch, wenn keine Auswahl angegeben wird. Listen Sie bei Audio mit Sprachwechseln die erwarteten Sprachen auf. Ein eigener Kontextprompt ersetzt den verwalteten Standard und übersteuert die separate Steuerung durch Sprachcodes. Nennen Sie deshalb die erwarteten Sprachen innerhalb dieses Prompts, 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 an Kurzclips und die Ergebnisfelder des Sync-Profils gehören jedoch zu dieser konkreten Schnittstelle. Der Dictation-Ablauf des Herstellers ergänzt eine separate Textbereinigungsphase; 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 die ursprüngliche Formulierung für Vergleiche verfügbar bleibt.</p><p>Nützliche Ergebnisse sind eine transkribierte Sprachnachricht, ein vollständiger Beitrag für einen Assistenten, kurzer durchsuchbarer Audiotext oder eine zeitlich zugeordnete Wortliste für eine Prüfoberfläche. Prüfen Sie die entscheidenden Wörter anhand der Aufnahme, bewahren Sie fehlende zeitliche Zuordnungen und halten Sie die Verbindung zwischen Clip und zurückgegebenem Text aufrecht. 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 AssemblyAIs Spracherkennungsmodell für die Umwandlung aufgezeichneter Sprache in Text. Im Sync-Profil liefert ein kurzer Audioclip in einer einzigen Antwort ein vollständiges Transkript. Dies eignet sich für Sprachnachrichten, Push-to-Talk-Eingaben und einzelne Dialogbeiträge, bei denen die Anwendung bereits weiss, wann die Aufnahme enden soll.\n\nBereiten Sie die Audiodaten als zeitlich begrenzten Clip vor. AssemblyAIs Sync-Anforderungen akzeptieren eine Dauer von 80 Millisekunden bis 120 Sekunden bei einer maximalen Dateigrösse 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 Kanalzahl; bei rohem PCM müssen diese Werte separat in der Transkriptionskonfiguration angegeben werden.\n\nErfassen Sie die vollständige Äusserung und lassen Sie Anfang und Ende der gesprochenen Passage unverändert. Eine hilfreiche Ausgangsaufgabe ist eine kurze Sprachnachricht an den Produktsupport mit einem Produktnamen, einer Bestellkennung und einem Anliegen. Bewahren Sie den Quellclip auf, damit das Transkript auf diese wichtigen Details geprüft werden kann. Bereiten Sie für längere Aufnahmen einen für Langform-Transkription geeigneten Ablauf vor, statt das Zeitlimit für Kurzclips als Aussage über die Audiokapazität des gesamten 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 enthält ausserdem die Dauer des eingereichten Audios 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 geprüft werden sollten, insbesondere Namen, Zahlen und für die Anwendung wichtiges Fachvokabular.\n\nWortzeitstempel sind optional und standardmässig deaktiviert. Auf Anforderung kann jedes zeitlich zugeordnete Wort seinen Beginn und sein Ende in Millisekunden relativ zum Clipanfang enthalten. Das Herstellerprofil lässt diese Werte fehlen, wenn ein Wort nicht zeitlich zugeordnet werden kann, statt einen ungefähren Zeitpunkt zu erfinden. Die Zeitstempelgenauigkeit ist bei englischem Audio am besten. Halten Sie fehlende Zeitangaben ausdrücklich fest, wenn Sie Worthervorhebungen, eine durchsuchbare Wellenform oder Untertitelzuordnungen vorbereiten, 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 bestimmte der Anwendung bereits bekannte Details nennen und darf höchstens 6000 Zeichen lang sein. Beginnen Sie mit einer kurzen, zum Audio passenden Beschreibung, etwa einem technischen Supportgespräch über ein bestimmtes Gerät. Der Prompt liefert Erkennungskontext; er fordert nicht dazu auf, die Nachricht der sprechenden Person in ein anderes Dokument umzuschreiben.\n\nEine separate Liste von Schlüsselbegriffen lenkt die Erkennung auf bestimmtes Vokabular. Das Sync-Profil akzeptiert bis zu 100 Begriffe und insgesamt 8000 Zeichen in dieser Liste. Verwenden Sie genaue Schreibweisen für ungewöhnliche Namen, Akronyme oder Produktbegriffe und lassen Sie gewöhnliche, gut erkannte Wörter weg. Umfangreiche oder unnötige Begriffslisten können zu Überkorrekturen führen; konzentrieren Sie sich daher auf Wörter, die in der Aufnahme wichtig sind. Kontextbeschreibung und Vokabularliste können gemeinsam verwendet werden.\n\nAuch der bisherige Dialog kann bei der Interpretation einer kurzen Antwort helfen. Stellen Sie frühere Äusserungen chronologisch von der ältesten zur neuesten bereit; das aktuelle Audio bleibt der zu transkribierende Beitrag. Das dokumentierte Kontextbudget beträgt 500 Beiträge oder insgesamt 16'000 Zeichen. Überschreitet es diese Grenzen oder den verfügbaren Modellkontext, werden die ältesten Einträge zuerst entfernt. Dies ist hilfreich, wenn eine kurze Antwort eine Kennung oder einen Verweis enthält, deren Bedeutung aus der vorhergehenden Frage hervorgeht.\n\nDie Sprachauswahl lenkt die Erkennung auf eine oder mehrere erwartete Sprachen. Die aktuelle Sync-Schnittstelle akzeptiert 32 Sprachcodes und verwendet standardmässig Englisch, wenn keine Auswahl angegeben wird. Listen Sie bei Audio mit Sprachwechseln die erwarteten Sprachen auf. Ein eigener Kontextprompt ersetzt den verwalteten Standard und übersteuert die separate Steuerung durch Sprachcodes. Nennen Sie deshalb die erwarteten Sprachen innerhalb dieses Prompts, 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 an Kurzclips und die Ergebnisfelder des Sync-Profils gehören jedoch zu dieser konkreten Schnittstelle. Der Dictation-Ablauf des Herstellers ergänzt eine separate Textbereinigungsphase; 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 die ursprüngliche Formulierung für Vergleiche verfügbar bleibt.\n\nNützliche Ergebnisse sind eine transkribierte Sprachnachricht, ein vollständiger Beitrag für einen Assistenten, kurzer durchsuchbarer Audiotext oder eine zeitlich zugeordnete Wortliste für eine Prüfoberfläche. Prüfen Sie die entscheidenden Wörter anhand der Aufnahme, bewahren Sie fehlende zeitliche Zuordnungen und halten Sie die Verbindung zwischen Clip und zurückgegebenem Text aufrecht. 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": "4eec291e5ed89fc9014c9cd308682d48948003a2b2d0e697f4ecd1224bbabec0",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "de-ch",
  "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=\"Schliessen\">×</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\">Erkennung</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 AssemblyAIs Speech-to-Text-Modell, das einen kurzen Audioclip in einer einzigen Antwort in ein vollständiges Transkript umwandelt. Sein Sync-Profil ergänzt Konfidenzwerte pro Wort, optionale Wortzeitstempel, Vokabularhinweise und den bisherigen Dialogkontext 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 AssemblyAIs Spracherkennungsmodell für die Umwandlung aufgezeichneter Sprache in Text. Im Sync-Profil liefert ein kurzer Audioclip in einer einzigen Antwort ein vollständiges Transkript. Dies eignet sich für Sprachnachrichten, Push-to-Talk-Eingaben und einzelne Dialogbeiträge, bei denen die Anwendung bereits weiss, wann die Aufnahme enden soll.</p><p>Bereiten Sie die Audiodaten als zeitlich begrenzten Clip vor. AssemblyAIs Sync-Anforderungen akzeptieren eine Dauer von 80 Millisekunden bis 120 Sekunden bei einer maximalen Dateigrösse 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 Kanalzahl; bei rohem PCM müssen diese Werte separat in der Transkriptionskonfiguration angegeben werden.</p><p>Erfassen Sie die vollständige Äusserung und lassen Sie Anfang und Ende der gesprochenen Passage unverändert. Eine hilfreiche Ausgangsaufgabe ist eine kurze Sprachnachricht an den Produktsupport mit einem Produktnamen, einer Bestellkennung und einem Anliegen. Bewahren Sie den Quellclip auf, damit das Transkript auf diese wichtigen Details geprüft werden kann. Bereiten Sie für längere Aufnahmen einen für Langform-Transkription geeigneten Ablauf vor, statt das Zeitlimit für Kurzclips als Aussage über die Audiokapazität des gesamten 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 enthält ausserdem die Dauer des eingereichten Audios 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 geprüft werden sollten, insbesondere Namen, Zahlen und für die Anwendung wichtiges Fachvokabular.</p><p>Wortzeitstempel sind optional und standardmässig deaktiviert. Auf Anforderung kann jedes zeitlich zugeordnete Wort seinen Beginn und sein Ende in Millisekunden relativ zum Clipanfang enthalten. Das Herstellerprofil lässt diese Werte fehlen, wenn ein Wort nicht zeitlich zugeordnet werden kann, statt einen ungefähren Zeitpunkt zu erfinden. Die Zeitstempelgenauigkeit ist bei englischem Audio am besten. Halten Sie fehlende Zeitangaben ausdrücklich fest, wenn Sie Worthervorhebungen, eine durchsuchbare Wellenform oder Untertitelzuordnungen vorbereiten, 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 bestimmte der Anwendung bereits bekannte Details nennen und darf höchstens 6000 Zeichen lang sein. Beginnen Sie mit einer kurzen, zum Audio passenden Beschreibung, etwa einem technischen Supportgespräch über ein bestimmtes Gerät. Der Prompt liefert Erkennungskontext; er fordert nicht dazu auf, die Nachricht der sprechenden Person in ein anderes Dokument umzuschreiben.</p><p>Eine separate Liste von Schlüsselbegriffen lenkt die Erkennung auf bestimmtes Vokabular. Das Sync-Profil akzeptiert bis zu 100 Begriffe und insgesamt 8000 Zeichen in dieser Liste. Verwenden Sie genaue Schreibweisen für ungewöhnliche Namen, Akronyme oder Produktbegriffe und lassen Sie gewöhnliche, gut erkannte Wörter weg. Umfangreiche oder unnötige Begriffslisten können zu Überkorrekturen führen; konzentrieren Sie sich daher auf Wörter, die in der Aufnahme wichtig sind. Kontextbeschreibung und Vokabularliste können gemeinsam verwendet werden.</p><p>Auch der bisherige Dialog kann bei der Interpretation einer kurzen Antwort helfen. Stellen Sie frühere Äusserungen chronologisch von der ältesten zur neuesten bereit; das aktuelle Audio bleibt der zu transkribierende Beitrag. Das dokumentierte Kontextbudget beträgt 500 Beiträge oder insgesamt 16&#39;000 Zeichen. Überschreitet es diese Grenzen oder den verfügbaren Modellkontext, werden die ältesten Einträge zuerst entfernt. Dies ist hilfreich, wenn eine kurze Antwort eine Kennung oder einen Verweis enthält, deren Bedeutung aus der vorhergehenden Frage hervorgeht.</p><p>Die Sprachauswahl lenkt die Erkennung auf eine oder mehrere erwartete Sprachen. Die aktuelle Sync-Schnittstelle akzeptiert 32 Sprachcodes und verwendet standardmässig Englisch, wenn keine Auswahl angegeben wird. Listen Sie bei Audio mit Sprachwechseln die erwarteten Sprachen auf. Ein eigener Kontextprompt ersetzt den verwalteten Standard und übersteuert die separate Steuerung durch Sprachcodes. Nennen Sie deshalb die erwarteten Sprachen innerhalb dieses Prompts, 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 an Kurzclips und die Ergebnisfelder des Sync-Profils gehören jedoch zu dieser konkreten Schnittstelle. Der Dictation-Ablauf des Herstellers ergänzt eine separate Textbereinigungsphase; 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 die ursprüngliche Formulierung für Vergleiche verfügbar bleibt.</p><p>Nützliche Ergebnisse sind eine transkribierte Sprachnachricht, ein vollständiger Beitrag für einen Assistenten, kurzer durchsuchbarer Audiotext oder eine zeitlich zugeordnete Wortliste für eine Prüfoberfläche. Prüfen Sie die entscheidenden Wörter anhand der Aufnahme, bewahren Sie fehlende zeitliche Zuordnungen und halten Sie die Verbindung zwischen Clip und zurückgegebenem Text aufrecht. 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, codiert sämtliche Dateibytes als base64 und sendet 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 Medieneintrag</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>Token-Basistarife</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 · Cache schreiben</span> <b>—</b> <span class=\"price-unit\">/ 1K Tokens</span></div><div><span>Eingabe · 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>Audioeingabe-Sekunde</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 · Audioeingabe-Sekunde</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 abschliessenden Verbrauchsdatensatzes. <a href=\"/docs/de-ch/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 eine allgemeingültige JSON-Struktur noch ein Textfeld oder eine Aufgabenhülle 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 ihre exakten signierten Inhalts-URLs; reichen Sie eine Erstellung mit unklarem Ausgang niemals erneut ein.</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-Anfragetext 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 API-Schlüssel von Ailoot ist ungültig.</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Verwenden Sie Ihren autorisierten API-Schlüssel von Ailoot.</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 gibt es keine zugelassene Route.</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>Für den akzeptierten Tarif lässt sich die erforderliche Eingabemenge oder deren Grenze 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 verlangte 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 Reservierung mit unklarem Zustand ist keine Erlaubnis zum erneuten Einreichen.</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 Eintrag; reichen Sie die Erstellung nicht erneut ein.</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-Anfragetext 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 API-Schlüssel von Ailoot ist ungültig.",
                "http_status": 401,
                "recovery": "Verwenden Sie Ihren autorisierten API-Schlüssel von Ailoot.",
                "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 gibt es keine zugelassene Route.",
                "http_status": 404,
                "recovery": "Bewahren Sie die zurückgegebenen Fehlerdetails auf.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Für den akzeptierten Tarif lässt sich die erforderliche Eingabemenge oder deren Grenze nicht ermitteln.",
                "http_status": 422,
                "recovery": "Bewahren Sie die Antwort auf; verwenden Sie die vom akzeptierten Tarif verlangte 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 Reservierung mit unklarem Zustand ist keine Erlaubnis zum erneuten Einreichen.",
                "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 Eintrag; reichen Sie die Erstellung nicht erneut ein.",
                "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 ihre exakten signierten Inhalts-URLs; reichen Sie eine Erstellung mit unklarem Ausgang niemals erneut ein."
            },
            "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 eine allgemeingültige JSON-Struktur noch ein Textfeld oder eine Aufgabenhülle 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, codiert sämtliche Dateibytes als base64 und sendet 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 Medieneintrag",
                "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": "885b50221541b9033db063f2fd634ac9271d49129948aafec58d803daaed0274",
    "input_html_sha256": "2bb0de9b5ccdd1be7388efabb4e1a4c77f3134cbf0fb28e3bcae44c7925d46cd",
    "private_audit_sha256": "c5416e5b2cbf8e5289b89b6339a9b09b6b63189337d13848f92bb45a5d3b9f91",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/de-ch/assemblyai-universal-3-5-pro/",
    "description": "Universal-3.5 Pro ist AssemblyAIs Speech-to-Text-Modell, das einen kurzen Audioclip in einer einzigen Antwort in ein vollständiges Transkript umwandelt. Sein Sync-Profil ergänzt Konfidenzwerte pro Wort, optionale Wortzeitstempel, Vokabularhinweise und den bisherigen Dialogkontext für Spracheingaben und Push-to-Talk-Abläufe.",
    "locale": "de-ch",
    "md_url": "https://ailoot.ai/models/de-ch/assemblyai-universal-3-5-pro/index.md",
    "title": "AssemblyAI: Universal-3.5 Pro — Ailoot",
    "url": "https://ailoot.ai/models/de-ch/assemblyai-universal-3-5-pro/"
  },
  "rawModel": {
    "about": "Universal-3.5 Pro ist AssemblyAIs Spracherkennungsmodell für die Umwandlung aufgezeichneter Sprache in Text. Im Sync-Profil liefert ein kurzer Audioclip in einer einzigen Antwort ein vollständiges Transkript. Dies eignet sich für Sprachnachrichten, Push-to-Talk-Eingaben und einzelne Dialogbeiträge, bei denen die Anwendung bereits weiss, wann die Aufnahme enden soll.\n\nBereiten Sie die Audiodaten als zeitlich begrenzten Clip vor. AssemblyAIs Sync-Anforderungen akzeptieren eine Dauer von 80 Millisekunden bis 120 Sekunden bei einer maximalen Dateigrösse 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 Kanalzahl; bei rohem PCM müssen diese Werte separat in der Transkriptionskonfiguration angegeben werden.\n\nErfassen Sie die vollständige Äusserung und lassen Sie Anfang und Ende der gesprochenen Passage unverändert. Eine hilfreiche Ausgangsaufgabe ist eine kurze Sprachnachricht an den Produktsupport mit einem Produktnamen, einer Bestellkennung und einem Anliegen. Bewahren Sie den Quellclip auf, damit das Transkript auf diese wichtigen Details geprüft werden kann. Bereiten Sie für längere Aufnahmen einen für Langform-Transkription geeigneten Ablauf vor, statt das Zeitlimit für Kurzclips als Aussage über die Audiokapazität des gesamten 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 enthält ausserdem die Dauer des eingereichten Audios 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 geprüft werden sollten, insbesondere Namen, Zahlen und für die Anwendung wichtiges Fachvokabular.\n\nWortzeitstempel sind optional und standardmässig deaktiviert. Auf Anforderung kann jedes zeitlich zugeordnete Wort seinen Beginn und sein Ende in Millisekunden relativ zum Clipanfang enthalten. Das Herstellerprofil lässt diese Werte fehlen, wenn ein Wort nicht zeitlich zugeordnet werden kann, statt einen ungefähren Zeitpunkt zu erfinden. Die Zeitstempelgenauigkeit ist bei englischem Audio am besten. Halten Sie fehlende Zeitangaben ausdrücklich fest, wenn Sie Worthervorhebungen, eine durchsuchbare Wellenform oder Untertitelzuordnungen vorbereiten, 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 bestimmte der Anwendung bereits bekannte Details nennen und darf höchstens 6000 Zeichen lang sein. Beginnen Sie mit einer kurzen, zum Audio passenden Beschreibung, etwa einem technischen Supportgespräch über ein bestimmtes Gerät. Der Prompt liefert Erkennungskontext; er fordert nicht dazu auf, die Nachricht der sprechenden Person in ein anderes Dokument umzuschreiben.\n\nEine separate Liste von Schlüsselbegriffen lenkt die Erkennung auf bestimmtes Vokabular. Das Sync-Profil akzeptiert bis zu 100 Begriffe und insgesamt 8000 Zeichen in dieser Liste. Verwenden Sie genaue Schreibweisen für ungewöhnliche Namen, Akronyme oder Produktbegriffe und lassen Sie gewöhnliche, gut erkannte Wörter weg. Umfangreiche oder unnötige Begriffslisten können zu Überkorrekturen führen; konzentrieren Sie sich daher auf Wörter, die in der Aufnahme wichtig sind. Kontextbeschreibung und Vokabularliste können gemeinsam verwendet werden.\n\nAuch der bisherige Dialog kann bei der Interpretation einer kurzen Antwort helfen. Stellen Sie frühere Äusserungen chronologisch von der ältesten zur neuesten bereit; das aktuelle Audio bleibt der zu transkribierende Beitrag. Das dokumentierte Kontextbudget beträgt 500 Beiträge oder insgesamt 16'000 Zeichen. Überschreitet es diese Grenzen oder den verfügbaren Modellkontext, werden die ältesten Einträge zuerst entfernt. Dies ist hilfreich, wenn eine kurze Antwort eine Kennung oder einen Verweis enthält, deren Bedeutung aus der vorhergehenden Frage hervorgeht.\n\nDie Sprachauswahl lenkt die Erkennung auf eine oder mehrere erwartete Sprachen. Die aktuelle Sync-Schnittstelle akzeptiert 32 Sprachcodes und verwendet standardmässig Englisch, wenn keine Auswahl angegeben wird. Listen Sie bei Audio mit Sprachwechseln die erwarteten Sprachen auf. Ein eigener Kontextprompt ersetzt den verwalteten Standard und übersteuert die separate Steuerung durch Sprachcodes. Nennen Sie deshalb die erwarteten Sprachen innerhalb dieses Prompts, 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 an Kurzclips und die Ergebnisfelder des Sync-Profils gehören jedoch zu dieser konkreten Schnittstelle. Der Dictation-Ablauf des Herstellers ergänzt eine separate Textbereinigungsphase; 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 die ursprüngliche Formulierung für Vergleiche verfügbar bleibt.\n\nNützliche Ergebnisse sind eine transkribierte Sprachnachricht, ein vollständiger Beitrag für einen Assistenten, kurzer durchsuchbarer Audiotext oder eine zeitlich zugeordnete Wortliste für eine Prüfoberfläche. Prüfen Sie die entscheidenden Wörter anhand der Aufnahme, bewahren Sie fehlende zeitliche Zuordnungen und halten Sie die Verbindung zwischen Clip und zurückgegebenem Text aufrecht. 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-Anfragetext 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 API-Schlüssel von Ailoot ist ungültig.",
                "http_status": 401,
                "recovery": "Verwenden Sie Ihren autorisierten API-Schlüssel von Ailoot.",
                "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 gibt es keine zugelassene Route.",
                "http_status": 404,
                "recovery": "Bewahren Sie die zurückgegebenen Fehlerdetails auf.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Für den akzeptierten Tarif lässt sich die erforderliche Eingabemenge oder deren Grenze nicht ermitteln.",
                "http_status": 422,
                "recovery": "Bewahren Sie die Antwort auf; verwenden Sie die vom akzeptierten Tarif verlangte 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 Reservierung mit unklarem Zustand ist keine Erlaubnis zum erneuten Einreichen.",
                "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 Eintrag; reichen Sie die Erstellung nicht erneut ein.",
                "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 ihre exakten signierten Inhalts-URLs; reichen Sie eine Erstellung mit unklarem Ausgang niemals erneut ein."
            },
            "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 eine allgemeingültige JSON-Struktur noch ein Textfeld oder eine Aufgabenhülle 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, codiert sämtliche Dateibytes als base64 und sendet 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 Medieneintrag",
                "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 AssemblyAIs Speech-to-Text-Modell, das einen kurzen Audioclip in einer einzigen Antwort in ein vollständiges Transkript umwandelt. Sein Sync-Profil ergänzt Konfidenzwerte pro Wort, optionale Wortzeitstempel, Vokabularhinweise und den bisherigen Dialogkontext 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 AssemblyAIs Speech-to-Text-Modell, das einen kurzen Audioclip in einer einzigen Antwort in ein vollständiges Transkript umwandelt. Sein Sync-Profil ergänzt Konfidenzwerte pro Wort, optionale Wortzeitstempel, Vokabularhinweise und den bisherigen Dialogkontext für Spracheingaben und Push-to-Talk-Abläufe.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "5c725c29865303c2dc94f1588d9b284a3ba1d05e51ed1ed455bfc1ae1e10d123",
    "renderer_sha256": "76caa42c097db2ddc47d1e1e6fe7ca45c8363d7211296daf28e4352971e6c0c8"
  },
  "sourceRevision": "afbf2412f8e68b6165673962b14ddf27a73d03fdc58ffa3163271a7005665aba"
}
