{
  "aboutHtml": "<p>Google Chirp 3 è un modello multilingue di riconoscimento vocale automatico che converte audio parlato in testo. Google lo documenta come modello di trascrizione Chirp 3 nella famiglia Speech-to-Text V2, con identificativo del modello chirp_3. Il suo scopo è riconoscere parlato registrato o in streaming, con rilevamento della lingua e funzionalità specifiche per la trascrizione. L&#39;artefatto risultante è una trascrizione e i metadati supportati dal metodo di riconoscimento selezionato, anziché parlato generato o una risposta aperta di un assistente.</p><p>Il produttore distingue riconoscimento in streaming, riconoscimento sincrono per clip brevi e riconoscimento batch per registrazioni più lunghe. Scegli la modalità in base all&#39;audio sorgente e al risultato richiesto. Per una breve nota vocale, può bastare una risposta testuale completa. Per un&#39;intervista o una chiamata registrata, può essere più utile un risultato batch con informazioni sui parlanti. Per sottotitoli in diretta o un&#39;interfaccia di comandi vocali, mantieni distinto il testo intermedio dal risultato finale di riconoscimento e conserva l&#39;intervallo audio che descrive.</p><p>Prepara l&#39;audio nella codifica attesa dall&#39;implementazione del riconoscimento. Gli esempi Chirp 3 di Google usano decodifica rilevata automaticamente per file registrati e decodifica esplicita per una configurazione di streaming raw. Il riferimento associato del decoder V2 elenca WAV PCM o audio companded, FLAC, MP3, Ogg/WebM Opus e AAC in contenitori MP4, M4A o MOV, tra le codifiche supportate. Il nome di un contenitore non sostituisce il codec effettivo e la configurazione di campionamento. Conserva un parlato chiaro ed evita clipping grave o conversioni inutili che perdono dettagli udibili.</p><p>Chirp 3 può identificare e trascrivere automaticamente la lingua dominante, e un insieme di impostazioni locali previste può restringerne le scelte di riconoscimento. La disponibilità delle lingue differisce per metodo e funzionalità. L&#39;elenco delle lingue di trascrizione è più ampio di quello della diarizzazione, quindi il riconoscimento di una lingua non dimostra che ogni funzionalità relativa a parlanti o tempi le si applichi. Usa l&#39;impostazione locale corrispondente alla registrazione e conserva nomi con alternanza di lingue o termini specialistici per la verifica. L&#39;etichetta della lingua rilevata fa parte del risultato, non è prova che tutte le parole insolite siano state riconosciute correttamente.</p><p>La diarizzazione dei parlanti raggruppa il parlato per voce in una registrazione a canale singolo. Google fornisce un esempio di trascrizione batch con informazioni sul parlante per parola. Per un&#39;intervista, conserva queste etichette con il testo riconosciuto e confronta i cambi di parlante con la registrazione prima di associare nomi o ruoli reali. Voci simili, interruzioni e parlato sovrapposto possono rendere difficile l&#39;attribuzione. Mantieni chiari la disposizione dei canali della fonte e il compito previsto di verifica dei parlanti, anziché trattare un&#39;etichetta come un&#39;identità verificata indipendentemente.</p><p>Anche i tempi sono specifici del metodo. Il riconoscimento in streaming fornisce timestamp a livello di enunciato, mentre le indicazioni del produttore sul riconoscimento dei file descrivono tempi delle parole facoltativi con un possibile compromesso sulla qualità di trascrizione. Conserva i metadati effettivamente restituiti dal metodo scelto e controlla l&#39;allineamento insieme alle parole. Un flusso per sottotitoli necessita di entrambi: testo riconosciuto leggibile e prove che un confine temporale corrisponda al suono giusto. Google avverte inoltre che il valore di confidenza restituito a livello di parola non è un vero punteggio di confidenza, quindi non dovrebbe essere usato per certificare la correttezza di una parola.</p><p>L&#39;adattamento vocale fornisce frasi e nomi propri che probabilmente ricorrono nella registrazione. Il produttore documenta un dizionario fino a 1,000 frasi e consiglia il minor numero possibile di voci pertinenti per evitare di peggiorare il riconoscimento di altri termini. Per una presentazione tecnica, prepara un breve elenco di nomi di prodotto e abbreviazioni effettivi, poi esaminali nella trascrizione. Il biasing aiuta il riconoscimento a considerare un termine; non dimostra che il termine sia stato pronunciato né sostituisce un controllo rispetto all&#39;audio.</p><p>Il modello offre punteggiatura e maiuscole automatiche, disabilitabili tramite l&#39;interfaccia documentata. Google descrive inoltre una funzionalità in anteprima per istruzioni personalizzate sul formato della trascrizione, come la grafia di un nome o di una data particolari. Mantieni tali istruzioni focalizzate sulla formattazione del parlato riconosciuto. Una trascrizione che normalizza una data o scrive un marchio con le maiuscole deve comunque conservare il significato parlato. Un riepilogo, una traduzione o un&#39;analisi fattuale sono impieghi successivi della trascrizione, anziché qualcosa dimostrato dal risultato del riconoscimento stesso.</p><p>Il denoiser integrato serve a ridurre musica di sottofondo e suoni ambientali, come pioggia o rumore stradale. Google dichiara esplicitamente che non può rimuovere voci umane di sottofondo. Conserva questa distinzione quando prepari una registrazione con conversazioni sovrapposte. Esamina le sezioni rumorose e silenziose rispetto alla fonte, anziché presumere che una trascrizione dall&#39;aspetto più pulito dimostri la rimozione del suono interferente. Un risultato utile mantiene identificabili i brani incerti per la correzione.</p><p>Per i compiti in streaming, la sensibilità di endpointing modifica il momento in cui un enunciato viene considerato concluso. Il produttore descrive impostazioni standard, short e supershort per parlato atteso progressivamente più breve. Un&#39;impostazione più rapida può interrompere un parlante che fa una pausa a metà pensiero. Abbina l&#39;impostazione a dettatura naturale, frase breve o comando molto breve e conserva lo stato di risultato finale insieme alla trascrizione. Per un file completato, controlla nomi, quantità, negazioni e confini tra parlanti, poi conserva la modalità scelta e l&#39;audio sorgente, affinché il risultato possa essere verificato o riutilizzato.</p>",
  "aboutText": "Google Chirp 3 è un modello multilingue di riconoscimento vocale automatico che converte audio parlato in testo. Google lo documenta come modello di trascrizione Chirp 3 nella famiglia Speech-to-Text V2, con identificativo del modello chirp_3. Il suo scopo è riconoscere parlato registrato o in streaming, con rilevamento della lingua e funzionalità specifiche per la trascrizione. L'artefatto risultante è una trascrizione e i metadati supportati dal metodo di riconoscimento selezionato, anziché parlato generato o una risposta aperta di un assistente.\n\nIl produttore distingue riconoscimento in streaming, riconoscimento sincrono per clip brevi e riconoscimento batch per registrazioni più lunghe. Scegli la modalità in base all'audio sorgente e al risultato richiesto. Per una breve nota vocale, può bastare una risposta testuale completa. Per un'intervista o una chiamata registrata, può essere più utile un risultato batch con informazioni sui parlanti. Per sottotitoli in diretta o un'interfaccia di comandi vocali, mantieni distinto il testo intermedio dal risultato finale di riconoscimento e conserva l'intervallo audio che descrive.\n\nPrepara l'audio nella codifica attesa dall'implementazione del riconoscimento. Gli esempi Chirp 3 di Google usano decodifica rilevata automaticamente per file registrati e decodifica esplicita per una configurazione di streaming raw. Il riferimento associato del decoder V2 elenca WAV PCM o audio companded, FLAC, MP3, Ogg/WebM Opus e AAC in contenitori MP4, M4A o MOV, tra le codifiche supportate. Il nome di un contenitore non sostituisce il codec effettivo e la configurazione di campionamento. Conserva un parlato chiaro ed evita clipping grave o conversioni inutili che perdono dettagli udibili.\n\nChirp 3 può identificare e trascrivere automaticamente la lingua dominante, e un insieme di impostazioni locali previste può restringerne le scelte di riconoscimento. La disponibilità delle lingue differisce per metodo e funzionalità. L'elenco delle lingue di trascrizione è più ampio di quello della diarizzazione, quindi il riconoscimento di una lingua non dimostra che ogni funzionalità relativa a parlanti o tempi le si applichi. Usa l'impostazione locale corrispondente alla registrazione e conserva nomi con alternanza di lingue o termini specialistici per la verifica. L'etichetta della lingua rilevata fa parte del risultato, non è prova che tutte le parole insolite siano state riconosciute correttamente.\n\nLa diarizzazione dei parlanti raggruppa il parlato per voce in una registrazione a canale singolo. Google fornisce un esempio di trascrizione batch con informazioni sul parlante per parola. Per un'intervista, conserva queste etichette con il testo riconosciuto e confronta i cambi di parlante con la registrazione prima di associare nomi o ruoli reali. Voci simili, interruzioni e parlato sovrapposto possono rendere difficile l'attribuzione. Mantieni chiari la disposizione dei canali della fonte e il compito previsto di verifica dei parlanti, anziché trattare un'etichetta come un'identità verificata indipendentemente.\n\nAnche i tempi sono specifici del metodo. Il riconoscimento in streaming fornisce timestamp a livello di enunciato, mentre le indicazioni del produttore sul riconoscimento dei file descrivono tempi delle parole facoltativi con un possibile compromesso sulla qualità di trascrizione. Conserva i metadati effettivamente restituiti dal metodo scelto e controlla l'allineamento insieme alle parole. Un flusso per sottotitoli necessita di entrambi: testo riconosciuto leggibile e prove che un confine temporale corrisponda al suono giusto. Google avverte inoltre che il valore di confidenza restituito a livello di parola non è un vero punteggio di confidenza, quindi non dovrebbe essere usato per certificare la correttezza di una parola.\n\nL'adattamento vocale fornisce frasi e nomi propri che probabilmente ricorrono nella registrazione. Il produttore documenta un dizionario fino a 1,000 frasi e consiglia il minor numero possibile di voci pertinenti per evitare di peggiorare il riconoscimento di altri termini. Per una presentazione tecnica, prepara un breve elenco di nomi di prodotto e abbreviazioni effettivi, poi esaminali nella trascrizione. Il biasing aiuta il riconoscimento a considerare un termine; non dimostra che il termine sia stato pronunciato né sostituisce un controllo rispetto all'audio.\n\nIl modello offre punteggiatura e maiuscole automatiche, disabilitabili tramite l'interfaccia documentata. Google descrive inoltre una funzionalità in anteprima per istruzioni personalizzate sul formato della trascrizione, come la grafia di un nome o di una data particolari. Mantieni tali istruzioni focalizzate sulla formattazione del parlato riconosciuto. Una trascrizione che normalizza una data o scrive un marchio con le maiuscole deve comunque conservare il significato parlato. Un riepilogo, una traduzione o un'analisi fattuale sono impieghi successivi della trascrizione, anziché qualcosa dimostrato dal risultato del riconoscimento stesso.\n\nIl denoiser integrato serve a ridurre musica di sottofondo e suoni ambientali, come pioggia o rumore stradale. Google dichiara esplicitamente che non può rimuovere voci umane di sottofondo. Conserva questa distinzione quando prepari una registrazione con conversazioni sovrapposte. Esamina le sezioni rumorose e silenziose rispetto alla fonte, anziché presumere che una trascrizione dall'aspetto più pulito dimostri la rimozione del suono interferente. Un risultato utile mantiene identificabili i brani incerti per la correzione.\n\nPer i compiti in streaming, la sensibilità di endpointing modifica il momento in cui un enunciato viene considerato concluso. Il produttore descrive impostazioni standard, short e supershort per parlato atteso progressivamente più breve. Un'impostazione più rapida può interrompere un parlante che fa una pausa a metà pensiero. Abbina l'impostazione a dettatura naturale, frase breve o comando molto breve e conserva lo stato di risultato finale insieme alla trascrizione. Per un file completato, controlla nomi, quantità, negazioni e confini tra parlanti, poi conserva la modalità scelta e l'audio sorgente, affinché il risultato possa essere verificato o riutilizzato.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "bb659981251eec072cbd87474a1bd8b8a93728f2d1805dcf12baceae1260a9b7",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "it",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Chirp 3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Chiudi\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/chirp-3</code><button type=\"button\" id=\"copy-id\">Copia ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sezioni della scheda del modello\"><button type=\"button\" data-card-jump=\"overview\">Introduzione</button><button type=\"button\" data-card-jump=\"methods\">Input e metodi</button><button type=\"button\" data-card-jump=\"pricing\">Tariffe</button><button type=\"button\" data-card-jump=\"examples\">Esempi</button><button type=\"button\" data-card-jump=\"results\">Risultati</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metodi API\"><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|google%2Fchirp-3\">Riconoscimento</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\">Introduzione</h3><p class=\"mdesc-full\">Google Chirp 3 è un modello multilingue di riconoscimento vocale per streaming, registrazioni brevi e trascrizione batch di registrazioni più lunghe. Offre rilevamento automatico della lingua, punteggiatura, adattamento del vocabolario e metadati temporali o dei parlanti dipendenti dalla modalità. Il suo denoiser riduce il rumore di fondo ma non può rimuovere altre voci.</p><dl class=\"card-io\" data-card-io><div><dt>Input accettati</dt><dd>Audio</dd></div><div><dt>Risultati</dt><dd>Testo</dd></div></dl><details class=\"card-about\"><summary>Informazioni sul modello</summary><p class=\"note-s\" data-model-method-boundary>Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.</p><div class=\"mabout\" id=\"m-about\"><p>Google Chirp 3 è un modello multilingue di riconoscimento vocale automatico che converte audio parlato in testo. Google lo documenta come modello di trascrizione Chirp 3 nella famiglia Speech-to-Text V2, con identificativo del modello chirp_3. Il suo scopo è riconoscere parlato registrato o in streaming, con rilevamento della lingua e funzionalità specifiche per la trascrizione. L&#39;artefatto risultante è una trascrizione e i metadati supportati dal metodo di riconoscimento selezionato, anziché parlato generato o una risposta aperta di un assistente.</p><p>Il produttore distingue riconoscimento in streaming, riconoscimento sincrono per clip brevi e riconoscimento batch per registrazioni più lunghe. Scegli la modalità in base all&#39;audio sorgente e al risultato richiesto. Per una breve nota vocale, può bastare una risposta testuale completa. Per un&#39;intervista o una chiamata registrata, può essere più utile un risultato batch con informazioni sui parlanti. Per sottotitoli in diretta o un&#39;interfaccia di comandi vocali, mantieni distinto il testo intermedio dal risultato finale di riconoscimento e conserva l&#39;intervallo audio che descrive.</p><p>Prepara l&#39;audio nella codifica attesa dall&#39;implementazione del riconoscimento. Gli esempi Chirp 3 di Google usano decodifica rilevata automaticamente per file registrati e decodifica esplicita per una configurazione di streaming raw. Il riferimento associato del decoder V2 elenca WAV PCM o audio companded, FLAC, MP3, Ogg/WebM Opus e AAC in contenitori MP4, M4A o MOV, tra le codifiche supportate. Il nome di un contenitore non sostituisce il codec effettivo e la configurazione di campionamento. Conserva un parlato chiaro ed evita clipping grave o conversioni inutili che perdono dettagli udibili.</p><p>Chirp 3 può identificare e trascrivere automaticamente la lingua dominante, e un insieme di impostazioni locali previste può restringerne le scelte di riconoscimento. La disponibilità delle lingue differisce per metodo e funzionalità. L&#39;elenco delle lingue di trascrizione è più ampio di quello della diarizzazione, quindi il riconoscimento di una lingua non dimostra che ogni funzionalità relativa a parlanti o tempi le si applichi. Usa l&#39;impostazione locale corrispondente alla registrazione e conserva nomi con alternanza di lingue o termini specialistici per la verifica. L&#39;etichetta della lingua rilevata fa parte del risultato, non è prova che tutte le parole insolite siano state riconosciute correttamente.</p><p>La diarizzazione dei parlanti raggruppa il parlato per voce in una registrazione a canale singolo. Google fornisce un esempio di trascrizione batch con informazioni sul parlante per parola. Per un&#39;intervista, conserva queste etichette con il testo riconosciuto e confronta i cambi di parlante con la registrazione prima di associare nomi o ruoli reali. Voci simili, interruzioni e parlato sovrapposto possono rendere difficile l&#39;attribuzione. Mantieni chiari la disposizione dei canali della fonte e il compito previsto di verifica dei parlanti, anziché trattare un&#39;etichetta come un&#39;identità verificata indipendentemente.</p><p>Anche i tempi sono specifici del metodo. Il riconoscimento in streaming fornisce timestamp a livello di enunciato, mentre le indicazioni del produttore sul riconoscimento dei file descrivono tempi delle parole facoltativi con un possibile compromesso sulla qualità di trascrizione. Conserva i metadati effettivamente restituiti dal metodo scelto e controlla l&#39;allineamento insieme alle parole. Un flusso per sottotitoli necessita di entrambi: testo riconosciuto leggibile e prove che un confine temporale corrisponda al suono giusto. Google avverte inoltre che il valore di confidenza restituito a livello di parola non è un vero punteggio di confidenza, quindi non dovrebbe essere usato per certificare la correttezza di una parola.</p><p>L&#39;adattamento vocale fornisce frasi e nomi propri che probabilmente ricorrono nella registrazione. Il produttore documenta un dizionario fino a 1,000 frasi e consiglia il minor numero possibile di voci pertinenti per evitare di peggiorare il riconoscimento di altri termini. Per una presentazione tecnica, prepara un breve elenco di nomi di prodotto e abbreviazioni effettivi, poi esaminali nella trascrizione. Il biasing aiuta il riconoscimento a considerare un termine; non dimostra che il termine sia stato pronunciato né sostituisce un controllo rispetto all&#39;audio.</p><p>Il modello offre punteggiatura e maiuscole automatiche, disabilitabili tramite l&#39;interfaccia documentata. Google descrive inoltre una funzionalità in anteprima per istruzioni personalizzate sul formato della trascrizione, come la grafia di un nome o di una data particolari. Mantieni tali istruzioni focalizzate sulla formattazione del parlato riconosciuto. Una trascrizione che normalizza una data o scrive un marchio con le maiuscole deve comunque conservare il significato parlato. Un riepilogo, una traduzione o un&#39;analisi fattuale sono impieghi successivi della trascrizione, anziché qualcosa dimostrato dal risultato del riconoscimento stesso.</p><p>Il denoiser integrato serve a ridurre musica di sottofondo e suoni ambientali, come pioggia o rumore stradale. Google dichiara esplicitamente che non può rimuovere voci umane di sottofondo. Conserva questa distinzione quando prepari una registrazione con conversazioni sovrapposte. Esamina le sezioni rumorose e silenziose rispetto alla fonte, anziché presumere che una trascrizione dall&#39;aspetto più pulito dimostri la rimozione del suono interferente. Un risultato utile mantiene identificabili i brani incerti per la correzione.</p><p>Per i compiti in streaming, la sensibilità di endpointing modifica il momento in cui un enunciato viene considerato concluso. Il produttore descrive impostazioni standard, short e supershort per parlato atteso progressivamente più breve. Un&#39;impostazione più rapida può interrompere un parlante che fa una pausa a metà pensiero. Abbina l&#39;impostazione a dettatura naturale, frase breve o comando molto breve e conserva lo stato di risultato finale insieme alla trascrizione. Per un file completato, controlla nomi, quantità, negazioni e confini tra parlanti, poi conserva la modalità scelta e l&#39;audio sorgente, affinché il risultato possa essere verificato o riutilizzato.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponibile in Ailoot · input e metodi</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Trascrizione</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Tipi di input</dt><dd><code>audio</code></dd></div><div><dt>Tipi di output</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Campo</th><th>Tipo</th><th>Requisito</th><th>Valori e limiti</th><th>Predefinito</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obbligatorio</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span><div>google/chirp-3</div></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>object</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obbligatorio</td><td data-cell-label=\"Valori e limiti\"><span class=\"card-cell-label\">Valori e limiti</span></td><td data-cell-label=\"Predefinito\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinito</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parametri e ciclo di vita del metodo</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametro</th><th>Contratto</th></tr></thead><tbody><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>content_type</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>application/json</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>required</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>material_types</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>audio</td></tr><tr><th data-cell-label=\"Parametro\" scope=\"row\"><span class=\"card-cell-label\">Parametro</span><code>material_conditions</code></th><td data-cell-label=\"Contratto\"><span class=\"card-cell-label\">Contratto</span>L&#39;esempio legge il tuo file PCM WAV reale e non vuoto, codifica tutti i byte del file in base64 e invia input_audio.format con valore wav.</td></tr></tbody></table></div><p>Ciclo di vita: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · task_id esatto di un record multimediale esistente di tua proprietà</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\">Tariffe</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.</p><dl data-price-conditions><dt>Modalità rapida</dt><dd>Non specificato <span class=\"note-s\">Quando è selezionata la modalità rapida</span></dd><dt>Modalità flex</dt><dd>Non specificato <span class=\"note-s\">Quando è selezionata la modalità flex</span></dd><dt>Sforzo massimo di ragionamento</dt><dd>Non specificato <span class=\"note-s\">Quando lo sforzo massimo di ragionamento usa l&#39;adeguamento predefinito (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tariffe Ailoot</h4><h4>Prezzi per configurazione</h4><p class=\"note-s\">Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configurazione</th><th>Listino delle tariffe</th><th>Unità di fatturazione</th><th>Costo</th></tr></thead><tbody><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>Tariffe base dei token</th><td data-cell-label=\"Listino delle tariffe\"><span class=\"card-cell-label\">Listino delle tariffe</span>Tariffa base</td><td data-cell-label=\"Unità di fatturazione\"><span class=\"card-cell-label\">Unità di fatturazione</span>—</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Input · Token in input</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Output · Token in output</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Lettura dalla cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Scrittura nella cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Input · Scrittura nella cache, 1 ora</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Configurazione\" scope=\"row\"><span class=\"card-cell-label\">Configurazione</span>secondo audio in ingresso</th><td data-cell-label=\"Listino delle tariffe\"><span class=\"card-cell-label\">Listino delle tariffe</span>—</td><td data-cell-label=\"Unità di fatturazione\"><span class=\"card-cell-label\">Unità di fatturazione</span>per secondo di audio in input</td><td data-cell-label=\"Costo\"><span class=\"card-cell-label\">Costo</span><div><span>Input · secondo audio in ingresso</span> <b>$0.000533333333334</b> <span class=\"price-unit\">per secondo di audio in input</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. <a href=\"/docs/it/billing/reserve/\">Come funzionano la prenotazione e l’addebito finale →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Esempi di richieste</h3><h4>Ailoot Ultra · Trascrizione</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Varianti di codice\"><button class=\"cg-tab\" id=\"model-code-1435-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1435-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · file WAV effettivo e risultato originale completo</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copia il codice\"><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-1435-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1435-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;google/chirp-3&#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\">Ricevi e salva i risultati</h3><h4>Ailoot Ultra · Trascrizione</h4><p class=\"note-s\">Corpo completo della risposta originale, stato e intestazioni inoltrate. Questo gestore non aggiunge alcuna struttura JSON universale, campo di testo o struttura contenitore dell&#39;attività.</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>Conserva tutti i risultati completati</h5><p class=\"note-s\">Conserva ogni risposta, file e parte di contenuto restituiti per intero.</p><p class=\"note-s\">Conserva la risposta completa e gli header, ogni output effettivo, gli identificatori originali restituiti e tutti i campi di utilizzo. Recupera l&#39;operazione originale senza inviare nuovamente la richiesta di creazione.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Se occorre verificare la risposta originale</h5><p class=\"note-s\">Conserva l&#39;X-Client-Request-ID effettivo e la risposta completa. Consulta le risorse originali di tua proprietà e i relativi URL firmati esatti del contenuto; non inviare mai nuovamente una creazione dall&#39;esito incerto.</p></div><details class=\"card-about\" data-output-fields><summary>Campi della risposta</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Campo</th><th>Tipo</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span></td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Errori e passaggi successivi</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Risposta</th><th>Condizione</th><th>Passaggio successivo</th></tr></thead><tbody><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Il corpo JSON o l&#39;ID canonico esplicito del modello non è valido.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Conserva la risposta e correggi il campo della richiesta indicato.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>La chiave API Ailoot non è valida.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Usa la tua chiave API Ailoot autorizzata.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>403 · <code>permission_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Il gruppo della chiave non è autorizzato a utilizzare questo metodo.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Conserva i dettagli dell&#39;errore restituiti.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Il metodo selezionato non dispone di una rotta autorizzata all&#39;utilizzo.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Conserva i dettagli dell&#39;errore restituiti.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>La tariffa accettata non può ottenere la quantità in ingresso o il limite richiesto.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Conserva la risposta; usa la rappresentazione dell&#39;input richiesta dalla tariffa accettata.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>503 · <code></code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>L&#39;archiviazione richiesta, la rotta, il prezzo del metodo o la riserva dell&#39;importo non sono disponibili.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Conserva l&#39;intera risposta originale. Una riserva dell&#39;importo dall&#39;esito incerto non autorizza un nuovo invio.</td></tr><tr><th data-cell-label=\"Risposta\" scope=\"row\"><span class=\"card-cell-label\">Risposta</span>502 · <code>server_error</code></th><td data-cell-label=\"Condizione\"><span class=\"card-cell-label\">Condizione</span>Il risultato originale, i dati di utilizzo o il conguaglio dell&#39;addebito richiedono una verifica.</td><td data-cell-label=\"Passaggio successivo\"><span class=\"card-cell-label\">Passaggio successivo</span>Conserva l&#39;ID effettivo della richiesta e la risposta originale. Consulta il record esistente di tua proprietà; non inviare nuovamente la richiesta di creazione.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modello</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fchirp-3&amp;route=Ultra&amp;caller=google%2Fchirp-3&amp;fmt=transcriptions\"><code>google/chirp-3</code></a></span></p><h4>Alias dei percorsi dei metodi</h4><p class=\"note-s\">Usa i percorsi dei metodi indicati sopra.</p><h4>ID di chiamata correlati</h4><p class=\"note-s\"><a href=\"#m=google%2Fchirp-3&amp;route=Ultra&amp;caller=google%2Fchirp-3&amp;fmt=transcriptions\"><code>google/chirp-3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/chirp-3",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "google/chirp-3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|google%2Fchirp-3",
      "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": "Il corpo JSON o l'ID canonico esplicito del modello non è valido.",
                "http_status": 400,
                "recovery": "Conserva la risposta e correggi il campo della richiesta indicato.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "La chiave API Ailoot non è valida.",
                "http_status": 401,
                "recovery": "Usa la tua chiave API Ailoot autorizzata.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Il gruppo della chiave non è autorizzato a utilizzare questo metodo.",
                "http_status": 403,
                "recovery": "Conserva i dettagli dell'errore restituiti.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Il metodo selezionato non dispone di una rotta autorizzata all'utilizzo.",
                "http_status": 404,
                "recovery": "Conserva i dettagli dell'errore restituiti.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "La tariffa accettata non può ottenere la quantità in ingresso o il limite richiesto.",
                "http_status": 422,
                "recovery": "Conserva la risposta; usa la rappresentazione dell'input richiesta dalla tariffa accettata.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "L'archiviazione richiesta, la rotta, il prezzo del metodo o la riserva dell'importo non sono disponibili.",
                "http_status": 503,
                "recovery": "Conserva l'intera risposta originale. Una riserva dell'importo dall'esito incerto non autorizza un nuovo invio.",
                "type": null
              },
              {
                "code": null,
                "condition": "Il risultato originale, i dati di utilizzo o il conguaglio dell'addebito richiedono una verifica.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Conserva l'ID effettivo della richiesta e la risposta originale. Consulta il record esistente di tua proprietà; non inviare nuovamente la richiesta di creazione.",
                "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": "Conserva l'X-Client-Request-ID effettivo e la risposta completa. Consulta le risorse originali di tua proprietà e i relativi URL firmati esatti del contenuto; non inviare mai nuovamente una creazione dall'esito incerto."
            },
            "outputs": {
              "all_results": "Conserva la risposta completa e gli header, ogni output effettivo, gli identificatori originali restituiti e tutti i campi di utilizzo. Recupera l'operazione originale senza inviare nuovamente la richiesta di creazione.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Corpo completo della risposta originale, stato e intestazioni inoltrate. Questo gestore non aggiunge alcuna struttura JSON universale, campo di testo o struttura contenitore dell'attività."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "google/chirp-3"
                ],
                "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": [
                    "google/chirp-3"
                  ],
                  "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": "google/chirp-3"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "L'esempio legge il tuo file PCM WAV reale e non vuoto, codifica tutti i byte del file in base64 e invia input_audio.format con valore 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": "task_id esatto di un record multimediale esistente di tua proprietà",
                "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.000533333333334",
                "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.000533333333334",
                "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': 'google/chirp-3', '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": "Trascrizione",
        "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.000533333333334
          }
        },
        "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.000533333333334",
                "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.000533333333334",
                "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": "google/chirp-3",
        "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.000533333333334",
            "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.000533333333334",
            "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": "google/chirp-3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "15fcabccee6950ddef9b993ea012bb3b0139c272fc3ed58f9904e40ee777f976",
    "input_html_sha256": "27b4e814f641f96d71a7b40a0317e42928f5bf32d48a92896c2f13f4965e4c1f",
    "private_audit_sha256": "1f3b4ba100be09d6fb00ba4c88311c9d524d19586f6cee32d186e2e41e959c75",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/it/google-chirp-3/",
    "description": "Google Chirp 3 è un modello multilingue di riconoscimento vocale per streaming, registrazioni brevi e trascrizione batch di registrazioni più lunghe. Offre rilevamento automatico della lingua, punteggiatura, adattamento del vocabolario e metadati temporali o dei parlanti dipendenti dalla modalità. Il suo denoiser riduce il rumore di fondo ma non può rimuovere altre voci.",
    "locale": "it",
    "md_url": "https://ailoot.ai/models/it/google-chirp-3/index.md",
    "title": "Google: Chirp 3 — Ailoot",
    "url": "https://ailoot.ai/models/it/google-chirp-3/"
  },
  "rawModel": {
    "about": "Google Chirp 3 è un modello multilingue di riconoscimento vocale automatico che converte audio parlato in testo. Google lo documenta come modello di trascrizione Chirp 3 nella famiglia Speech-to-Text V2, con identificativo del modello chirp_3. Il suo scopo è riconoscere parlato registrato o in streaming, con rilevamento della lingua e funzionalità specifiche per la trascrizione. L'artefatto risultante è una trascrizione e i metadati supportati dal metodo di riconoscimento selezionato, anziché parlato generato o una risposta aperta di un assistente.\n\nIl produttore distingue riconoscimento in streaming, riconoscimento sincrono per clip brevi e riconoscimento batch per registrazioni più lunghe. Scegli la modalità in base all'audio sorgente e al risultato richiesto. Per una breve nota vocale, può bastare una risposta testuale completa. Per un'intervista o una chiamata registrata, può essere più utile un risultato batch con informazioni sui parlanti. Per sottotitoli in diretta o un'interfaccia di comandi vocali, mantieni distinto il testo intermedio dal risultato finale di riconoscimento e conserva l'intervallo audio che descrive.\n\nPrepara l'audio nella codifica attesa dall'implementazione del riconoscimento. Gli esempi Chirp 3 di Google usano decodifica rilevata automaticamente per file registrati e decodifica esplicita per una configurazione di streaming raw. Il riferimento associato del decoder V2 elenca WAV PCM o audio companded, FLAC, MP3, Ogg/WebM Opus e AAC in contenitori MP4, M4A o MOV, tra le codifiche supportate. Il nome di un contenitore non sostituisce il codec effettivo e la configurazione di campionamento. Conserva un parlato chiaro ed evita clipping grave o conversioni inutili che perdono dettagli udibili.\n\nChirp 3 può identificare e trascrivere automaticamente la lingua dominante, e un insieme di impostazioni locali previste può restringerne le scelte di riconoscimento. La disponibilità delle lingue differisce per metodo e funzionalità. L'elenco delle lingue di trascrizione è più ampio di quello della diarizzazione, quindi il riconoscimento di una lingua non dimostra che ogni funzionalità relativa a parlanti o tempi le si applichi. Usa l'impostazione locale corrispondente alla registrazione e conserva nomi con alternanza di lingue o termini specialistici per la verifica. L'etichetta della lingua rilevata fa parte del risultato, non è prova che tutte le parole insolite siano state riconosciute correttamente.\n\nLa diarizzazione dei parlanti raggruppa il parlato per voce in una registrazione a canale singolo. Google fornisce un esempio di trascrizione batch con informazioni sul parlante per parola. Per un'intervista, conserva queste etichette con il testo riconosciuto e confronta i cambi di parlante con la registrazione prima di associare nomi o ruoli reali. Voci simili, interruzioni e parlato sovrapposto possono rendere difficile l'attribuzione. Mantieni chiari la disposizione dei canali della fonte e il compito previsto di verifica dei parlanti, anziché trattare un'etichetta come un'identità verificata indipendentemente.\n\nAnche i tempi sono specifici del metodo. Il riconoscimento in streaming fornisce timestamp a livello di enunciato, mentre le indicazioni del produttore sul riconoscimento dei file descrivono tempi delle parole facoltativi con un possibile compromesso sulla qualità di trascrizione. Conserva i metadati effettivamente restituiti dal metodo scelto e controlla l'allineamento insieme alle parole. Un flusso per sottotitoli necessita di entrambi: testo riconosciuto leggibile e prove che un confine temporale corrisponda al suono giusto. Google avverte inoltre che il valore di confidenza restituito a livello di parola non è un vero punteggio di confidenza, quindi non dovrebbe essere usato per certificare la correttezza di una parola.\n\nL'adattamento vocale fornisce frasi e nomi propri che probabilmente ricorrono nella registrazione. Il produttore documenta un dizionario fino a 1,000 frasi e consiglia il minor numero possibile di voci pertinenti per evitare di peggiorare il riconoscimento di altri termini. Per una presentazione tecnica, prepara un breve elenco di nomi di prodotto e abbreviazioni effettivi, poi esaminali nella trascrizione. Il biasing aiuta il riconoscimento a considerare un termine; non dimostra che il termine sia stato pronunciato né sostituisce un controllo rispetto all'audio.\n\nIl modello offre punteggiatura e maiuscole automatiche, disabilitabili tramite l'interfaccia documentata. Google descrive inoltre una funzionalità in anteprima per istruzioni personalizzate sul formato della trascrizione, come la grafia di un nome o di una data particolari. Mantieni tali istruzioni focalizzate sulla formattazione del parlato riconosciuto. Una trascrizione che normalizza una data o scrive un marchio con le maiuscole deve comunque conservare il significato parlato. Un riepilogo, una traduzione o un'analisi fattuale sono impieghi successivi della trascrizione, anziché qualcosa dimostrato dal risultato del riconoscimento stesso.\n\nIl denoiser integrato serve a ridurre musica di sottofondo e suoni ambientali, come pioggia o rumore stradale. Google dichiara esplicitamente che non può rimuovere voci umane di sottofondo. Conserva questa distinzione quando prepari una registrazione con conversazioni sovrapposte. Esamina le sezioni rumorose e silenziose rispetto alla fonte, anziché presumere che una trascrizione dall'aspetto più pulito dimostri la rimozione del suono interferente. Un risultato utile mantiene identificabili i brani incerti per la correzione.\n\nPer i compiti in streaming, la sensibilità di endpointing modifica il momento in cui un enunciato viene considerato concluso. Il produttore descrive impostazioni standard, short e supershort per parlato atteso progressivamente più breve. Un'impostazione più rapida può interrompere un parlante che fa una pausa a metà pensiero. Abbina l'impostazione a dettatura naturale, frase breve o comando molto breve e conserva lo stato di risultato finale insieme alla trascrizione. Per un file completato, controlla nomi, quantità, negazioni e confini tra parlanti, poi conserva la modalità scelta e l'audio sorgente, affinché il risultato possa essere verificato o riutilizzato.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.000533333333334",
            "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.000533333333334",
            "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": "Tutte le tariffe della configurazione sono riportate nei dettagli."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "google/chirp-3",
    "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": "Il corpo JSON o l'ID canonico esplicito del modello non è valido.",
                "http_status": 400,
                "recovery": "Conserva la risposta e correggi il campo della richiesta indicato.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "La chiave API Ailoot non è valida.",
                "http_status": 401,
                "recovery": "Usa la tua chiave API Ailoot autorizzata.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Il gruppo della chiave non è autorizzato a utilizzare questo metodo.",
                "http_status": 403,
                "recovery": "Conserva i dettagli dell'errore restituiti.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Il metodo selezionato non dispone di una rotta autorizzata all'utilizzo.",
                "http_status": 404,
                "recovery": "Conserva i dettagli dell'errore restituiti.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "La tariffa accettata non può ottenere la quantità in ingresso o il limite richiesto.",
                "http_status": 422,
                "recovery": "Conserva la risposta; usa la rappresentazione dell'input richiesta dalla tariffa accettata.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "L'archiviazione richiesta, la rotta, il prezzo del metodo o la riserva dell'importo non sono disponibili.",
                "http_status": 503,
                "recovery": "Conserva l'intera risposta originale. Una riserva dell'importo dall'esito incerto non autorizza un nuovo invio.",
                "type": null
              },
              {
                "code": null,
                "condition": "Il risultato originale, i dati di utilizzo o il conguaglio dell'addebito richiedono una verifica.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Conserva l'ID effettivo della richiesta e la risposta originale. Consulta il record esistente di tua proprietà; non inviare nuovamente la richiesta di creazione.",
                "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": "Conserva l'X-Client-Request-ID effettivo e la risposta completa. Consulta le risorse originali di tua proprietà e i relativi URL firmati esatti del contenuto; non inviare mai nuovamente una creazione dall'esito incerto."
            },
            "outputs": {
              "all_results": "Conserva la risposta completa e gli header, ogni output effettivo, gli identificatori originali restituiti e tutti i campi di utilizzo. Recupera l'operazione originale senza inviare nuovamente la richiesta di creazione.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Corpo completo della risposta originale, stato e intestazioni inoltrate. Questo gestore non aggiunge alcuna struttura JSON universale, campo di testo o struttura contenitore dell'attività."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "google/chirp-3"
                ],
                "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": [
                    "google/chirp-3"
                  ],
                  "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": "google/chirp-3"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "L'esempio legge il tuo file PCM WAV reale e non vuoto, codifica tutti i byte del file in base64 e invia input_audio.format con valore 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": "task_id esatto di un record multimediale esistente di tua proprietà",
                "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.000533333333334",
                "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.000533333333334",
                "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': 'google/chirp-3', '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": "Trascrizione",
        "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.000533333333334
          }
        },
        "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.000533333333334",
                "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.000533333333334",
                "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": "google/chirp-3",
        "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.000533333333334",
            "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.000533333333334",
            "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": "google/chirp-3",
        "request_model_id": "google/chirp-3",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Chirp 3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Google Chirp 3 è un modello multilingue di riconoscimento vocale per streaming, registrazioni brevi e trascrizione batch di registrazioni più lunghe. Offre rilevamento automatico della lingua, punteggiatura, adattamento del vocabolario e metadati temporali o dei parlanti dipendenti dalla modalità. Il suo denoiser riduce il rumore di fondo ma non può rimuovere altre voci."
  },
  "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": "Google Chirp 3 è un modello multilingue di riconoscimento vocale per streaming, registrazioni brevi e trascrizione batch di registrazioni più lunghe. Offre rilevamento automatico della lingua, punteggiatura, adattamento del vocabolario e metadati temporali o dei parlanti dipendenti dalla modalità. Il suo denoiser riduce il rumore di fondo ma non può rimuovere altre voci.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "9e87198ab0987b3383149c99bd2a1eb5c0cf2fc8fc04b51ec9ffb18fb1ef1d2e",
    "renderer_sha256": "3be1a96012c3c76b38a7b9bea6a57c0def38c56103737bee6a5e77aaa75e488a"
  },
  "sourceRevision": "42f04e993f53f330293bef26a83a610afaa7705bf04b5a27d1166c1817e8060f"
}
