{
  "aboutHtml": "<p>Whisper large-v3 est une version publiée de reconnaissance vocale d’OpenAI avec environ 1,55 milliard de paramètres. C’est un modèle multilingue encodeur-décodeur : l’audio entre dans l’encodeur et le décodeur prédit du texte et des tokens liés à la tâche. Les tâches principales sont la transcription de la parole dans la langue source et sa traduction en anglais. Il s’agit d’une identité de modèle à poids ouverts, gardée distincte de l’identifiant de modèle d’un service hébergé ou des règles de téléversement et de format de réponse de ce service.</p><p>Large-v3 conserve l’architecture des versions large antérieures de Whisper avec deux changements annoncés : son entrée spectrogramme utilise 128 bandes de fréquences Mel au lieu de 80 et elle ajoute un token pour la langue cantonaise. La fiche du modèle du producteur décrit un entraînement sur un million d’heures d’audio faiblement annoté et quatre millions d’heures d’audio pseudo-annoté préparé avec Whisper large-v2. Ce mélange a été utilisé pendant deux époques d’entraînement. La publication est une version large-v3 précise, plutôt qu’un nom générique pour tous les modèles de la famille Whisper.</p><p>Le processus d’inférence documenté effectue une transcription par défaut, en préservant la langue parlée dans l’enregistrement. Il peut détecter automatiquement la langue source ou accepter une sélection de langue connue. Pour la traduction, le grand modèle multilingue fournit un résultat textuel anglais à partir de parole dans une autre langue. Choisissez explicitement cette tâche : une transcription dans la même langue et une traduction anglaise sont des artefacts différents. Pour un entretien, conservez la formulation dans la langue d’origine ; pour un document de référence anglais, précisez que le résultat souhaité est une traduction du contenu parlé.</p><p>La préparation audio fait partie du chemin d’entrée. Le chargeur d’OpenAI décode un enregistrement en forme d’onde mono et le rééchantillonne à 16 kHz. Le champ réceptif acoustique du modèle est de 30 secondes. C’est une fenêtre de traitement, plutôt qu’une durée maximale pour un entretien ou un cours entier. L’inférence longue peut avancer séquentiellement par fenêtres glissantes ou diviser un long enregistrement en segments qui se chevauchent et joindre leurs transcriptions. La fiche du modèle du producteur décrit le traitement séquentiel lorsque la précision est prioritaire et le traitement par segments lorsque le délai d’obtention d’un résultat pour un enregistrement long unique compte davantage.</p><p>La configuration publiée répertorie 448 positions de décodeur pour une séquence individuelle de décodage. Les enregistrements plus longs sont gérés par le processus long, plutôt qu’en traitant ce nombre comme une limite universelle de transcription. Le processus documenté peut renvoyer des horodatages par segment ou par mot avec le texte reconnu. Ces sorties temporelles sont utiles pour naviguer dans les enregistrements et préparer des sous-titres, tandis que tout conteneur final de sous-titres ou format de fichier de transcription relève d’un choix distinct de mise en forme de sortie. Préservez la chronologie de l’enregistrement lors de la préparation audio si la transcription doit être alignée avec le matériau d’origine.</p><p>Le rôle visé de Whisper est de reconnaître et de traduire la parole. Une transcription de cours, un compte rendu d’entretien ou une collection interrogeable de contenus parlés sont des sorties concrètes ; le résumé ou l’interprétation peuvent suivre comme une autre étape portant sur le texte. La fiche du modèle n’établit pas de classification automatique robuste des locuteurs ni de diarisation comme sortie standard de la version de base. Si une tâche nécessite des libellés de locuteur, cette exigence doit être traitée séparément de l’affirmation qu’une transcription est précise. Un cahier des charges utile identifie la langue source, le besoin de transcription ou de traduction anglaise et la nécessité éventuelle d’informations d’horodatage.</p><p>Les limites substantielles comprennent du texte inventé qui n’a jamais été prononcé et du texte répétitif, associés à l’entraînement faiblement supervisé sur des données bruitées et à la conception séquence-à-séquence. La qualité de reconnaissance varie selon les langues, les accents et les dialectes, avec de moins bons résultats lorsque les matériaux d’entraînement sont moins nombreux. Le bruit, le vocabulaire spécialisé et les paroles qui se chevauchent doivent donc être représentés dans l’échantillon utilisé pour juger l’adéquation. Comparez les noms, les quantités et les affirmations importantes à l’enregistrement et examinez les passages sans parole ou les lignes répétées, plutôt que de traiter une transcription fluide comme une preuve que chaque mot a été entendu.</p><p>Un résultat complet conserve le texte reconnu, sa langue et tout horodatage demandé avec une référence à l’enregistrement d’origine. Gardez la transcription séparée des modifications ultérieures : une transcription corrigée pour publication peut supprimer les mots de remplissage, tandis que la transcription reconnue préserve ce que le modèle a réellement renvoyé. L’identité de Large-v3 et sa capacité de traduction doivent aussi rester distinctes de l’édition Turbo plus rapide. La vitesse de traitement réelle dépend de la langue, du débit de parole, du matériel et de la méthode d’inférence ; aucune latence hébergée particulière, taille maximale de téléversement ou voie activée dans une application ne découle du seul nom de la version.</p>",
  "aboutText": "Whisper large-v3 est une version publiée de reconnaissance vocale d’OpenAI avec environ 1,55 milliard de paramètres. C’est un modèle multilingue encodeur-décodeur : l’audio entre dans l’encodeur et le décodeur prédit du texte et des tokens liés à la tâche. Les tâches principales sont la transcription de la parole dans la langue source et sa traduction en anglais. Il s’agit d’une identité de modèle à poids ouverts, gardée distincte de l’identifiant de modèle d’un service hébergé ou des règles de téléversement et de format de réponse de ce service.\n\nLarge-v3 conserve l’architecture des versions large antérieures de Whisper avec deux changements annoncés : son entrée spectrogramme utilise 128 bandes de fréquences Mel au lieu de 80 et elle ajoute un token pour la langue cantonaise. La fiche du modèle du producteur décrit un entraînement sur un million d’heures d’audio faiblement annoté et quatre millions d’heures d’audio pseudo-annoté préparé avec Whisper large-v2. Ce mélange a été utilisé pendant deux époques d’entraînement. La publication est une version large-v3 précise, plutôt qu’un nom générique pour tous les modèles de la famille Whisper.\n\nLe processus d’inférence documenté effectue une transcription par défaut, en préservant la langue parlée dans l’enregistrement. Il peut détecter automatiquement la langue source ou accepter une sélection de langue connue. Pour la traduction, le grand modèle multilingue fournit un résultat textuel anglais à partir de parole dans une autre langue. Choisissez explicitement cette tâche : une transcription dans la même langue et une traduction anglaise sont des artefacts différents. Pour un entretien, conservez la formulation dans la langue d’origine ; pour un document de référence anglais, précisez que le résultat souhaité est une traduction du contenu parlé.\n\nLa préparation audio fait partie du chemin d’entrée. Le chargeur d’OpenAI décode un enregistrement en forme d’onde mono et le rééchantillonne à 16 kHz. Le champ réceptif acoustique du modèle est de 30 secondes. C’est une fenêtre de traitement, plutôt qu’une durée maximale pour un entretien ou un cours entier. L’inférence longue peut avancer séquentiellement par fenêtres glissantes ou diviser un long enregistrement en segments qui se chevauchent et joindre leurs transcriptions. La fiche du modèle du producteur décrit le traitement séquentiel lorsque la précision est prioritaire et le traitement par segments lorsque le délai d’obtention d’un résultat pour un enregistrement long unique compte davantage.\n\nLa configuration publiée répertorie 448 positions de décodeur pour une séquence individuelle de décodage. Les enregistrements plus longs sont gérés par le processus long, plutôt qu’en traitant ce nombre comme une limite universelle de transcription. Le processus documenté peut renvoyer des horodatages par segment ou par mot avec le texte reconnu. Ces sorties temporelles sont utiles pour naviguer dans les enregistrements et préparer des sous-titres, tandis que tout conteneur final de sous-titres ou format de fichier de transcription relève d’un choix distinct de mise en forme de sortie. Préservez la chronologie de l’enregistrement lors de la préparation audio si la transcription doit être alignée avec le matériau d’origine.\n\nLe rôle visé de Whisper est de reconnaître et de traduire la parole. Une transcription de cours, un compte rendu d’entretien ou une collection interrogeable de contenus parlés sont des sorties concrètes ; le résumé ou l’interprétation peuvent suivre comme une autre étape portant sur le texte. La fiche du modèle n’établit pas de classification automatique robuste des locuteurs ni de diarisation comme sortie standard de la version de base. Si une tâche nécessite des libellés de locuteur, cette exigence doit être traitée séparément de l’affirmation qu’une transcription est précise. Un cahier des charges utile identifie la langue source, le besoin de transcription ou de traduction anglaise et la nécessité éventuelle d’informations d’horodatage.\n\nLes limites substantielles comprennent du texte inventé qui n’a jamais été prononcé et du texte répétitif, associés à l’entraînement faiblement supervisé sur des données bruitées et à la conception séquence-à-séquence. La qualité de reconnaissance varie selon les langues, les accents et les dialectes, avec de moins bons résultats lorsque les matériaux d’entraînement sont moins nombreux. Le bruit, le vocabulaire spécialisé et les paroles qui se chevauchent doivent donc être représentés dans l’échantillon utilisé pour juger l’adéquation. Comparez les noms, les quantités et les affirmations importantes à l’enregistrement et examinez les passages sans parole ou les lignes répétées, plutôt que de traiter une transcription fluide comme une preuve que chaque mot a été entendu.\n\nUn résultat complet conserve le texte reconnu, sa langue et tout horodatage demandé avec une référence à l’enregistrement d’origine. Gardez la transcription séparée des modifications ultérieures : une transcription corrigée pour publication peut supprimer les mots de remplissage, tandis que la transcription reconnue préserve ce que le modèle a réellement renvoyé. L’identité de Large-v3 et sa capacité de traduction doivent aussi rester distinctes de l’édition Turbo plus rapide. La vitesse de traitement réelle dépend de la langue, du débit de parole, du matériel et de la méthode d’inférence ; aucune latence hébergée particulière, taille maximale de téléversement ou voie activée dans une application ne découle du seul nom de la version.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "40aaa8b6f4eb1927839f0e5b31d5d4281b55236acb0eda57ea9aed3bf83966fe",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fr-ca",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">O</span><h2 id=\"sheet-title\">OpenAI: Whisper Large V3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fermer\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/whisper-large-v3</code><button type=\"button\" id=\"copy-id\">Copier l’ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Rubriques de la fiche modèle\"><button type=\"button\" data-card-jump=\"overview\">Pour commencer</button><button type=\"button\" data-card-jump=\"methods\">Entrées et méthodes</button><button type=\"button\" data-card-jump=\"pricing\">Tarifs</button><button type=\"button\" data-card-jump=\"examples\">Exemples</button><button type=\"button\" data-card-jump=\"results\">Résultats</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Méthodes 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|openai%2Fwhisper-large-v3\">Reconnaissance</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\">Pour commencer</h3><p class=\"mdesc-full\">Whisper large-v3 est la version multilingue de reconnaissance vocale à poids ouverts d’OpenAI pour la transcription et la traduction de la parole en anglais. Elle convertit la parole enregistrée en texte, avec un choix de langue, des horodatages et un traitement long documentés au-delà de sa fenêtre acoustique de 30 secondes.</p><dl class=\"card-io\" data-card-io><div><dt>Entrées acceptées</dt><dd>Audio</dd></div><div><dt>Résultats</dt><dd>transcription</dd></div></dl><details class=\"card-about\"><summary>À propos du modèle</summary><p class=\"note-s\" data-model-method-boundary>Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.</p><div class=\"mabout\" id=\"m-about\"><p>Whisper large-v3 est une version publiée de reconnaissance vocale d’OpenAI avec environ 1,55 milliard de paramètres. C’est un modèle multilingue encodeur-décodeur : l’audio entre dans l’encodeur et le décodeur prédit du texte et des tokens liés à la tâche. Les tâches principales sont la transcription de la parole dans la langue source et sa traduction en anglais. Il s’agit d’une identité de modèle à poids ouverts, gardée distincte de l’identifiant de modèle d’un service hébergé ou des règles de téléversement et de format de réponse de ce service.</p><p>Large-v3 conserve l’architecture des versions large antérieures de Whisper avec deux changements annoncés : son entrée spectrogramme utilise 128 bandes de fréquences Mel au lieu de 80 et elle ajoute un token pour la langue cantonaise. La fiche du modèle du producteur décrit un entraînement sur un million d’heures d’audio faiblement annoté et quatre millions d’heures d’audio pseudo-annoté préparé avec Whisper large-v2. Ce mélange a été utilisé pendant deux époques d’entraînement. La publication est une version large-v3 précise, plutôt qu’un nom générique pour tous les modèles de la famille Whisper.</p><p>Le processus d’inférence documenté effectue une transcription par défaut, en préservant la langue parlée dans l’enregistrement. Il peut détecter automatiquement la langue source ou accepter une sélection de langue connue. Pour la traduction, le grand modèle multilingue fournit un résultat textuel anglais à partir de parole dans une autre langue. Choisissez explicitement cette tâche : une transcription dans la même langue et une traduction anglaise sont des artefacts différents. Pour un entretien, conservez la formulation dans la langue d’origine ; pour un document de référence anglais, précisez que le résultat souhaité est une traduction du contenu parlé.</p><p>La préparation audio fait partie du chemin d’entrée. Le chargeur d’OpenAI décode un enregistrement en forme d’onde mono et le rééchantillonne à 16 kHz. Le champ réceptif acoustique du modèle est de 30 secondes. C’est une fenêtre de traitement, plutôt qu’une durée maximale pour un entretien ou un cours entier. L’inférence longue peut avancer séquentiellement par fenêtres glissantes ou diviser un long enregistrement en segments qui se chevauchent et joindre leurs transcriptions. La fiche du modèle du producteur décrit le traitement séquentiel lorsque la précision est prioritaire et le traitement par segments lorsque le délai d’obtention d’un résultat pour un enregistrement long unique compte davantage.</p><p>La configuration publiée répertorie 448 positions de décodeur pour une séquence individuelle de décodage. Les enregistrements plus longs sont gérés par le processus long, plutôt qu’en traitant ce nombre comme une limite universelle de transcription. Le processus documenté peut renvoyer des horodatages par segment ou par mot avec le texte reconnu. Ces sorties temporelles sont utiles pour naviguer dans les enregistrements et préparer des sous-titres, tandis que tout conteneur final de sous-titres ou format de fichier de transcription relève d’un choix distinct de mise en forme de sortie. Préservez la chronologie de l’enregistrement lors de la préparation audio si la transcription doit être alignée avec le matériau d’origine.</p><p>Le rôle visé de Whisper est de reconnaître et de traduire la parole. Une transcription de cours, un compte rendu d’entretien ou une collection interrogeable de contenus parlés sont des sorties concrètes ; le résumé ou l’interprétation peuvent suivre comme une autre étape portant sur le texte. La fiche du modèle n’établit pas de classification automatique robuste des locuteurs ni de diarisation comme sortie standard de la version de base. Si une tâche nécessite des libellés de locuteur, cette exigence doit être traitée séparément de l’affirmation qu’une transcription est précise. Un cahier des charges utile identifie la langue source, le besoin de transcription ou de traduction anglaise et la nécessité éventuelle d’informations d’horodatage.</p><p>Les limites substantielles comprennent du texte inventé qui n’a jamais été prononcé et du texte répétitif, associés à l’entraînement faiblement supervisé sur des données bruitées et à la conception séquence-à-séquence. La qualité de reconnaissance varie selon les langues, les accents et les dialectes, avec de moins bons résultats lorsque les matériaux d’entraînement sont moins nombreux. Le bruit, le vocabulaire spécialisé et les paroles qui se chevauchent doivent donc être représentés dans l’échantillon utilisé pour juger l’adéquation. Comparez les noms, les quantités et les affirmations importantes à l’enregistrement et examinez les passages sans parole ou les lignes répétées, plutôt que de traiter une transcription fluide comme une preuve que chaque mot a été entendu.</p><p>Un résultat complet conserve le texte reconnu, sa langue et tout horodatage demandé avec une référence à l’enregistrement d’origine. Gardez la transcription séparée des modifications ultérieures : une transcription corrigée pour publication peut supprimer les mots de remplissage, tandis que la transcription reconnue préserve ce que le modèle a réellement renvoyé. L’identité de Large-v3 et sa capacité de traduction doivent aussi rester distinctes de l’édition Turbo plus rapide. La vitesse de traitement réelle dépend de la langue, du débit de parole, du matériel et de la méthode d’inférence ; aucune latence hébergée particulière, taille maximale de téléversement ou voie activée dans une application ne découle du seul nom de la version.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible dans Ailoot · entrées et méthodes</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Reconnaissance vocale</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Entrée</dt><dd><code>audio</code></dd></div><div><dt>Sortie</dt><dd><code>transcription</code></dd></div><div><dt>Format de sortie</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Champ</th><th>Type</th><th>Exigence</th><th>Valeurs et limites</th><th>Par défaut</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>openai/whisper-large-v3</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">language</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 0</div><div>Maximum: 1</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>json, verbose_json</div></td><td data-cell-label=\"Par défaut\" data-default=\"known\"><span class=\"card-cell-label\">Par défaut</span>json</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">timestamp_granularities</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>array</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"retained_official_STTRequest\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinaisons d’éléments d’entrée</summary><p class=\"note-s\"><b>speech_to_text</b> · Obligatoire : actual matching-format audio file</p></details><details class=\"note-s\" data-method-contract><summary>Paramètres et cycle de vie de la méthode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paramètre</th><th>Contrat</th></tr></thead><tbody><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>content_types</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>application/json, multipart/form-data</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>required</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>model, input_audio</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>material_types</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>audio</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>JSON_audio</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>octets audio bruts réels en base64 et format correspondant</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>multipart_required</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>model, file</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>multipart_cap_bytes</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>26214400</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>optional_controls</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>language, temperature, response_format, timestamp_granularities, provider</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>default_response_format</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>json</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>optional_features</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>La sortie détaillée, diarize/keyterms et les entrées audio par URL ou les entrées audio intégrées plus volumineuses exigent les capacités et le tarif du modèle et du fournisseur exacts.</td></tr></tbody></table></div><p>Cycle de vie : <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia</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><p class=\"note-s\">Utilisez le modèle exact et les champs d’entrée documentés.</p><p class=\"note-s\">Conservez la réponse complète, chaque sortie réelle et les identifiants d’origine retournés.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarifs</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.</p><dl data-price-conditions><dt>Mode rapide</dt><dd>Non précisé <span class=\"note-s\">Lorsque le mode rapide est sélectionné</span></dd><dt>Mode Flex</dt><dd>Non précisé <span class=\"note-s\">Lorsque le mode flex est sélectionné</span></dd><dt>Effort de raisonnement maximal</dt><dd>Non précisé <span class=\"note-s\">Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifs Ailoot</h4><h4>Prix par configuration</h4><p class=\"note-s\">Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuration</th><th>Barème tarifaire</th><th>Unité de facturation</th><th>Coût</th></tr></thead><tbody><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Tarifs de base des jetons</th><td data-cell-label=\"Barème tarifaire\"><span class=\"card-cell-label\">Barème tarifaire</span>Tarif de base</td><td data-cell-label=\"Unité de facturation\"><span class=\"card-cell-label\">Unité de facturation</span>—</td><td data-cell-label=\"Coût\"><span class=\"card-cell-label\">Coût</span><div><span>Entrée · Jetons en entrée</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Sortie · Jetons en sortie</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Lecture du cache</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Écriture dans le cache</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Écriture dans le cache, 1 h</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div></td></tr><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Ultra</th><td data-cell-label=\"Barème tarifaire\"><span class=\"card-cell-label\">Barème tarifaire</span>—</td><td data-cell-label=\"Unité de facturation\"><span class=\"card-cell-label\">Unité de facturation</span>par seconde d’audio en entrée</td><td data-cell-label=\"Coût\"><span class=\"card-cell-label\">Coût</span><div><span>Entrée · seconde d’audio en entrée</span> <b>$0.000015</b> <span class=\"price-unit\">par seconde d’audio en entrée</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. <a href=\"/docs/fr-ca/billing/reserve/\">Fonctionnement de la réservation et du débit →</a></p><div data-declared-reference-pricing><h4>Détails du tarif de référence</h4><p class=\"note-s\">Les barèmes de référence du modèle ne modifient ni la sélection de méthode, ni les devis, ni les coûts. Les frais actifs utilisent les tarifs de la méthode Ailoot sélectionnée.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>OpenAI: Whisper Large V3</summary><h4>Prix par configuration</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuration</th><th>Conditions de facturation</th><th>Coût</th></tr></thead><tbody><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>OpenAI: Whisper Large V3 · Configuration par défaut</th><td data-cell-label=\"Conditions de facturation\"><span class=\"card-cell-label\">Conditions de facturation</span>Configuration par défaut</td><td data-cell-label=\"Coût\"><span class=\"card-cell-label\">Coût</span><div><span>Entrée · Secondes d’audio en entrée</span> <b>0,000015 USD</b> <span class=\"price-unit\">par seconde d’audio en entrée</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exemples de requêtes</h3><h4>Ailoot Ultra · Reconnaissance vocale</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes du code\"><button class=\"cg-tab\" id=\"model-code-2185-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2185-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · corps de requête natif exact et résultat complet</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copier le code\"><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-2185-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2185-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 WAV recording}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nimport base64\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;): raise SystemExit(&#39;Supply an actual WAV audio file&#39;)\nif len(audio)&gt;26214400: raise SystemExit(&#39;Use a documented supported large-file flow&#39;)\nrequest={&#39;model&#39;: &#39;openai/whisper-large-v3&#39;, &#39;input_audio&#39;: {&#39;data&#39;: &#39;${BASE64_ACTUAL_WAV_BYTES}&#39;, &#39;format&#39;: &#39;wav&#39;}}\nrequest[&#39;input_audio&#39;][&#39;data&#39;]=base64.b64encode(audio).decode(&#39;ascii&#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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recevoir et enregistrer les résultats</h3><h4>Ailoot Ultra · Reconnaissance vocale</h4><p class=\"note-s\">json</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>Conserver tous les résultats terminés</h5><p class=\"note-s\">Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.</p><p class=\"note-s\">JSON d’origine complet, tous les textes, segments, mots, locuteurs et horodatages disponibles, ainsi que l’utilisation.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si la réponse d’origine doit être vérifiée</h5><p class=\"note-s\">Conservez les valeurs operation_id/X-Client-Request-ID d’origine et la réponse d’origine. Consultez les enregistrements réels de tâche et de ressource appartenant à votre compte sans soumettre de nouveau la demande; aucune URL dédiée d’interrogation audio n’est construite.</p></div><details class=\"card-about\" data-output-fields><summary>Champs de la réponse</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Champ</th><th>Type</th></tr></thead><tbody><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>object</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">segments[]</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>object</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">words[]</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>object</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias du modèle</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=openai%2Fwhisper-large-v3&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3&amp;fmt=transcriptions\"><code>openai/whisper-large-v3</code></a></span></p><h4>Alias des chemins de méthode</h4><p class=\"note-s\">Utilisez les chemins de méthode indiqués ci-dessus.</p><h4>ID d’appel associés</h4><p class=\"note-s\"><a href=\"#m=openai%2Fwhisper-large-v3&amp;route=Ultra&amp;caller=openai%2Fwhisper-large-v3&amp;fmt=transcriptions\"><code>openai/whisper-large-v3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/whisper-large-v3",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fwhisper-large-v3",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "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 URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Conservez les valeurs operation_id/X-Client-Request-ID d’origine et la réponse d’origine. Consultez les enregistrements réels de tâche et de ressource appartenant à votre compte sans soumettre de nouveau la demande; aucune URL dédiée d’interrogation audio n’est construite."
            },
            "material_combinations": [
              {
                "content_types": [
                  "application/json",
                  "multipart/form-data"
                ],
                "mode": "speech_to_text",
                "required": [
                  "actual matching-format audio file"
                ]
              }
            ],
            "outputs": {
              "all_results": "JSON d’origine complet, tous les textes, segments, mots, locuteurs et horodatages disponibles, ainsi que l’utilisation.",
              "family": "transcription",
              "fields": [
                {
                  "name": "text",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "segments[]",
                  "optional": true,
                  "type": "object"
                },
                {
                  "name": "words[]",
                  "optional": true,
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "openai/whisper-large-v3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "data_encoding": "base64 raw actual audio bytes, not data URI",
                "fields": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "ISO-639-1 code; omitted means auto-detection",
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "retained_official_STTRequest",
                "default": "json",
                "default_known": true,
                "description": "verbose_json requires exact model/provider support",
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Only used with supported verbose_json",
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/whisper-large-v3"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "Utilisez le modèle exact et les champs d’entrée documentés.",
            "Conservez la réponse complète, chaque sortie réelle et les identifiants d’origine retournés."
          ],
          "input": {
            "JSON_audio": "octets audio bruts réels en base64 et format correspondant",
            "content_types": [
              "application/json",
              "multipart/form-data"
            ],
            "default_response_format": "json",
            "material_types": [
              "audio"
            ],
            "multipart_cap_bytes": 26214400,
            "multipart_required": [
              "model",
              "file"
            ],
            "optional_controls": [
              "language",
              "temperature",
              "response_format",
              "timestamp_granularities",
              "provider"
            ],
            "optional_features": "La sortie détaillée, diarize/keyterms et les entrées audio par URL ou les entrées audio intégrées plus volumineuses exigent les capacités et le tarif du modèle et du fournisseur exacts.",
            "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "family": "transcription",
            "format": "json"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input 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 WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'openai/whisper-large-v3', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "transcription"
        ],
        "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": 1.5e-05
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input second",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input second",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "openai/whisper-large-v3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b163d97df2973691c104a4a689ffbd7f2271c7424511cc6f3c2c9f95a706358c",
    "input_html_sha256": "f86c52a6fba9b9aa70f6d746009c4518d9362190547c295ec16b44f770d8faeb",
    "private_audit_sha256": "724bc280074f1a20ca09c946c19d376c85f8fbc96df39e96aaf8dc66ea360b32",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr-ca/openai-whisper-large-v3/",
    "description": "Whisper large-v3 est la version multilingue de reconnaissance vocale à poids ouverts d’OpenAI pour la transcription et la traduction de la parole en anglais. Elle convertit la parole enregistrée en texte, avec un choix de langue, des horodatages et un traitement long documentés au-delà de sa fenêtre acoustique de 30 secondes.",
    "locale": "fr-ca",
    "md_url": "https://ailoot.ai/models/fr-ca/openai-whisper-large-v3/index.md",
    "title": "OpenAI: Whisper Large V3 — Ailoot",
    "url": "https://ailoot.ai/models/fr-ca/openai-whisper-large-v3/"
  },
  "rawModel": {
    "about": "Whisper large-v3 est une version publiée de reconnaissance vocale d’OpenAI avec environ 1,55 milliard de paramètres. C’est un modèle multilingue encodeur-décodeur : l’audio entre dans l’encodeur et le décodeur prédit du texte et des tokens liés à la tâche. Les tâches principales sont la transcription de la parole dans la langue source et sa traduction en anglais. Il s’agit d’une identité de modèle à poids ouverts, gardée distincte de l’identifiant de modèle d’un service hébergé ou des règles de téléversement et de format de réponse de ce service.\n\nLarge-v3 conserve l’architecture des versions large antérieures de Whisper avec deux changements annoncés : son entrée spectrogramme utilise 128 bandes de fréquences Mel au lieu de 80 et elle ajoute un token pour la langue cantonaise. La fiche du modèle du producteur décrit un entraînement sur un million d’heures d’audio faiblement annoté et quatre millions d’heures d’audio pseudo-annoté préparé avec Whisper large-v2. Ce mélange a été utilisé pendant deux époques d’entraînement. La publication est une version large-v3 précise, plutôt qu’un nom générique pour tous les modèles de la famille Whisper.\n\nLe processus d’inférence documenté effectue une transcription par défaut, en préservant la langue parlée dans l’enregistrement. Il peut détecter automatiquement la langue source ou accepter une sélection de langue connue. Pour la traduction, le grand modèle multilingue fournit un résultat textuel anglais à partir de parole dans une autre langue. Choisissez explicitement cette tâche : une transcription dans la même langue et une traduction anglaise sont des artefacts différents. Pour un entretien, conservez la formulation dans la langue d’origine ; pour un document de référence anglais, précisez que le résultat souhaité est une traduction du contenu parlé.\n\nLa préparation audio fait partie du chemin d’entrée. Le chargeur d’OpenAI décode un enregistrement en forme d’onde mono et le rééchantillonne à 16 kHz. Le champ réceptif acoustique du modèle est de 30 secondes. C’est une fenêtre de traitement, plutôt qu’une durée maximale pour un entretien ou un cours entier. L’inférence longue peut avancer séquentiellement par fenêtres glissantes ou diviser un long enregistrement en segments qui se chevauchent et joindre leurs transcriptions. La fiche du modèle du producteur décrit le traitement séquentiel lorsque la précision est prioritaire et le traitement par segments lorsque le délai d’obtention d’un résultat pour un enregistrement long unique compte davantage.\n\nLa configuration publiée répertorie 448 positions de décodeur pour une séquence individuelle de décodage. Les enregistrements plus longs sont gérés par le processus long, plutôt qu’en traitant ce nombre comme une limite universelle de transcription. Le processus documenté peut renvoyer des horodatages par segment ou par mot avec le texte reconnu. Ces sorties temporelles sont utiles pour naviguer dans les enregistrements et préparer des sous-titres, tandis que tout conteneur final de sous-titres ou format de fichier de transcription relève d’un choix distinct de mise en forme de sortie. Préservez la chronologie de l’enregistrement lors de la préparation audio si la transcription doit être alignée avec le matériau d’origine.\n\nLe rôle visé de Whisper est de reconnaître et de traduire la parole. Une transcription de cours, un compte rendu d’entretien ou une collection interrogeable de contenus parlés sont des sorties concrètes ; le résumé ou l’interprétation peuvent suivre comme une autre étape portant sur le texte. La fiche du modèle n’établit pas de classification automatique robuste des locuteurs ni de diarisation comme sortie standard de la version de base. Si une tâche nécessite des libellés de locuteur, cette exigence doit être traitée séparément de l’affirmation qu’une transcription est précise. Un cahier des charges utile identifie la langue source, le besoin de transcription ou de traduction anglaise et la nécessité éventuelle d’informations d’horodatage.\n\nLes limites substantielles comprennent du texte inventé qui n’a jamais été prononcé et du texte répétitif, associés à l’entraînement faiblement supervisé sur des données bruitées et à la conception séquence-à-séquence. La qualité de reconnaissance varie selon les langues, les accents et les dialectes, avec de moins bons résultats lorsque les matériaux d’entraînement sont moins nombreux. Le bruit, le vocabulaire spécialisé et les paroles qui se chevauchent doivent donc être représentés dans l’échantillon utilisé pour juger l’adéquation. Comparez les noms, les quantités et les affirmations importantes à l’enregistrement et examinez les passages sans parole ou les lignes répétées, plutôt que de traiter une transcription fluide comme une preuve que chaque mot a été entendu.\n\nUn résultat complet conserve le texte reconnu, sa langue et tout horodatage demandé avec une référence à l’enregistrement d’origine. Gardez la transcription séparée des modifications ultérieures : une transcription corrigée pour publication peut supprimer les mots de remplissage, tandis que la transcription reconnue préserve ce que le modèle a réellement renvoyé. L’identité de Large-v3 et sa capacité de traduction doivent aussi rester distinctes de l’édition Turbo plus rapide. La vitesse de traitement réelle dépend de la langue, du débit de parole, du matériel et de la méthode d’inférence ; aucune latence hébergée particulière, taille maximale de téléversement ou voie activée dans une application ne découle du seul nom de la version.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "available": null,
    "canonical_model": "openai/whisper-large-v3",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input second",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "La tarification complète de la configuration figure dans les détails."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "ee57dbbfe5ae56bdd0d7",
        "label": "OpenAI: Whisper Large V3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Configuration par défaut"
            },
            "label": "OpenAI: Whisper Large V3 · Configuration par défaut",
            "units": [
              {
                "amount": "0.0000150",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "e474c121b23c5635611dfde4",
                "label": "Input audio seconds",
                "public_unit_label": "per input audio second",
                "quantity": "1",
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "input_audio_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "transcriptions"
    ],
    "id": "openai/whisper-large-v3",
    "input": [
      "audio"
    ],
    "kind": "transcription",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "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 URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Conservez les valeurs operation_id/X-Client-Request-ID d’origine et la réponse d’origine. Consultez les enregistrements réels de tâche et de ressource appartenant à votre compte sans soumettre de nouveau la demande; aucune URL dédiée d’interrogation audio n’est construite."
            },
            "material_combinations": [
              {
                "content_types": [
                  "application/json",
                  "multipart/form-data"
                ],
                "mode": "speech_to_text",
                "required": [
                  "actual matching-format audio file"
                ]
              }
            ],
            "outputs": {
              "all_results": "JSON d’origine complet, tous les textes, segments, mots, locuteurs et horodatages disponibles, ainsi que l’utilisation.",
              "family": "transcription",
              "fields": [
                {
                  "name": "text",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "segments[]",
                  "optional": true,
                  "type": "object"
                },
                {
                  "name": "words[]",
                  "optional": true,
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "enum": [
                  "openai/whisper-large-v3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "data_encoding": "base64 raw actual audio bytes, not data URI",
                "fields": [
                  "data",
                  "format"
                ],
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "ISO-639-1 code; omitted means auto-detection",
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "retained_official_STTRequest",
                "default": "json",
                "default_known": true,
                "description": "verbose_json requires exact model/provider support",
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Only used with supported verbose_json",
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "availability": "retained_official_STTRequest",
                "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/whisper-large-v3"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "openai/whisper-large-v3"
              },
              "content_type": "application/json"
            }
          },
          "hints": [
            "Utilisez le modèle exact et les champs d’entrée documentés.",
            "Conservez la réponse complète, chaque sortie réelle et les identifiants d’origine retournés."
          ],
          "input": {
            "JSON_audio": "octets audio bruts réels en base64 et format correspondant",
            "content_types": [
              "application/json",
              "multipart/form-data"
            ],
            "default_response_format": "json",
            "material_types": [
              "audio"
            ],
            "multipart_cap_bytes": 26214400,
            "multipart_required": [
              "model",
              "file"
            ],
            "optional_controls": [
              "language",
              "temperature",
              "response_format",
              "timestamp_granularities",
              "provider"
            ],
            "optional_features": "La sortie détaillée, diarize/keyterms et les entrées audio par URL ou les entrées audio intégrées plus volumineuses exigent les capacités et le tarif du modèle et du fournisseur exacts.",
            "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "task_id effectivement renvoyé ou enregistrement de la bibliothèque multimédia",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "method_aliases": [],
          "operation_modes": [
            "speech_to_text"
          ],
          "output": {
            "all_results": "Complete original JSON, all available text/segments/words/speakers/timestamps and usage.",
            "family": "transcription",
            "format": "json"
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input 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 WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'openai/whisper-large-v3', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact model and documented input fields.",
          "Keep the complete response, every actual output and original returned IDs."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Распознавание речи",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "transcription"
        ],
        "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": 1.5e-05
          }
        },
        "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": {
              "quantity_basis": "actual physical units",
              "quoted_unit": "per audio input second"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_audio_input_second",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "audio input second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per audio input second",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}",
          "GET /v1/media/assets/{asset_id}/content"
        ],
        "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.000015",
            "amount_unit": "usd_per_audio_input_second",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "audio input second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per audio input second",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "openai/whisper-large-v3",
        "request_model_id": "openai/whisper-large-v3",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: Whisper Large V3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "hosted_reference"
        },
        "dimensions": {
          "variant": null
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000616666666666",
            "amount_unit": "usd_per_audio_input_second",
            "conditions": {
              "variant": null
            },
            "key": "pricing.prompt",
            "label": "prompt",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "audio_input_second"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_not_separately_charged_output",
            "conditions": {
              "variant": null
            },
            "key": "pricing.completion",
            "label": "completion",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "not_separately_charged_output"
          }
        ]
      }
    ],
    "public_id": "openai/whisper-large-v3",
    "short": "Whisper large-v3 est la version multilingue de reconnaissance vocale à poids ouverts d’OpenAI pour la transcription et la traduction de la parole en anglais. Elle convertit la parole enregistrée en texte, avec un choix de langue, des horodatages et un traitement long documentés au-delà de sa fenêtre acoustique de 30 secondes."
  },
  "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": "Whisper large-v3 est la version multilingue de reconnaissance vocale à poids ouverts d’OpenAI pour la transcription et la traduction de la parole en anglais. Elle convertit la parole enregistrée en texte, avec un choix de langue, des horodatages et un traitement long documentés au-delà de sa fenêtre acoustique de 30 secondes.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d2ffd8f4168b32cd80edf2d714e1595a12ac0ed882154789ef28cfdde009e17f",
    "renderer_sha256": "98cb81b9c4ef4923c22e586170e7cdf67056351148a1666fb03dd6a4a26716a3"
  },
  "sourceRevision": "1e4043873076720907940fc830c5a3994429a7e539409ef29e3472cab5d7c284"
}
