Audio-Download-Endpunkt GET /audio/{job_id} hinzufügen
- SpeakRequest: keep_audio=true speichert WAV in ~/.cache/chatterbox-tts/
- SpeakJob: audio_path-Feld für gespeicherte WAV-Datei
- GET /audio/{job_id}: liefert WAV als FileResponse, löscht Datei danach
- mcp_adapter: keep_audio-Parameter in speak() weitergereicht
- Docstring: neuen Endpunkt dokumentiert
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
69de37d1a0
commit
fe74b84360
2 changed files with 93 additions and 17 deletions
|
|
@ -61,6 +61,7 @@ async def speak(
|
|||
interrupt: bool = False,
|
||||
speed: float = 1.0,
|
||||
session_id: str | None = None,
|
||||
keep_audio: bool = False,
|
||||
) -> dict:
|
||||
"""Text als Sprache ausgeben.
|
||||
|
||||
|
|
@ -68,14 +69,16 @@ async def speak(
|
|||
satzweise und beginnt sofort mit der Wiedergabe.
|
||||
|
||||
Args:
|
||||
text: Auszugebender Text (max. 4000 Zeichen).
|
||||
lang: Sprachcode, z. B. 'de', 'en', 'fr'. Standard: 'de'.
|
||||
voice: Optionaler Pfad zu einer WAV-Referenzdatei (10–30s) für
|
||||
Voice Cloning.
|
||||
interrupt: True = laufende Ausgabe sofort unterbrechen und diesen
|
||||
Text vorgezogen abspielen.
|
||||
speed: Wiedergabegeschwindigkeit (0.5–2.0). Pitch bleibt gleich.
|
||||
session_id: Optionale Session-ID für Job-Tracking im TTS-Service.
|
||||
text: Auszugebender Text (max. 4000 Zeichen).
|
||||
lang: Sprachcode, z. B. 'de', 'en', 'fr'. Standard: 'de'.
|
||||
voice: Optionaler Pfad zu einer WAV-Referenzdatei (10–30s) für
|
||||
Voice Cloning.
|
||||
interrupt: True = laufende Ausgabe sofort unterbrechen und diesen
|
||||
Text vorgezogen abspielen.
|
||||
speed: Wiedergabegeschwindigkeit (0.5–2.0). Pitch bleibt gleich.
|
||||
session_id: Optionale Session-ID für Job-Tracking im TTS-Service.
|
||||
keep_audio: True = WAV-Datei nach der Synthese im Cache behalten;
|
||||
abrufbar via GET /audio/{job_id}.
|
||||
"""
|
||||
async with httpx.AsyncClient(timeout=30) as client:
|
||||
r = await client.post(f"{TTS_URL}/speak", json={
|
||||
|
|
@ -85,6 +88,7 @@ async def speak(
|
|||
"interrupt": interrupt,
|
||||
"speed": speed,
|
||||
"session_id": session_id,
|
||||
"keep_audio": keep_audio,
|
||||
})
|
||||
_raise_for_status(r)
|
||||
return r.json()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue