Laravel12 × OpenAI API|音声ファイルをテキストに変換(Speech-to-Text)

Laravel12 × OpenAI API|音声ファイルをテキストに変換(Speech-to-Text)

OpenAIの音声認識モデルであるgpt-4o-mini-transcribeを使って音声ファイルをテキストに変換する方法です。

前準備

 .envファイルにOpenAI APIキーを設定しておきましょう。

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxx

サンプルコード

use Illuminate\Support\Facades\Http;
       ・
       ・
       ・
        $apiKey = config('services.openai.key');

        // テキストに変換したい音声ファイル
        $audioFile = $request->file('audio');

        $response = Http::withHeaders([
            'Authorization' => 'Bearer ' . $apiKey,
        ])->attach(
            'file', file_get_contents($audioFile->getRealPath()), $audioFile->getClientOriginalName()
        )->post('https://api.openai.com/v1/audio/transcriptions', [
            'model' => 'gpt-4o-mini-transcribe',
            'language' => 'ja',
        ]);

        if ($response->successful()) {
            $text = $response->json()['text'];
        } else {
            Log::error('OpenAI API Error: ' . $response->body());
            $text = '';
        }

対応音声ファイル形式

  • .mp3
  • .mp4
  • .mpeg
  • .mpga
  • .m4a
  • .wav
  • .webm

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です