import os
from pathlib import Path

import requests


def main() -> int:
    base_url = os.getenv("BASE_URL", "http://127.0.0.1:8015").rstrip("/")
    api_key = os.getenv("API_KEY", "").strip()
    if not api_key:
        raise SystemExit("Missing API_KEY environment variable")
    out_file = Path(os.getenv("OUT_FILE", "quickstart-python.mp3"))
    text = os.getenv("TEXT", "สวัสดีครับ นี่คือการทดสอบ OmniVoice API จาก Python quickstart")

    payload = {
        "model": "gpt-4o-mini-tts",
        "input": text,
        "voice": "alloy",
        "response_format": "mp3",
        "speed": 1.0,
    }

    resp = requests.post(
        f"{base_url}/v1/audio/speech",
        json=payload,
        headers={"X-API-Key": api_key},
        timeout=120,
    )
    if resp.status_code != 200:
        raise SystemExit(f"Request failed: {resp.status_code} {resp.text[:300]}")

    out_file.write_bytes(resp.content)
    print(f"Saved: {out_file} ({out_file.stat().st_size} bytes)")
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
