iFlytek

iFLYTEK 音声認識 API 完全ガイド:選定ポイント・登録手順・実装例

ⓘ本ページはプロモーションが含まれています

Contents

スポンサードリンク

iFLYTEK 音声認識 API の全体概要と選定ポイント

iFLYTEK OpenPlatform が提供する音声認識は、利用シーンに合わせて 3 種類 に大別されます。本セクションではそれぞれの特徴を把握し、導入時に「バッチ vs リアルタイム」「汎用 vs 業界特化」の観点で最適な API を選択できるように解説します。実際のプロジェクトでどちらが適合するかを判断する材料として活用してください。

標準音声認識

標準 API はバッチ処理向けで、ファイル単位の高精度文字起こしに最適です。
- 用途例:会議録音の事後文字起こし、ドキュメント自動生成
- 選定基準:遅延が許容でき、音声データをまとめて送信できる場合

主な特徴と注意点

標準認識は 非リアルタイム であるため、リクエストごとのサイズ上限(10 MB)や、1 回の呼び出しで処理可能な最大音声長(5 分程度)に留意してください。

リアルタイム字幕

リアルタイム字幕はストリーミング対応で、音声入力と同時に文字列を取得できます。
- 用途例:ライブ配信の自動字幕、スマートスピーカーの音声コマンド認識
- 選定基準:低レイテンシが必須で、WebSocket もしくは HTTP/2 のストリーミングに対応できる環境

実装上のポイント

リアルタイム字幕では 音声チャンク(20 ms〜100 ms)単位で送信し、サーバーから返ってくる result.text を逐次描画する必要があります。ネットワーク遅延が大きい環境ではバッファリング戦略を導入すると安定します。

カスタムモデル

カスタムモデルは業界固有語彙やアクセントに最適化された認識を提供します。
- 用途例:医療現場の専門用語、金融機関の固有表現
- 選定基準:既存汎用モデルで精度が不足する場合にカスタム辞書・学習データを投入して改善

カスタマイズ手順概要

  1. コンソールで「辞書管理」→ CSV(UTF‑8)形式で語彙リストをアップロード
  2. モデル作成画面で engine_typefinance_iatmedical_iat などの業界モデルを選択
  3. 承認が完了したら API 呼び出し時に該当 engine_type を指定

ポイント:利用シーン(バッチ vs リアルタイム)と認識精度要件(汎用 vs 業界特化)をまず整理し、対応 API を選択します。


法人向け OpenPlatform 登録手順と API キー・シークレット取得方法

このセクションでは iFLYTEK OpenPlatform のアカウント作成から API 認証情報取得までの流れを解説します。法人アカウントが必須かどうかは公式サイトで最新情報をご確認ください(個人向けプランが提供されている場合もあります)。また、取得したキーは機密情報ですので安全な保管方法についても併せて説明します。

アカウント種別の確認

  • 現時点(2026 年 4 月)では公式サイト上で「法人向けプラン」のみが明示されています。
  • 個人利用やスタートアップ向けの無料トライアルがあるかは、iFLYTEK OpenPlatform の料金・プランページ を随時確認してください。

登録手順(法人アカウント前提)

  1. 公式サイトへアクセス
    https://iflytek.co.jp/pages/openplatform にアクセスし、右上の「新規登録」ボタンをクリック。

  2. 法人情報入力

  3. 会社名・所在地・担当者メールアドレスなど必須項目を正確に入力します。
  4. 「法人アカウント作成」を選択すると、次のステップへ進みます。

  5. メール認証

  6. 送信された確認メール内のリンクをクリックし、画面表示される認証コードを入力して完了させます。

  7. 利用規約への同意

  8. API 利用契約書・プライバシーポリシーに目を通し、チェックボックスへチェックします。

  9. ダッシュボードでキー取得

  10. ログイン後の「API 管理」タブから「新規アプリケーション」を作成すると AppKeyAppSecret が自動発行されます。

重要AppSecret はサーバー側だけに保持し、クライアントコード(ブラウザやモバイルアプリ)へ埋め込まないでください。環境変数やシークレットマネージャーを利用して安全に管理します。


OAuth2.0 と HMAC 認証方式の実装例(Python・Node.js)

iFLYTEK OpenPlatform では OAuth 2.0HMAC の二種類の認証が公式にサポートされています。以下ではそれぞれのフロー、必須ヘッダー、および実装時に注意すべきエラーハンドリング・リトライロジックを具体的に示します。

OAuth2.0 認証

  • 仕様書:https://doc.iflytek.com/openplatform/oauth2(トークン取得エンドポイント、スコープ定義など)
  • フロー概要
  • AppKeyAppSecret を用いて client_credentials グラントでトークンを取得
  • 有効期限(デフォルト 24 h)切れ前に再取得、失敗時は指数バックオフでリトライ

Python(requests)実装例(エラー処理・リトライ付き)

Node.js(axios)実装例(エラー処理・リトライ付き)

HMAC 認証

  • 仕様書:https://doc.iflytek.com/openplatform/hmac(署名生成ルール、必須ヘッダー一覧)
  • フロー概要
  • リクエストパラメータをキー順に連結し、AppKey + timestamp + rawString を元に SHA‑256 HMAC を算出
  • X-App-Key, X-Timestamp, X-Auth-Signature ヘッダーをリクエストに付与

Python(hashlib)実装例(エラーハンドリング付き)

Node.js(crypto)実装例(エラーハンドリング・リトライ)

ポイント:OAuth2.0 はトークンの有効期限管理が必須です。失効エラー (1001) が返ってきたら即座に get_token() を再呼び出ししてリトライしましょう。一方 HMAC は毎回署名を生成するため、シークレット漏洩リスクを最小化できますが、タイムスタンプのズレ に注意してください。


リクエストパラメータとサンプル JSON の作り方

音声データのフォーマット・エンコーディングは認識精度に直結します。本節では公式ドキュメント(API パラメータリファレンス)を元に、必須項目と推奨設定を一覧化し、実装者がすぐにコピペできるサンプル JSON を提示します。

音声データ形式・エンコーディング

  • 対応フォーマット:PCM(16bit, 16 kHz 推奨)、WAV、MP3
  • リアルタイム字幕向け:必ず PCM (16bit, 16 kHz) に変換し、ヘッダー情報は除去した純粋なバイナリを Base64 化してください。
  • バッチ認識向け:WAV/MP3 でも可。ただしサンプリングレートが 8 kHz 以下の場合は自動で 16 kHz にアップサンプリングされますが、精度が低下する可能性があります。

言語・ノイズ除去オプション

パラメータ 説明 推奨設定
language 認識対象言語。例: zh-CN, en-US, ja-JP 日本語の場合は "ja-JP"
accent 方言・アクセント指定(日本語は standard がデフォルト) 必要に応じて "cantonese" など
noise_reduction ノイズ抑制レベル(0=無効、1=標準、2=強化) 一般的なノイズ環境では 1 推奨

標準音声認識向けサンプル JSON

リアルタイム字幕向けサンプル JSON(WebSocket 初回メッセージ)

音声チャンク送信用 JSON(ストリーミング中)

ポイント:音声ファイルは送信前にサンプリングレートを統一し、WAV ヘッダーなど余計なメタ情報を除去すると認識精度が向上します。


レスポンス構造とリアルタイム文字起こし取得、エラーコード対策

API の返却 JSON は 結果メタ情報 に分かれます。ここでは主要フィールドの意味と、リアルタイム字幕取得時に留意すべき点、さらに実運用で必ずハンドリングすべきエラーコード一覧を示します。

基本的なレスポンス項目

フィールド 説明
code 0 が成功。非 0 はエラーコード(整数)
message エラーメッセージまたは成功時の補足情報
session_id リクエスト単位で付与される識別子。リアルタイム取得に必須
result 認識結果オブジェクト
result.text 文字起こしテキスト(UTF‑8)
result.confidence 信頼度(0〜1)
result.timestamps 単語単位の開始・終了時刻配列(リアルタイム字幕で利用)

リアルタイム字幕取得フロー

  1. WebSocket 接続:エンドポイント wss://openapi.iflytek.com/v1/real_time_subtitle に接続。
  2. 認証メッセージ送信:OAuth2 の Bearer トークンまたは HMAC 署名付き JSON を最初に送信し、session_id を受領。
  3. 音声チャンク送信:20 ms〜100 ms 切り出した PCM データを Base64 化して audio_chunk フィールドで逐次送信。
  4. サーバーからの結果受信:サーバーはリアルタイムで result.texttimestamps を返すので、画面表示や字幕生成に利用。

Python(websockets)実装例(エラーハンドリング・リトライ付き)

主なエラーコードと対処法

コード 意味 推奨対策
1001 認証失敗(トークン無効、シグネチャ不正) トークンを再取得/署名ロジックを見直す。リトライ前に 30 秒待機でレート制限回避
2003 パラメータエラー(フォーマット・必須項目欠如) audio_format、Base64 エンコード、必須フィールドの有無を検証
3001 音声データサイズ上限超過 ファイルを 5 分以下に分割し、バッチ送信またはストリーミングへ切り替える
4002 利用上限オーバー(月間クォータ) プランのアップグレード/利用時間モニタリングとアラート設定
5000 サーバ内部エラー(一時的障害) 指数バックオフで最大 3 回リトライ。障害が続く場合はサポートへ問い合わせ

実装上のベストプラクティス:全ての API 呼び出しを try / catch(Python の except、Node.js の catch) で包み、エラーコードに応じたリトライ/通知フローを統一的に扱うヘルパー関数を作成すると保守性が向上します。


カスタマイズ機能・料金シミュレーション・実装ベストプラクティス

本章では語彙追加や業界モデルの利用方法、最新料金情報の取得手順、そして実際にプロダクションへ組み込む際の注意点をまとめます。料金は変動する可能性があるため必ず公式サイト(2026 年版)で最新プランを確認してください

語彙追加・業界モデル選択

項目 手順概要 注意点
語彙追加 コンソール → 「辞書管理」→ CSV(UTF‑8、1 行 1 語)をアップロード。最大 10,000 件まで登録可。 アップロード後は数分で即時反映されますが、キャッシュが残る場合は再起動または一定時間待機してください。
業界モデル 「モデル選択」パラメータ engine_typefinance_iat, medical_iat 等を指定。利用には事前審査が必要です。 審査通過後に API キーの権限が自動付与されます。未承認状態でリクエストすると 403 エラーが返ります。

最新料金プランと従量課金シミュレーション

  • 公式料金ページ:https://iflytek.com/openplatform/price(2026 年 4 月時点)
  • 標準音声認識:1,000 秒=0.04 USD(※為替レートは変動します)
  • リアルタイム字幕:1,000 秒=0.05 USD
  • カスタムモデル:1,000 秒=0.07 USD

月間利用時間別概算シミュレーション(2026 年 4 月レート)

月間利用時間 標準音声認識費用 (USD) リアルタイム字幕費用 (USD) カスタムモデル費用 (USD)
10 時間 (36,000 秒) $1.44 $1.80 $2.52
100 時間 (360,000 秒) $14.40 $18.00 $25.20
1,000 時間 (3,600,000 秒) $144.00 $180.00 $252.00

注意:上記は純粋な従量課金のみのシミュレーションです。法人向けボリュームディスカウントや年間契約割引は別途問い合わせが必要です。

実装ベストプラクティス

項目 推奨手法
音声前処理 16 kHz に統一、サイレンス除去、noise_reduction=1 で軽度ノイズ抑制
バッチ送信 5 分以下に分割し、非同期リクエストで同時実行数を制御(例:Python の asyncio.gather
ロギング・トレーシング session_id, タイムスタンプ, リクエスト/レスポンスサイズ を必ず記録し、ELK スタック等で可視化
リトライ戦略 5xx 系は指数バックオフ(初回 1 s、2 回目 2 s、3 回目 4 s)で最大 3 回再送。認証エラーは新トークン取得後即リトライ
モニタリング Grafana + Prometheus で「利用秒数」「エラーレート」「平均レイテンシ」を監視し、閾値超過時に Slack/メール通知
セキュリティ AppSecret は環境変数またはクラウド KMS に保存。通信は必ず TLS(HTTPS/WSS)で暗号化

Python でのロギング例

まとめ

  • アカウント種別は公式サイトで最新情報を必ず確認し、必要に応じて個人向けプランも検討
  • 料金は変動するため、公式価格ページのリンクを添えて都度チェック
  • 認証方式は OAuth2.0 と HMAC の両方が利用可能。エラーハンドリングとリトライロジックを実装して安定運用を確保
  • 音声前処理・パラメータ設定は精度に直結するため、公式ドキュメントの推奨設定を遵守
  • リアルタイム字幕は WebSocket でのストリーミング実装が必須。接続切れや遅延に備えて再接続ロジックを組み込むこと

以上のポイントを踏まえれば、iFLYTEK 音声認識 API を安全・効率的にプロダクションへ組み込めます。ぜひ本稿を実装ガイドとして活用し、継続的なモニタリングと改善サイクルを回してください。

スポンサードリンク

-iFlytek