{
  "aboutHtml": "<p>Qwen3-ASR-1.7B est le plus grand modèle de reconnaissance vocale de la famille Qwen3-ASR. Il reçoit l’audio et renvoie texte reconnu et langue. La famille s’appuie sur l’audiocompréhension Qwen3-Omni et utilise un ASR pour reconnaissance hors ligne et streaming. L’édition 1.7B privilégie la qualité, la 0.6B distincte l’efficacité. Ce sont des choix différents malgré couverture et processus partagés.</p><h4>Identification de langue et couverture audio</h4><p>Le fabricant liste 30 langues, 22 dialectes chinois et des accents anglais régionaux. Les langues sont chinois, anglais, cantonais, arabe, allemand, français, espagnol, portugais, indonésien, italien, coréen, russe, thaï, vietnamien, japonais, turc, hindi, malais, néerlandais, suédois, danois, finnois, polonais, tchèque, filipino, persan, grec, hongrois, macédonien et roumain. L’audio comprend parole, voix chantée et chansons avec fond musical. Les transcriptions servent interviews, conférences, notes vocales et paroles, avec audio original pour les passages difficiles.</p><h4>Préparer l’audio et obtenir le texte</h4><p>La boîte à outils accepte une référence de fichier audio, de l’audio encodé ou une forme d’onde avec sa fréquence d’échantillonnage ; le processus hors ligne traite une collection. Il détecte la langue ou utilise une langue prise en charge indiquée. Choisissez la détection pour une source inconnue ; donnez la langue parlée réelle lorsqu’elle est connue et pertinente. L’exemple expose langue détectée ou choisie et texte. Le réglage guide la reconnaissance, pas une réécriture dans une autre langue.</p><p>Pour une interview, associez l’enregistrement à sa date, à son sujet et à son identifiant source, puis utilisez le texte comme transcription dans laquelle il est possible d’effectuer des recherches. Pour une conférence, préservez termes et expressions numériques en revue au lieu de remplacer les mots incertains par une explication plausible. Pour une chanson, vérifiez les paroles en écoutant la voix, surtout quand la musique masque une syllabe. Le texte vérifié peut alimenter un résumé, une traduction ou une révision distincte.</p><h4>Streaming et périmètre</h4><p>La famille reconnaît l’audio à son arrivée. L’exemple alimente l’état conservé par morceaux successifs, affiche du texte provisoire puis termine le flux pour langue et transcription finales. Distinguez texte incrémental courant et résultat achevé pour sous-titres en direct ou transcription continue. L’implémentation documentée ne combine pas le streaming avec l’inférence par lots et ne renvoie pas d’horodatages ; une transcription horodatée utilise un autre processus. Ce sont des détails fabricant, pas une promesse de transport applicatif ou de sous-titrage en direct.</p><h4>Temps des mots ou caractères avec un aligneur distinct</h4><p>Qwen3-ForcedAligner-0.6B aligne audio et texte fourni et prédit débuts et fins de mots ou caractères. C’est un autre modèle que les deux ASR. Le toolkit peut l’utiliser pour des horodatages hors ligne ou aligner un couple texte–audio existant. Il couvre 11 langues : chinois, anglais, cantonais, français, allemand, italien, japonais, coréen, portugais, russe et espagnol. Sa durée de parole indiquée va jusqu’à cinq minutes ; c’est son périmètre, pas un plafond ASR.</p><p>Pour sous-titrer, obtenez et vérifiez d’abord le texte, puis alignez-le à la source lorsque pertinent. Utilisez les temps pour segmenter et vérifiez les frontières en écoutant. L’alignement lie les mots fournis à l’audio, sans prouver qu’une transcription erronée est corrigée. Le livrable utile est un texte vérifié avec temps et lien à son enregistrement.</p><h4>Enregistrements longs et limites pratiques</h4><p>La famille transcrit les longs audios et les exemples conseillent davantage de texte généré pour les entrées longues. Ces réglages sont des choix, pas des plafonds universels de contexte ou de durée. Planifiez la sortie selon l’enregistrement et vérifiez la fin. Contrôlez noms, quantités, changements de langue, mots masqués et chevauchements contre le son. Couverture et robustesse ne garantissent pas une transcription parfaite de chaque accent, enregistrement ou arrangement. Un résultat complet conserve mots reconnus, langue et lien audio pour recherche, édition et processus ultérieur.</p>",
  "aboutText": "Qwen3-ASR-1.7B est le plus grand modèle de reconnaissance vocale de la famille Qwen3-ASR. Il reçoit l’audio et renvoie texte reconnu et langue. La famille s’appuie sur l’audiocompréhension Qwen3-Omni et utilise un ASR pour reconnaissance hors ligne et streaming. L’édition 1.7B privilégie la qualité, la 0.6B distincte l’efficacité. Ce sont des choix différents malgré couverture et processus partagés.\n\n### Identification de langue et couverture audio\n\nLe fabricant liste 30 langues, 22 dialectes chinois et des accents anglais régionaux. Les langues sont chinois, anglais, cantonais, arabe, allemand, français, espagnol, portugais, indonésien, italien, coréen, russe, thaï, vietnamien, japonais, turc, hindi, malais, néerlandais, suédois, danois, finnois, polonais, tchèque, filipino, persan, grec, hongrois, macédonien et roumain. L’audio comprend parole, voix chantée et chansons avec fond musical. Les transcriptions servent interviews, conférences, notes vocales et paroles, avec audio original pour les passages difficiles.\n\n### Préparer l’audio et obtenir le texte\n\nLa boîte à outils accepte une référence de fichier audio, de l’audio encodé ou une forme d’onde avec sa fréquence d’échantillonnage ; le processus hors ligne traite une collection. Il détecte la langue ou utilise une langue prise en charge indiquée. Choisissez la détection pour une source inconnue ; donnez la langue parlée réelle lorsqu’elle est connue et pertinente. L’exemple expose langue détectée ou choisie et texte. Le réglage guide la reconnaissance, pas une réécriture dans une autre langue.\n\nPour une interview, associez l’enregistrement à sa date, à son sujet et à son identifiant source, puis utilisez le texte comme transcription dans laquelle il est possible d’effectuer des recherches. Pour une conférence, préservez termes et expressions numériques en revue au lieu de remplacer les mots incertains par une explication plausible. Pour une chanson, vérifiez les paroles en écoutant la voix, surtout quand la musique masque une syllabe. Le texte vérifié peut alimenter un résumé, une traduction ou une révision distincte.\n\n### Streaming et périmètre\n\nLa famille reconnaît l’audio à son arrivée. L’exemple alimente l’état conservé par morceaux successifs, affiche du texte provisoire puis termine le flux pour langue et transcription finales. Distinguez texte incrémental courant et résultat achevé pour sous-titres en direct ou transcription continue. L’implémentation documentée ne combine pas le streaming avec l’inférence par lots et ne renvoie pas d’horodatages ; une transcription horodatée utilise un autre processus. Ce sont des détails fabricant, pas une promesse de transport applicatif ou de sous-titrage en direct.\n\n### Temps des mots ou caractères avec un aligneur distinct\n\nQwen3-ForcedAligner-0.6B aligne audio et texte fourni et prédit débuts et fins de mots ou caractères. C’est un autre modèle que les deux ASR. Le toolkit peut l’utiliser pour des horodatages hors ligne ou aligner un couple texte–audio existant. Il couvre 11 langues : chinois, anglais, cantonais, français, allemand, italien, japonais, coréen, portugais, russe et espagnol. Sa durée de parole indiquée va jusqu’à cinq minutes ; c’est son périmètre, pas un plafond ASR.\n\nPour sous-titrer, obtenez et vérifiez d’abord le texte, puis alignez-le à la source lorsque pertinent. Utilisez les temps pour segmenter et vérifiez les frontières en écoutant. L’alignement lie les mots fournis à l’audio, sans prouver qu’une transcription erronée est corrigée. Le livrable utile est un texte vérifié avec temps et lien à son enregistrement.\n\n### Enregistrements longs et limites pratiques\n\nLa famille transcrit les longs audios et les exemples conseillent davantage de texte généré pour les entrées longues. Ces réglages sont des choix, pas des plafonds universels de contexte ou de durée. Planifiez la sortie selon l’enregistrement et vérifiez la fin. Contrôlez noms, quantités, changements de langue, mots masqués et chevauchements contre le son. Couverture et robustesse ne garantissent pas une transcription parfaite de chaque accent, enregistrement ou arrangement. Un résultat complet conserve mots reconnus, langue et lien audio pour recherche, édition et processus ultérieur.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "96a66eb1675adec732be8d7282403e30cc409caf0a1e6e106bd25c3a3f8fcdf9",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fr",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">Al</span><h2 id=\"sheet-title\">Qwen: Qwen3 ASR 1.7B</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fermer\">×</button></div><div class=\"idline\"><span>Alibaba /</span><code>qwen/qwen3-asr-1.7b</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\">Premiers pas</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|qwen%2Fqwen3-asr-1.7b\">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\">Premiers pas</h3><p class=\"mdesc-full\">Qwen3-ASR-1.7B transforme parole et chant en texte et identifie la langue. Qwen documente 30 langues, 22 dialectes chinois et reconnaissance hors ligne ou en streaming ; les temps des mots utilisent un processus Qwen3-ForcedAligner distinct.</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>Texte</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>Qwen3-ASR-1.7B est le plus grand modèle de reconnaissance vocale de la famille Qwen3-ASR. Il reçoit l’audio et renvoie texte reconnu et langue. La famille s’appuie sur l’audiocompréhension Qwen3-Omni et utilise un ASR pour reconnaissance hors ligne et streaming. L’édition 1.7B privilégie la qualité, la 0.6B distincte l’efficacité. Ce sont des choix différents malgré couverture et processus partagés.</p><h4>Identification de langue et couverture audio</h4><p>Le fabricant liste 30 langues, 22 dialectes chinois et des accents anglais régionaux. Les langues sont chinois, anglais, cantonais, arabe, allemand, français, espagnol, portugais, indonésien, italien, coréen, russe, thaï, vietnamien, japonais, turc, hindi, malais, néerlandais, suédois, danois, finnois, polonais, tchèque, filipino, persan, grec, hongrois, macédonien et roumain. L’audio comprend parole, voix chantée et chansons avec fond musical. Les transcriptions servent interviews, conférences, notes vocales et paroles, avec audio original pour les passages difficiles.</p><h4>Préparer l’audio et obtenir le texte</h4><p>La boîte à outils accepte une référence de fichier audio, de l’audio encodé ou une forme d’onde avec sa fréquence d’échantillonnage ; le processus hors ligne traite une collection. Il détecte la langue ou utilise une langue prise en charge indiquée. Choisissez la détection pour une source inconnue ; donnez la langue parlée réelle lorsqu’elle est connue et pertinente. L’exemple expose langue détectée ou choisie et texte. Le réglage guide la reconnaissance, pas une réécriture dans une autre langue.</p><p>Pour une interview, associez l’enregistrement à sa date, à son sujet et à son identifiant source, puis utilisez le texte comme transcription dans laquelle il est possible d’effectuer des recherches. Pour une conférence, préservez termes et expressions numériques en revue au lieu de remplacer les mots incertains par une explication plausible. Pour une chanson, vérifiez les paroles en écoutant la voix, surtout quand la musique masque une syllabe. Le texte vérifié peut alimenter un résumé, une traduction ou une révision distincte.</p><h4>Streaming et périmètre</h4><p>La famille reconnaît l’audio à son arrivée. L’exemple alimente l’état conservé par morceaux successifs, affiche du texte provisoire puis termine le flux pour langue et transcription finales. Distinguez texte incrémental courant et résultat achevé pour sous-titres en direct ou transcription continue. L’implémentation documentée ne combine pas le streaming avec l’inférence par lots et ne renvoie pas d’horodatages ; une transcription horodatée utilise un autre processus. Ce sont des détails fabricant, pas une promesse de transport applicatif ou de sous-titrage en direct.</p><h4>Temps des mots ou caractères avec un aligneur distinct</h4><p>Qwen3-ForcedAligner-0.6B aligne audio et texte fourni et prédit débuts et fins de mots ou caractères. C’est un autre modèle que les deux ASR. Le toolkit peut l’utiliser pour des horodatages hors ligne ou aligner un couple texte–audio existant. Il couvre 11 langues : chinois, anglais, cantonais, français, allemand, italien, japonais, coréen, portugais, russe et espagnol. Sa durée de parole indiquée va jusqu’à cinq minutes ; c’est son périmètre, pas un plafond ASR.</p><p>Pour sous-titrer, obtenez et vérifiez d’abord le texte, puis alignez-le à la source lorsque pertinent. Utilisez les temps pour segmenter et vérifiez les frontières en écoutant. L’alignement lie les mots fournis à l’audio, sans prouver qu’une transcription erronée est corrigée. Le livrable utile est un texte vérifié avec temps et lien à son enregistrement.</p><h4>Enregistrements longs et limites pratiques</h4><p>La famille transcrit les longs audios et les exemples conseillent davantage de texte généré pour les entrées longues. Ces réglages sont des choix, pas des plafonds universels de contexte ou de durée. Planifiez la sortie selon l’enregistrement et vérifiez la fin. Contrôlez noms, quantités, changements de langue, mots masqués et chevauchements contre le son. Couverture et robustesse ne garantissent pas une transcription parfaite de chaque accent, enregistrement ou arrangement. Un résultat complet conserve mots reconnus, langue et lien audio pour recherche, édition et processus ultérieur.</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 · Transcription audio</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Types d’entrée</dt><dd><code>audio</code></dd></div><div><dt>Types de sortie</dt><dd><code>text</code></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><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>qwen/qwen3-asr-1.7b</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><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><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><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><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><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><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=\"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_type</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>application/json</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>material_conditions</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>Lisez un fichier WAV réel et encodez ses octets réels pour l’entrée JSON input_audio déclarée ; aucune route multipart n’est annoncée pour cette déclaration exacte limitée au JSON.</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></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarifs</h3><div class=\"card-result-process\" data-billing-basis><h5>Calcul du coût final</h5><p class=\"note-s\">Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.</p></div><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 estimés à des fins de comparaison</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>Quantité prévisionnelle</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 par jeton</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=\"Quantité prévisionnelle\"><span class=\"card-cell-label\">Quantité prévisionnelle</span>—</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 · Tokens en entrée · Estimation à des fins de comparaison uniquement</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>seconde d’audio en entrée</th><td data-cell-label=\"Barème tarifaire\"><span class=\"card-cell-label\">Barème tarifaire</span>—</td><td data-cell-label=\"Quantité prévisionnelle\"><span class=\"card-cell-label\">Quantité prévisionnelle</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 · Estimation à des fins de comparaison uniquement</span> <b>$0.000015</b> <span class=\"price-unit\">par seconde d’audio en entrée</span></div></td></tr><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Coût de génération estimé</th><td data-cell-label=\"Barème tarifaire\"><span class=\"card-cell-label\">Barème tarifaire</span>—</td><td data-cell-label=\"Quantité prévisionnelle\"><span class=\"card-cell-label\">Quantité prévisionnelle</span>Estimation pour une génération</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>Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement</span> <b>$0.000015</b> <span class=\"price-unit\">estimation avant génération</span></div><p class=\"note-s\">Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée.</p></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/billing/reserve/\">Fonctionnement de la réservation et du débit →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exemples de requêtes</h3><h4>Ailoot Ultra · Transcription audio</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-2390-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2390-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · corps 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-2390-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2390-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;qwen/qwen3-asr-1.7b&#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 · Transcription audio</h4><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><details class=\"card-about\"><summary>Autres lectures de contenu</summary><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-2391-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2391-panel-0\" aria-selected=\"true\" tabindex=\"0\">Lire les ressources existantes dont vous êtes propriétaire</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-2391-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2391-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><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\">Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.</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 le X-Client-Request-ID renvoyé pour le rapprochement. Consultez uniquement les valeurs task_id/asset_id effectivement renvoyées ou votre bibliothèque multimédia ; ne construisez jamais une URL de tâche à partir de l’identifiant de l’opération et ne soumettez jamais à nouveau la création.</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></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></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></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></td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">speaker fields</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span></td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">timestamps</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span></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=qwen%2Fqwen3-asr-1.7b&amp;route=Ultra&amp;caller=qwen%2Fqwen3-asr-1.7b&amp;fmt=transcriptions\"><code>qwen/qwen3-asr-1.7b</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=qwen%2Fqwen3-asr-1.7b&amp;route=Ultra&amp;caller=qwen%2Fqwen3-asr-1.7b&amp;fmt=transcriptions\"><code>qwen/qwen3-asr-1.7b</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "qwen/qwen3-asr-1.7b",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "qwen/qwen3-asr-1.7b",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|qwen%2Fqwen3-asr-1.7b",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "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 le X-Client-Request-ID renvoyé pour le rapprochement. Consultez uniquement les valeurs task_id/asset_id effectivement renvoyées ou votre bibliothèque multimédia ; ne construisez jamais une URL de tâche à partir de l’identifiant de l’opération et ne soumettez jamais à nouveau la création."
            },
            "outputs": {
              "all_results": "Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "words[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "speaker fields",
                  "type": null
                },
                {
                  "description": null,
                  "name": "timestamps",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "qwen/qwen3-asr-1.7b"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default": "json",
                "default_known": true,
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "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": [
                    "qwen/qwen3-asr-1.7b"
                  ],
                  "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": "qwen/qwen3-asr-1.7b"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Lisez un fichier WAV réel et encodez ses octets réels pour l’entrée JSON input_audio déclarée ; aucune route multipart n’est annoncée pour cette déclaration exacte limitée au JSON."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed 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": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              },
              {
                "description": null,
                "name": "segments[]",
                "type": null
              },
              {
                "description": null,
                "name": "words[]",
                "type": null
              },
              {
                "description": null,
                "name": "speaker fields",
                "type": null
              },
              {
                "description": null,
                "name": "timestamps",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          },
          {
            "basis": "Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Coût de génération estimé",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\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': 'qwen/qwen3-asr-1.7b', '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"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transcription audio",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "qwen/qwen3-asr-1.7b",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          },
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "qwen/qwen3-asr-1.7b",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b12af3415a12498b4a7008d374d86a9d6a9399a10ccafc8af7137642c9bf1d18",
    "input_html_sha256": "f948e37813d3d76f3502694e882a477b0100104d183e24701a6db90f4233bb44",
    "private_audit_sha256": "fd13201d7818d1377d41b0263a318822d77124b60bee0bdd483a136f44545e83",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr/qwen-qwen3-asr-1-7b/",
    "description": "Qwen3-ASR-1.7B transforme parole et chant en texte et identifie la langue. Qwen documente 30 langues, 22 dialectes chinois et reconnaissance hors ligne ou en streaming ; les temps des mots utilisent un processus Qwen3-ForcedAligner distinct.",
    "locale": "fr",
    "md_url": "https://ailoot.ai/models/fr/qwen-qwen3-asr-1-7b/index.md",
    "title": "Qwen: Qwen3 ASR 1.7B — Ailoot",
    "url": "https://ailoot.ai/models/fr/qwen-qwen3-asr-1-7b/"
  },
  "rawModel": {
    "about": "Qwen3-ASR-1.7B est le plus grand modèle de reconnaissance vocale de la famille Qwen3-ASR. Il reçoit l’audio et renvoie texte reconnu et langue. La famille s’appuie sur l’audiocompréhension Qwen3-Omni et utilise un ASR pour reconnaissance hors ligne et streaming. L’édition 1.7B privilégie la qualité, la 0.6B distincte l’efficacité. Ce sont des choix différents malgré couverture et processus partagés.\n\n### Identification de langue et couverture audio\n\nLe fabricant liste 30 langues, 22 dialectes chinois et des accents anglais régionaux. Les langues sont chinois, anglais, cantonais, arabe, allemand, français, espagnol, portugais, indonésien, italien, coréen, russe, thaï, vietnamien, japonais, turc, hindi, malais, néerlandais, suédois, danois, finnois, polonais, tchèque, filipino, persan, grec, hongrois, macédonien et roumain. L’audio comprend parole, voix chantée et chansons avec fond musical. Les transcriptions servent interviews, conférences, notes vocales et paroles, avec audio original pour les passages difficiles.\n\n### Préparer l’audio et obtenir le texte\n\nLa boîte à outils accepte une référence de fichier audio, de l’audio encodé ou une forme d’onde avec sa fréquence d’échantillonnage ; le processus hors ligne traite une collection. Il détecte la langue ou utilise une langue prise en charge indiquée. Choisissez la détection pour une source inconnue ; donnez la langue parlée réelle lorsqu’elle est connue et pertinente. L’exemple expose langue détectée ou choisie et texte. Le réglage guide la reconnaissance, pas une réécriture dans une autre langue.\n\nPour une interview, associez l’enregistrement à sa date, à son sujet et à son identifiant source, puis utilisez le texte comme transcription dans laquelle il est possible d’effectuer des recherches. Pour une conférence, préservez termes et expressions numériques en revue au lieu de remplacer les mots incertains par une explication plausible. Pour une chanson, vérifiez les paroles en écoutant la voix, surtout quand la musique masque une syllabe. Le texte vérifié peut alimenter un résumé, une traduction ou une révision distincte.\n\n### Streaming et périmètre\n\nLa famille reconnaît l’audio à son arrivée. L’exemple alimente l’état conservé par morceaux successifs, affiche du texte provisoire puis termine le flux pour langue et transcription finales. Distinguez texte incrémental courant et résultat achevé pour sous-titres en direct ou transcription continue. L’implémentation documentée ne combine pas le streaming avec l’inférence par lots et ne renvoie pas d’horodatages ; une transcription horodatée utilise un autre processus. Ce sont des détails fabricant, pas une promesse de transport applicatif ou de sous-titrage en direct.\n\n### Temps des mots ou caractères avec un aligneur distinct\n\nQwen3-ForcedAligner-0.6B aligne audio et texte fourni et prédit débuts et fins de mots ou caractères. C’est un autre modèle que les deux ASR. Le toolkit peut l’utiliser pour des horodatages hors ligne ou aligner un couple texte–audio existant. Il couvre 11 langues : chinois, anglais, cantonais, français, allemand, italien, japonais, coréen, portugais, russe et espagnol. Sa durée de parole indiquée va jusqu’à cinq minutes ; c’est son périmètre, pas un plafond ASR.\n\nPour sous-titrer, obtenez et vérifiez d’abord le texte, puis alignez-le à la source lorsque pertinent. Utilisez les temps pour segmenter et vérifiez les frontières en écoutant. L’alignement lie les mots fournis à l’audio, sans prouver qu’une transcription erronée est corrigée. Le livrable utile est un texte vérifié avec temps et lien à son enregistrement.\n\n### Enregistrements longs et limites pratiques\n\nLa famille transcrit les longs audios et les exemples conseillent davantage de texte généré pour les entrées longues. Ces réglages sont des choix, pas des plafonds universels de contexte ou de durée. Planifiez la sortie selon l’enregistrement et vérifiez la fin. Contrôlez noms, quantités, changements de langue, mots masqués et chevauchements contre le son. Couverture et robustesse ne garantissent pas une transcription parfaite de chaque accent, enregistrement ou arrangement. Un résultat complet conserve mots reconnus, langue et lien audio pour recherche, édition et processus ultérieur.",
    "alias_of": null,
    "aliases": [],
    "author": "Alibaba",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "La tarification complète de la configuration figure dans les détails."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "qwen/qwen3-asr-1.7b",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "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 le X-Client-Request-ID renvoyé pour le rapprochement. Consultez uniquement les valeurs task_id/asset_id effectivement renvoyées ou votre bibliothèque multimédia ; ne construisez jamais une URL de tâche à partir de l’identifiant de l’opération et ne soumettez jamais à nouveau la création."
            },
            "outputs": {
              "all_results": "Conservez la réponse complète et les en-têtes, chaque sortie effective, les identifiants initialement renvoyés et tous les champs d’utilisation. Récupérez l’opération d’origine sans soumettre à nouveau sa création.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "words[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "speaker fields",
                  "type": null
                },
                {
                  "description": null,
                  "name": "timestamps",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "qwen/qwen3-asr-1.7b"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default": "json",
                "default_known": true,
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "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": [
                    "qwen/qwen3-asr-1.7b"
                  ],
                  "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": "qwen/qwen3-asr-1.7b"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Lisez un fichier WAV réel et encodez ses octets réels pour l’entrée JSON input_audio déclarée ; aucune route multipart n’est annoncée pour cette déclaration exacte limitée au JSON."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed 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": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              },
              {
                "description": null,
                "name": "segments[]",
                "type": null
              },
              {
                "description": null,
                "name": "words[]",
                "type": null
              },
              {
                "description": null,
                "name": "speaker fields",
                "type": null
              },
              {
                "description": null,
                "name": "timestamps",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          },
          {
            "basis": "Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Coût de génération estimé",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\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': 'qwen/qwen3-asr-1.7b', '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"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transcription audio",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.000015",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.000015",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "qwen/qwen3-asr-1.7b",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          },
          {
            "amount": "0.000015",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.000015",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "qwen/qwen3-asr-1.7b",
        "request_model_id": "qwen/qwen3-asr-1.7b",
        "route_label": "Ultra"
      }
    ],
    "name": "Qwen: Qwen3 ASR 1.7B",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 1.5e-05,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 1.5e-05,
      "varies": false
    },
    "short": "Qwen3-ASR-1.7B transforme parole et chant en texte et identifie la langue. Qwen documente 30 langues, 22 dialectes chinois et reconnaissance hors ligne ou en streaming ; les temps des mots utilisent un processus Qwen3-ForcedAligner distinct."
  },
  "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": "Qwen3-ASR-1.7B transforme parole et chant en texte et identifie la langue. Qwen documente 30 langues, 22 dialectes chinois et reconnaissance hors ligne ou en streaming ; les temps des mots utilisent un processus Qwen3-ForcedAligner distinct.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "b2ed3b802323d3a87b7acbc1629ab5ac4a56b55ad13034c4ca659cc55b2644fa",
    "renderer_sha256": "44d2db1deadc475e1793597083716540bae7bbc53606f05f58780fec5f115dd4"
  },
  "sourceRevision": "28513a38d6995b57073462d9612e084d4ddc6e6d70e05a488f121a8b8ae50ab3"
}
