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