fix: decode opus manually and use json audio transcription

This commit is contained in:
2026-06-08 06:29:29 +00:00
parent e6aac63aca
commit a191bcd1eb
4 changed files with 114 additions and 37 deletions
+25
View File
@@ -0,0 +1,25 @@
import base64
import os
import sys
from pathlib import Path
sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
from openrouter_client import _audio_format, _build_transcription_payload
def test_audio_format_defaults_to_wav_when_missing_suffix(tmp_path: Path):
path = tmp_path / "recording"
path.write_bytes(b"abc")
assert _audio_format(str(path)) == "wav"
def test_build_transcription_payload_uses_base64_json_shape(tmp_path: Path):
path = tmp_path / "meeting.wav"
path.write_bytes(b"RIFFdemo")
payload = _build_transcription_payload(str(path))
assert payload["model"] == "openai/whisper-large-v3"
assert payload["input_audio"]["format"] == "wav"
assert payload["input_audio"]["data"] == base64.b64encode(b"RIFFdemo").decode("ascii")