{
  "aboutHtml": "<p>Google Chirp 3は、発話音声をテキストへ変換する多言語自動音声認識モデルです。Googleは、Speech-to-Text V2ファミリーのChirp 3文字起こしモデルとして公開し、モデル識別子をchirp_3としています。目的は、言語検出と文字起こし専用機能を使って、録音またはストリームの発話を認識することです。成果物は、生成音声や自由形式のアシスタント回答ではなく、文字起こしと、選んだ認識方式が対応するメタデータです。</p><p>開発元は、ストリーミング認識、短いクリップの同期認識、長い録音のバッチ認識を区別しています。元の音声と必要な結果に応じてモードを選んでください。短いボイスメモでは、完成したテキスト応答で十分な場合があります。インタビューや通話の録音では、話者情報付きのバッチ結果のほうが役立つ場合があります。リアルタイム字幕や音声コマンドのインターフェースでは、中間テキストと最終認識結果を分け、それが表す音声区間を保持します。</p><p>認識実装が想定するエンコーディングで音声を準備します。GoogleのChirp 3の例では、録音ファイルには自動検出によるデコード、生のストリーミング設定には明示的なデコードを使っています。関連するV2デコーダーのリファレンスには、対応エンコーディングとして、WAVのPCMまたは圧伸音声、FLAC、MP3、Ogg/WebM Opus、MP4・M4A・MOVコンテナ内のAACなどが挙げられています。コンテナ名は、実際のコーデックとサンプル設定の代わりにはなりません。明瞭な発話を保ち、ひどいクリッピングや、聞き取れる詳細を失う不要な変換を避けてください。</p><p>Chirp 3は、中心となる言語を自動的に特定して文字起こしでき、予想されるロケールの集合で認識の選択肢を絞れます。言語の利用可否は方式や機能によって異なります。文字起こしの対応言語一覧はダイアライゼーションの一覧より広いため、ある言語を認識できることだけで、すべての話者機能やタイミング機能に対応すると判断してはいけません。録音に合うロケールを使い、言語を切り替えて発話された名前や専門用語を確認用に残します。検出された言語ラベルは結果の一部であり、すべての珍しい単語が正しく認識された証拠ではありません。</p><p>話者ダイアライゼーションは、単一チャンネルの録音で、声ごとに発話をまとめます。Googleは、単語ごとの話者情報を含むバッチ文字起こしの例を提供しています。インタビューでは、そのラベルを認識テキストと一緒に保持し、実際の名前や役割を付ける前に、話者の切り替わりを録音と照合します。似た声、割り込み、発話の重なりによって、割り当てが難しくなる場合があります。ラベルを独立に確認された身元情報として扱わず、元のチャンネル構成と、意図する話者確認の課題を明確にしてください。</p><p>タイミングも方式ごとに異なります。ストリーミング認識は発話単位のタイムスタンプを提供し、開発元のファイル認識ガイドは、文字起こし品質とのトレードオフがありうる任意の単語タイミングを説明しています。選んだ方式が実際に返したメタデータを保持し、文言と併せて時間の対応を確認してください。字幕制作には、読みやすい認識テキストと、時間の境界が正しい音に対応している証拠の両方が必要です。Googleは、返される単語単位の信頼度値は真の信頼度スコアではないとも警告しているため、単語が正しいと認定するために使ってはいけません。</p><p>音声適応では、録音に現れそうなフレーズや固有名詞を提供します。開発元のドキュメントには最大1,000フレーズの辞書が記載されており、ほかの用語の認識を悪化させないため、関連する項目をできるだけ少なくするよう勧めています。技術プレゼンテーションでは、実際の商品名や略語の短い一覧を準備し、文字起こし内で確認してください。認識を偏らせることは用語を候補として考慮する助けにはなりますが、その用語が発話された証明にも、音声との照合の代わりにもなりません。</p><p>モデルは句読点と大文字表記を自動で付け、公開インターフェースでは無効化できます。Googleは、特定の名前や日付の書き方など、カスタム文字起こし形式の指示に関するプレビュー機能も説明しています。その指示は、認識した発話の整形に焦点を絞ってください。日付を正規化したりブランドを大文字にしたりした文字起こしでも、発話の意味を保持する必要があります。要約、翻訳、事実分析は、文字起こしを後で利用する段階であり、認識結果自体によって確立されるものではありません。</p><p>組み込みのノイズ除去は、背景の音楽や、雨、街の雑音などの環境音を軽減するためのものです。Googleは、背景にある人の声を除去できないと明記しています。会話が重なった録音を準備する場合は、この違いを保ってください。見た目が整った文字起こしを妨害音が除去された証拠と考えず、雑音の多い部分と静かな部分を元の音声と照合します。有用な結果では、不確実な箇所を修正できるよう特定可能なままにします。</p><p>ストリーミングの課題では、エンドポイント検出の感度によって、発話を終了したと扱う時点が変わります。開発元は、想定する発話が短くなる順にstandard、short、supershortの設定を説明しています。速い設定では、考えながら途中で間を置いた話者を切ってしまう場合があります。自然な口述、短い文、非常に短いコマンドに合わせて設定し、文字起こしと一緒に最終結果の状態を保持します。完成ファイルでは、名前、数量、否定、話者の境界を確認し、結果を確認・再利用できるよう、選んだモードと元の音声を保存してください。</p>",
  "aboutText": "Google Chirp 3は、発話音声をテキストへ変換する多言語自動音声認識モデルです。Googleは、Speech-to-Text V2ファミリーのChirp 3文字起こしモデルとして公開し、モデル識別子をchirp_3としています。目的は、言語検出と文字起こし専用機能を使って、録音またはストリームの発話を認識することです。成果物は、生成音声や自由形式のアシスタント回答ではなく、文字起こしと、選んだ認識方式が対応するメタデータです。\n\n開発元は、ストリーミング認識、短いクリップの同期認識、長い録音のバッチ認識を区別しています。元の音声と必要な結果に応じてモードを選んでください。短いボイスメモでは、完成したテキスト応答で十分な場合があります。インタビューや通話の録音では、話者情報付きのバッチ結果のほうが役立つ場合があります。リアルタイム字幕や音声コマンドのインターフェースでは、中間テキストと最終認識結果を分け、それが表す音声区間を保持します。\n\n認識実装が想定するエンコーディングで音声を準備します。GoogleのChirp 3の例では、録音ファイルには自動検出によるデコード、生のストリーミング設定には明示的なデコードを使っています。関連するV2デコーダーのリファレンスには、対応エンコーディングとして、WAVのPCMまたは圧伸音声、FLAC、MP3、Ogg/WebM Opus、MP4・M4A・MOVコンテナ内のAACなどが挙げられています。コンテナ名は、実際のコーデックとサンプル設定の代わりにはなりません。明瞭な発話を保ち、ひどいクリッピングや、聞き取れる詳細を失う不要な変換を避けてください。\n\nChirp 3は、中心となる言語を自動的に特定して文字起こしでき、予想されるロケールの集合で認識の選択肢を絞れます。言語の利用可否は方式や機能によって異なります。文字起こしの対応言語一覧はダイアライゼーションの一覧より広いため、ある言語を認識できることだけで、すべての話者機能やタイミング機能に対応すると判断してはいけません。録音に合うロケールを使い、言語を切り替えて発話された名前や専門用語を確認用に残します。検出された言語ラベルは結果の一部であり、すべての珍しい単語が正しく認識された証拠ではありません。\n\n話者ダイアライゼーションは、単一チャンネルの録音で、声ごとに発話をまとめます。Googleは、単語ごとの話者情報を含むバッチ文字起こしの例を提供しています。インタビューでは、そのラベルを認識テキストと一緒に保持し、実際の名前や役割を付ける前に、話者の切り替わりを録音と照合します。似た声、割り込み、発話の重なりによって、割り当てが難しくなる場合があります。ラベルを独立に確認された身元情報として扱わず、元のチャンネル構成と、意図する話者確認の課題を明確にしてください。\n\nタイミングも方式ごとに異なります。ストリーミング認識は発話単位のタイムスタンプを提供し、開発元のファイル認識ガイドは、文字起こし品質とのトレードオフがありうる任意の単語タイミングを説明しています。選んだ方式が実際に返したメタデータを保持し、文言と併せて時間の対応を確認してください。字幕制作には、読みやすい認識テキストと、時間の境界が正しい音に対応している証拠の両方が必要です。Googleは、返される単語単位の信頼度値は真の信頼度スコアではないとも警告しているため、単語が正しいと認定するために使ってはいけません。\n\n音声適応では、録音に現れそうなフレーズや固有名詞を提供します。開発元のドキュメントには最大1,000フレーズの辞書が記載されており、ほかの用語の認識を悪化させないため、関連する項目をできるだけ少なくするよう勧めています。技術プレゼンテーションでは、実際の商品名や略語の短い一覧を準備し、文字起こし内で確認してください。認識を偏らせることは用語を候補として考慮する助けにはなりますが、その用語が発話された証明にも、音声との照合の代わりにもなりません。\n\nモデルは句読点と大文字表記を自動で付け、公開インターフェースでは無効化できます。Googleは、特定の名前や日付の書き方など、カスタム文字起こし形式の指示に関するプレビュー機能も説明しています。その指示は、認識した発話の整形に焦点を絞ってください。日付を正規化したりブランドを大文字にしたりした文字起こしでも、発話の意味を保持する必要があります。要約、翻訳、事実分析は、文字起こしを後で利用する段階であり、認識結果自体によって確立されるものではありません。\n\n組み込みのノイズ除去は、背景の音楽や、雨、街の雑音などの環境音を軽減するためのものです。Googleは、背景にある人の声を除去できないと明記しています。会話が重なった録音を準備する場合は、この違いを保ってください。見た目が整った文字起こしを妨害音が除去された証拠と考えず、雑音の多い部分と静かな部分を元の音声と照合します。有用な結果では、不確実な箇所を修正できるよう特定可能なままにします。\n\nストリーミングの課題では、エンドポイント検出の感度によって、発話を終了したと扱う時点が変わります。開発元は、想定する発話が短くなる順にstandard、short、supershortの設定を説明しています。速い設定では、考えながら途中で間を置いた話者を切ってしまう場合があります。自然な口述、短い文、非常に短いコマンドに合わせて設定し、文字起こしと一緒に最終結果の状態を保持します。完成ファイルでは、名前、数量、否定、話者の境界を確認し、結果を確認・再利用できるよう、選んだモードと元の音声を保存してください。",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "29c6b1317306b45d880c5c1584b452ffb9c3b59cf1bfbf9e98e6d3befed7f722",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ja",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Chirp 3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"閉じる\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/chirp-3</code><button type=\"button\" id=\"copy-id\">IDをコピー</button></div><nav class=\"card-jump-nav\" aria-label=\"モデルカードのセクション\"><button type=\"button\" data-card-jump=\"overview\">はじめに</button><button type=\"button\" data-card-jump=\"methods\">入力とメソッド</button><button type=\"button\" data-card-jump=\"pricing\">料金</button><button type=\"button\" data-card-jump=\"examples\">例</button><button type=\"button\" data-card-jump=\"results\">結果</button><button type=\"button\" data-card-jump=\"aliases\">エイリアス</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"APIメソッド\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|google%2Fchirp-3\">認識</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\">はじめに</h3><p class=\"mdesc-full\">Google Chirp 3は、ストリーミング、短い録音、長い録音のバッチ文字起こしに向けた多言語音声認識モデルです。自動言語検出、句読点、語彙適応、モードごとのタイミングや話者メタデータを提供します。ノイズ除去機能は背景雑音を軽減しますが、他人の声は除去できません。</p><dl class=\"card-io\" data-card-io><div><dt>対応する入力</dt><dd>音声</dd></div><div><dt>結果</dt><dd>テキスト</dd></div></dl><details class=\"card-about\"><summary>モデルについて</summary><p class=\"note-s\" data-model-method-boundary>この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。</p><div class=\"mabout\" id=\"m-about\"><p>Google Chirp 3は、発話音声をテキストへ変換する多言語自動音声認識モデルです。Googleは、Speech-to-Text V2ファミリーのChirp 3文字起こしモデルとして公開し、モデル識別子をchirp_3としています。目的は、言語検出と文字起こし専用機能を使って、録音またはストリームの発話を認識することです。成果物は、生成音声や自由形式のアシスタント回答ではなく、文字起こしと、選んだ認識方式が対応するメタデータです。</p><p>開発元は、ストリーミング認識、短いクリップの同期認識、長い録音のバッチ認識を区別しています。元の音声と必要な結果に応じてモードを選んでください。短いボイスメモでは、完成したテキスト応答で十分な場合があります。インタビューや通話の録音では、話者情報付きのバッチ結果のほうが役立つ場合があります。リアルタイム字幕や音声コマンドのインターフェースでは、中間テキストと最終認識結果を分け、それが表す音声区間を保持します。</p><p>認識実装が想定するエンコーディングで音声を準備します。GoogleのChirp 3の例では、録音ファイルには自動検出によるデコード、生のストリーミング設定には明示的なデコードを使っています。関連するV2デコーダーのリファレンスには、対応エンコーディングとして、WAVのPCMまたは圧伸音声、FLAC、MP3、Ogg/WebM Opus、MP4・M4A・MOVコンテナ内のAACなどが挙げられています。コンテナ名は、実際のコーデックとサンプル設定の代わりにはなりません。明瞭な発話を保ち、ひどいクリッピングや、聞き取れる詳細を失う不要な変換を避けてください。</p><p>Chirp 3は、中心となる言語を自動的に特定して文字起こしでき、予想されるロケールの集合で認識の選択肢を絞れます。言語の利用可否は方式や機能によって異なります。文字起こしの対応言語一覧はダイアライゼーションの一覧より広いため、ある言語を認識できることだけで、すべての話者機能やタイミング機能に対応すると判断してはいけません。録音に合うロケールを使い、言語を切り替えて発話された名前や専門用語を確認用に残します。検出された言語ラベルは結果の一部であり、すべての珍しい単語が正しく認識された証拠ではありません。</p><p>話者ダイアライゼーションは、単一チャンネルの録音で、声ごとに発話をまとめます。Googleは、単語ごとの話者情報を含むバッチ文字起こしの例を提供しています。インタビューでは、そのラベルを認識テキストと一緒に保持し、実際の名前や役割を付ける前に、話者の切り替わりを録音と照合します。似た声、割り込み、発話の重なりによって、割り当てが難しくなる場合があります。ラベルを独立に確認された身元情報として扱わず、元のチャンネル構成と、意図する話者確認の課題を明確にしてください。</p><p>タイミングも方式ごとに異なります。ストリーミング認識は発話単位のタイムスタンプを提供し、開発元のファイル認識ガイドは、文字起こし品質とのトレードオフがありうる任意の単語タイミングを説明しています。選んだ方式が実際に返したメタデータを保持し、文言と併せて時間の対応を確認してください。字幕制作には、読みやすい認識テキストと、時間の境界が正しい音に対応している証拠の両方が必要です。Googleは、返される単語単位の信頼度値は真の信頼度スコアではないとも警告しているため、単語が正しいと認定するために使ってはいけません。</p><p>音声適応では、録音に現れそうなフレーズや固有名詞を提供します。開発元のドキュメントには最大1,000フレーズの辞書が記載されており、ほかの用語の認識を悪化させないため、関連する項目をできるだけ少なくするよう勧めています。技術プレゼンテーションでは、実際の商品名や略語の短い一覧を準備し、文字起こし内で確認してください。認識を偏らせることは用語を候補として考慮する助けにはなりますが、その用語が発話された証明にも、音声との照合の代わりにもなりません。</p><p>モデルは句読点と大文字表記を自動で付け、公開インターフェースでは無効化できます。Googleは、特定の名前や日付の書き方など、カスタム文字起こし形式の指示に関するプレビュー機能も説明しています。その指示は、認識した発話の整形に焦点を絞ってください。日付を正規化したりブランドを大文字にしたりした文字起こしでも、発話の意味を保持する必要があります。要約、翻訳、事実分析は、文字起こしを後で利用する段階であり、認識結果自体によって確立されるものではありません。</p><p>組み込みのノイズ除去は、背景の音楽や、雨、街の雑音などの環境音を軽減するためのものです。Googleは、背景にある人の声を除去できないと明記しています。会話が重なった録音を準備する場合は、この違いを保ってください。見た目が整った文字起こしを妨害音が除去された証拠と考えず、雑音の多い部分と静かな部分を元の音声と照合します。有用な結果では、不確実な箇所を修正できるよう特定可能なままにします。</p><p>ストリーミングの課題では、エンドポイント検出の感度によって、発話を終了したと扱う時点が変わります。開発元は、想定する発話が短くなる順にstandard、short、supershortの設定を説明しています。速い設定では、考えながら途中で間を置いた話者を切ってしまう場合があります。自然な口述、短い文、非常に短いコマンドに合わせて設定し、文字起こしと一緒に最終結果の状態を保持します。完成ファイルでは、名前、数量、否定、話者の境界を確認し、結果を確認・再利用できるよう、選んだモードと元の音声を保存してください。</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailootで利用可能 · 入力とメソッド</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · 文字起こし</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>入力の種類</dt><dd><code>audio</code></dd></div><div><dt>出力の種類</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>フィールド</th><th>種類</th><th>要件</th><th>値と制限</th><th>デフォルト</th></tr></thead><tbody><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span><code>string</code></td><td data-cell-label=\"要件\"><span class=\"card-cell-label\">要件</span>必須</td><td data-cell-label=\"値と制限\"><span class=\"card-cell-label\">値と制限</span><div>google/chirp-3</div></td><td data-cell-label=\"デフォルト\" data-default=\"unspecified\"><span class=\"card-cell-label\">デフォルト</span>—</td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span><code>object</code></td><td data-cell-label=\"要件\"><span class=\"card-cell-label\">要件</span>必須</td><td data-cell-label=\"値と制限\"><span class=\"card-cell-label\">値と制限</span></td><td data-cell-label=\"デフォルト\" data-default=\"unspecified\"><span class=\"card-cell-label\">デフォルト</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>メソッドのパラメータとライフサイクル</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>パラメータ</th><th>仕様</th></tr></thead><tbody><tr><th data-cell-label=\"パラメータ\" scope=\"row\"><span class=\"card-cell-label\">パラメータ</span><code>content_type</code></th><td data-cell-label=\"仕様\"><span class=\"card-cell-label\">仕様</span>application/json</td></tr><tr><th data-cell-label=\"パラメータ\" scope=\"row\"><span class=\"card-cell-label\">パラメータ</span><code>required</code></th><td data-cell-label=\"仕様\"><span class=\"card-cell-label\">仕様</span>model, input_audio</td></tr><tr><th data-cell-label=\"パラメータ\" scope=\"row\"><span class=\"card-cell-label\">パラメータ</span><code>material_types</code></th><td data-cell-label=\"仕様\"><span class=\"card-cell-label\">仕様</span>audio</td></tr><tr><th data-cell-label=\"パラメータ\" scope=\"row\"><span class=\"card-cell-label\">パラメータ</span><code>material_conditions</code></th><td data-cell-label=\"仕様\"><span class=\"card-cell-label\">仕様</span>この例では、実際の空でないPCM WAVファイルを読み込み、ファイル全体のバイト列をbase64にエンコードして、input_audio.formatをwavとして送信します。</td></tr></tbody></table></div><p>ライフサイクル: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · 既存の所有メディアレコードにある正確なtask_id</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\">料金</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。</p><dl data-price-conditions><dt>高速モード</dt><dd>未指定 <span class=\"note-s\">高速モードが選択されている場合</span></dd><dt>Flex モード</dt><dd>未指定 <span class=\"note-s\">flex モードが選択されている場合</span></dd><dt>最大推論量</dt><dd>未指定 <span class=\"note-s\">推論量が最大で、調整に既定値（default）を使用する場合</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailootの料金</h4><h4>設定別の価格</h4><p class=\"note-s\">各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>設定</th><th>料金表</th><th>課金単位</th><th>料金</th></tr></thead><tbody><tr><th data-cell-label=\"設定\" scope=\"row\"><span class=\"card-cell-label\">設定</span>基本トークン料金</th><td data-cell-label=\"料金表\"><span class=\"card-cell-label\">料金表</span>基本料金</td><td data-cell-label=\"課金単位\"><span class=\"card-cell-label\">課金単位</span>—</td><td data-cell-label=\"料金\"><span class=\"card-cell-label\">料金</span><div><span>入力 · 入力トークン</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div><div><span>出力 · 出力トークン</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div><div><span>入力 · キャッシュ読み取り</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div><div><span>入力 · キャッシュ書き込み</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div><div><span>入力 · キャッシュ書き込み、1時間</span> <b>—</b> <span class=\"price-unit\">/ 1K トークン</span></div></td></tr><tr><th data-cell-label=\"設定\" scope=\"row\"><span class=\"card-cell-label\">設定</span>入力音声の秒</th><td data-cell-label=\"料金表\"><span class=\"card-cell-label\">料金表</span>—</td><td data-cell-label=\"課金単位\"><span class=\"card-cell-label\">課金単位</span>入力音声1秒あたり</td><td data-cell-label=\"料金\"><span class=\"card-cell-label\">料金</span><div><span>入力 · 入力音声の秒</span> <b>$0.000533333333334</b> <span class=\"price-unit\">入力音声1秒あたり</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。<a href=\"/docs/ja/billing/reserve/\">金額の確保と精算の仕組み →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">リクエスト例</h3><h4>Ailoot Ultra · 文字起こし</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"コードの種類\"><button class=\"cg-tab\" id=\"model-code-1435-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1435-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · 実際の WAV ファイルと元の結果全体</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"コードをコピー\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1435-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1435-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;google/chirp-3&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">結果を受け取って保存</h3><h4>Ailoot Ultra · 文字起こし</h4><p class=\"note-s\">元のレスポンス本文全体、ステータス、および転送されたヘッダー。このハンドラーは共通のJSON構造、テキストフィールド、タスクの外側の構造を追加しません。</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>完了した結果をすべて保存</h5><p class=\"note-s\">返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。</p><p class=\"note-s\">レスポンスとヘッダーの全体、実際の出力すべて、最初に返された識別子、使用量フィールドすべてを保存してください。作成リクエストを再送せずに、元の操作を復旧してください。</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>元のレスポンスを確認する場合</h5><p class=\"note-s\">実際のX-Client-Request-IDと完全なレスポンスを保持してください。元の所有アセットと、その正確な署名付きコンテンツURLを読み取ってください。結果が不確かな作成リクエストは、決して再送信しないでください。</p></div><details class=\"card-about\" data-output-fields><summary>レスポンスのフィールド</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>フィールド</th><th>種類</th></tr></thead><tbody><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span></td></tr><tr><th data-cell-label=\"フィールド\" scope=\"row\"><span class=\"card-cell-label\">フィールド</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"種類\" data-field-type><span class=\"card-cell-label\">種類</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>エラーと次の手順</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>レスポンス</th><th>条件</th><th>次の手順</th></tr></thead><tbody><tr><th data-cell-label=\"レスポンス\" scope=\"row\"><span class=\"card-cell-label\">レスポンス</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"条件\"><span class=\"card-cell-label\">条件</span>JSON本文、または明示された正規モデルIDが無効です。</td><td data-cell-label=\"次の手順\"><span class=\"card-cell-label\">次の手順</span>レスポンスを保持し、指摘されたリクエストフィールドを修正してください。</td></tr><tr><th data-cell-label=\"レスポンス\" scope=\"row\"><span class=\"card-cell-label\">レスポンス</span>401 · <code>authentication_error</code></th><td data-cell-label=\"条件\"><span class=\"card-cell-label\">条件</span>Ailoot APIキーが無効です。</td><td data-cell-label=\"次の手順\"><span class=\"card-cell-label\">次の手順</span>利用権限のあるAiloot APIキーを使用してください。</td></tr><tr><th data-cell-label=\"レスポンス\" scope=\"row\"><span class=\"card-cell-label\">レスポンス</span>403 · <code>permission_error</code></th><td data-cell-label=\"条件\"><span class=\"card-cell-label\">条件</span>このキーのグループでは、このメソッドの利用が許可されていません。</td><td data-cell-label=\"次の手順\"><span class=\"card-cell-label\">次の手順</span>返されたエラーの詳細を保持してください。</td></tr><tr><th data-cell-label=\"レスポンス\" scope=\"row\"><span class=\"card-cell-label\">レスポンス</span>404 · <code>not_found_error</code></th><td data-cell-label=\"条件\"><span class=\"card-cell-label\">条件</span>選択したメソッドには、利用が許可されたルートがありません。</td><td data-cell-label=\"次の手順\"><span class=\"card-cell-label\">次の手順</span>返されたエラーの詳細を保持してください。</td></tr><tr><th data-cell-label=\"レスポンス\" scope=\"row\"><span class=\"card-cell-label\">レスポンス</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"条件\"><span class=\"card-cell-label\">条件</span>受諾済みの料金体系に必要な入力量、またはその上限を取得できません。</td><td data-cell-label=\"次の手順\"><span class=\"card-cell-label\">次の手順</span>レスポンスを保持し、受諾済みの料金体系で必要とされる入力表現を使用してください。</td></tr><tr><th data-cell-label=\"レスポンス\" scope=\"row\"><span class=\"card-cell-label\">レスポンス</span>503 · <code></code></th><td data-cell-label=\"条件\"><span class=\"card-cell-label\">条件</span>必要な保存領域、ルート、メソッド料金、または料金の仮押さえを利用できません。</td><td data-cell-label=\"次の手順\"><span class=\"card-cell-label\">次の手順</span>元のレスポンス全体を保持してください。料金の仮押さえ状態が不明でも、再送信が認められるわけではありません。</td></tr><tr><th data-cell-label=\"レスポンス\" scope=\"row\"><span class=\"card-cell-label\">レスポンス</span>502 · <code>server_error</code></th><td data-cell-label=\"条件\"><span class=\"card-cell-label\">条件</span>元の結果、使用量、または精算を確認する必要があります。</td><td data-cell-label=\"次の手順\"><span class=\"card-cell-label\">次の手順</span>実際のリクエストIDと元のレスポンスを保持してください。既存の所有レコードを読み取ってください。作成リクエストを再送信しないでください。</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">エイリアス</h3><h4>モデルのエイリアス</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fchirp-3&amp;route=Ultra&amp;caller=google%2Fchirp-3&amp;fmt=transcriptions\"><code>google/chirp-3</code></a></span></p><h4>メソッドパスのエイリアス</h4><p class=\"note-s\">上記に表示されたメソッドパスを使用してください。</p><h4>関連する呼び出し用ID</h4><p class=\"note-s\"><a href=\"#m=google%2Fchirp-3&amp;route=Ultra&amp;caller=google%2Fchirp-3&amp;fmt=transcriptions\"><code>google/chirp-3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/chirp-3",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "google/chirp-3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|google%2Fchirp-3",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "JSON本文、または明示された正規モデルIDが無効です。",
                "http_status": 400,
                "recovery": "レスポンスを保持し、指摘されたリクエストフィールドを修正してください。",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot APIキーが無効です。",
                "http_status": 401,
                "recovery": "利用権限のあるAiloot APIキーを使用してください。",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "このキーのグループでは、このメソッドの利用が許可されていません。",
                "http_status": 403,
                "recovery": "返されたエラーの詳細を保持してください。",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "選択したメソッドには、利用が許可されたルートがありません。",
                "http_status": 404,
                "recovery": "返されたエラーの詳細を保持してください。",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "受諾済みの料金体系に必要な入力量、またはその上限を取得できません。",
                "http_status": 422,
                "recovery": "レスポンスを保持し、受諾済みの料金体系で必要とされる入力表現を使用してください。",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "必要な保存領域、ルート、メソッド料金、または料金の仮押さえを利用できません。",
                "http_status": 503,
                "recovery": "元のレスポンス全体を保持してください。料金の仮押さえ状態が不明でも、再送信が認められるわけではありません。",
                "type": null
              },
              {
                "code": null,
                "condition": "元の結果、使用量、または精算を確認する必要があります。",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "実際のリクエストIDと元のレスポンスを保持してください。既存の所有レコードを読み取ってください。作成リクエストを再送信しないでください。",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "実際のX-Client-Request-IDと完全なレスポンスを保持してください。元の所有アセットと、その正確な署名付きコンテンツURLを読み取ってください。結果が不確かな作成リクエストは、決して再送信しないでください。"
            },
            "outputs": {
              "all_results": "レスポンスとヘッダーの全体、実際の出力すべて、最初に返された識別子、使用量フィールドすべてを保存してください。作成リクエストを再送せずに、元の操作を復旧してください。",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "元のレスポンス本文全体、ステータス、および転送されたヘッダー。このハンドラーは共通のJSON構造、テキストフィールド、タスクの外側の構造を追加しません。"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "google/chirp-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "google/chirp-3"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "google/chirp-3"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "この例では、実際の空でないPCM WAVファイルを読み込み、ファイル全体のバイト列をbase64にエンコードして、input_audio.formatをwavとして送信します。"
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "既存の所有メディアレコードにある正確なtask_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000533333333334",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000533333333334",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'google/chirp-3', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "文字起こし",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.000533333333334
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000533333333334",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000533333333334",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "google/chirp-3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.000533333333334",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.000533333333334",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "google/chirp-3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "3ed292a7ad9b63e4a5223ebf773effc8a5d6cf9d169f6a84cb2095d8dd9e82fd",
    "input_html_sha256": "a4f9a44e2574b6f224f4a280271116fd88c075e37e899ef06fe94cffbba30a12",
    "private_audit_sha256": "ac9eb594a45c9aaaae1828a607cfe363f4943d35d4f29ec9eeebd304719e880c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ja/google-chirp-3/",
    "description": "Google Chirp 3は、ストリーミング、短い録音、長い録音のバッチ文字起こしに向けた多言語音声認識モデルです。自動言語検出、句読点、語彙適応、モードごとのタイミングや話者メタデータを提供します。ノイズ除去機能は背景雑音を軽減しますが、他人の声は除去できません。",
    "locale": "ja",
    "md_url": "https://ailoot.ai/models/ja/google-chirp-3/index.md",
    "title": "Google: Chirp 3 — Ailoot",
    "url": "https://ailoot.ai/models/ja/google-chirp-3/"
  },
  "rawModel": {
    "about": "Google Chirp 3は、発話音声をテキストへ変換する多言語自動音声認識モデルです。Googleは、Speech-to-Text V2ファミリーのChirp 3文字起こしモデルとして公開し、モデル識別子をchirp_3としています。目的は、言語検出と文字起こし専用機能を使って、録音またはストリームの発話を認識することです。成果物は、生成音声や自由形式のアシスタント回答ではなく、文字起こしと、選んだ認識方式が対応するメタデータです。\n\n開発元は、ストリーミング認識、短いクリップの同期認識、長い録音のバッチ認識を区別しています。元の音声と必要な結果に応じてモードを選んでください。短いボイスメモでは、完成したテキスト応答で十分な場合があります。インタビューや通話の録音では、話者情報付きのバッチ結果のほうが役立つ場合があります。リアルタイム字幕や音声コマンドのインターフェースでは、中間テキストと最終認識結果を分け、それが表す音声区間を保持します。\n\n認識実装が想定するエンコーディングで音声を準備します。GoogleのChirp 3の例では、録音ファイルには自動検出によるデコード、生のストリーミング設定には明示的なデコードを使っています。関連するV2デコーダーのリファレンスには、対応エンコーディングとして、WAVのPCMまたは圧伸音声、FLAC、MP3、Ogg/WebM Opus、MP4・M4A・MOVコンテナ内のAACなどが挙げられています。コンテナ名は、実際のコーデックとサンプル設定の代わりにはなりません。明瞭な発話を保ち、ひどいクリッピングや、聞き取れる詳細を失う不要な変換を避けてください。\n\nChirp 3は、中心となる言語を自動的に特定して文字起こしでき、予想されるロケールの集合で認識の選択肢を絞れます。言語の利用可否は方式や機能によって異なります。文字起こしの対応言語一覧はダイアライゼーションの一覧より広いため、ある言語を認識できることだけで、すべての話者機能やタイミング機能に対応すると判断してはいけません。録音に合うロケールを使い、言語を切り替えて発話された名前や専門用語を確認用に残します。検出された言語ラベルは結果の一部であり、すべての珍しい単語が正しく認識された証拠ではありません。\n\n話者ダイアライゼーションは、単一チャンネルの録音で、声ごとに発話をまとめます。Googleは、単語ごとの話者情報を含むバッチ文字起こしの例を提供しています。インタビューでは、そのラベルを認識テキストと一緒に保持し、実際の名前や役割を付ける前に、話者の切り替わりを録音と照合します。似た声、割り込み、発話の重なりによって、割り当てが難しくなる場合があります。ラベルを独立に確認された身元情報として扱わず、元のチャンネル構成と、意図する話者確認の課題を明確にしてください。\n\nタイミングも方式ごとに異なります。ストリーミング認識は発話単位のタイムスタンプを提供し、開発元のファイル認識ガイドは、文字起こし品質とのトレードオフがありうる任意の単語タイミングを説明しています。選んだ方式が実際に返したメタデータを保持し、文言と併せて時間の対応を確認してください。字幕制作には、読みやすい認識テキストと、時間の境界が正しい音に対応している証拠の両方が必要です。Googleは、返される単語単位の信頼度値は真の信頼度スコアではないとも警告しているため、単語が正しいと認定するために使ってはいけません。\n\n音声適応では、録音に現れそうなフレーズや固有名詞を提供します。開発元のドキュメントには最大1,000フレーズの辞書が記載されており、ほかの用語の認識を悪化させないため、関連する項目をできるだけ少なくするよう勧めています。技術プレゼンテーションでは、実際の商品名や略語の短い一覧を準備し、文字起こし内で確認してください。認識を偏らせることは用語を候補として考慮する助けにはなりますが、その用語が発話された証明にも、音声との照合の代わりにもなりません。\n\nモデルは句読点と大文字表記を自動で付け、公開インターフェースでは無効化できます。Googleは、特定の名前や日付の書き方など、カスタム文字起こし形式の指示に関するプレビュー機能も説明しています。その指示は、認識した発話の整形に焦点を絞ってください。日付を正規化したりブランドを大文字にしたりした文字起こしでも、発話の意味を保持する必要があります。要約、翻訳、事実分析は、文字起こしを後で利用する段階であり、認識結果自体によって確立されるものではありません。\n\n組み込みのノイズ除去は、背景の音楽や、雨、街の雑音などの環境音を軽減するためのものです。Googleは、背景にある人の声を除去できないと明記しています。会話が重なった録音を準備する場合は、この違いを保ってください。見た目が整った文字起こしを妨害音が除去された証拠と考えず、雑音の多い部分と静かな部分を元の音声と照合します。有用な結果では、不確実な箇所を修正できるよう特定可能なままにします。\n\nストリーミングの課題では、エンドポイント検出の感度によって、発話を終了したと扱う時点が変わります。開発元は、想定する発話が短くなる順にstandard、short、supershortの設定を説明しています。速い設定では、考えながら途中で間を置いた話者を切ってしまう場合があります。自然な口述、短い文、非常に短いコマンドに合わせて設定し、文字起こしと一緒に最終結果の状態を保持します。完成ファイルでは、名前、数量、否定、話者の境界を確認し、結果を確認・再利用できるよう、選んだモードと元の音声を保存してください。",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.000533333333334",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.000533333333334",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "構成の料金情報はすべて詳細で確認できます。"
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "google/chirp-3",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "JSON本文、または明示された正規モデルIDが無効です。",
                "http_status": 400,
                "recovery": "レスポンスを保持し、指摘されたリクエストフィールドを修正してください。",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot APIキーが無効です。",
                "http_status": 401,
                "recovery": "利用権限のあるAiloot APIキーを使用してください。",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "このキーのグループでは、このメソッドの利用が許可されていません。",
                "http_status": 403,
                "recovery": "返されたエラーの詳細を保持してください。",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "選択したメソッドには、利用が許可されたルートがありません。",
                "http_status": 404,
                "recovery": "返されたエラーの詳細を保持してください。",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "受諾済みの料金体系に必要な入力量、またはその上限を取得できません。",
                "http_status": 422,
                "recovery": "レスポンスを保持し、受諾済みの料金体系で必要とされる入力表現を使用してください。",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "必要な保存領域、ルート、メソッド料金、または料金の仮押さえを利用できません。",
                "http_status": 503,
                "recovery": "元のレスポンス全体を保持してください。料金の仮押さえ状態が不明でも、再送信が認められるわけではありません。",
                "type": null
              },
              {
                "code": null,
                "condition": "元の結果、使用量、または精算を確認する必要があります。",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "実際のリクエストIDと元のレスポンスを保持してください。既存の所有レコードを読み取ってください。作成リクエストを再送信しないでください。",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "実際のX-Client-Request-IDと完全なレスポンスを保持してください。元の所有アセットと、その正確な署名付きコンテンツURLを読み取ってください。結果が不確かな作成リクエストは、決して再送信しないでください。"
            },
            "outputs": {
              "all_results": "レスポンスとヘッダーの全体、実際の出力すべて、最初に返された識別子、使用量フィールドすべてを保存してください。作成リクエストを再送せずに、元の操作を復旧してください。",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "元のレスポンス本文全体、ステータス、および転送されたヘッダー。このハンドラーは共通のJSON構造、テキストフィールド、タスクの外側の構造を追加しません。"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "google/chirp-3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "google/chirp-3"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "google/chirp-3"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "この例では、実際の空でないPCM WAVファイルを読み込み、ファイル全体のバイト列をbase64にエンコードして、input_audio.formatをwavとして送信します。"
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "既存の所有メディアレコードにある正確なtask_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000533333333334",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000533333333334",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'google/chirp-3', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "文字起こし",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.000533333333334
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.000533333333334",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.000533333333334",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "google/chirp-3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.000533333333334",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.000533333333334",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/chirp-3",
        "request_model_id": "google/chirp-3",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Chirp 3",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Google Chirp 3は、ストリーミング、短い録音、長い録音のバッチ文字起こしに向けた多言語音声認識モデルです。自動言語検出、句読点、語彙適応、モードごとのタイミングや話者メタデータを提供します。ノイズ除去機能は背景雑音を軽減しますが、他人の声は除去できません。"
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Google Chirp 3は、ストリーミング、短い録音、長い録音のバッチ文字起こしに向けた多言語音声認識モデルです。自動言語検出、句読点、語彙適応、モードごとのタイミングや話者メタデータを提供します。ノイズ除去機能は背景雑音を軽減しますが、他人の声は除去できません。",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "ebd01b1fe9eb88ec679995c827c0636fa14874dac3a94e6e0147ae552a0c8a74",
    "renderer_sha256": "b06e5309d3e585ab5fe0535c1a8bd6320bdc357ea8509c2389320e8fa40c36e5"
  },
  "sourceRevision": "225e4f302a5c0d8fd46e556eab7b5ecf0cb0302d2017f40a9906e841590190f9"
}
