tts-voice-creator-clone-and.../routes
mARTin-B78 0a5b607fa5 Add text input to Conversation Playground (bypass mic / STT)
Frontend:
- Add pill-shaped text input + send button (→) to the left of the mic button
- Enter key or → click sends text directly without recording audio
- Input is disabled while a turn is processing; cleared on submit
- Welcome message updated to mention both input methods
- New CSS: .conv-input-bar, .conv-text-row, .conv-text-inp, .conv-send-btn,
  .conv-divider (visual separator between text and mic sections)

Backend:
- /api/conversation/turn: audio is now optional (UploadFile | None)
- New text form field — when provided, STT step is skipped and text is
  used as the transcript directly; SSE emits transcript event with stt_ms=null
- Raises 400 if neither audio nor text is supplied

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 13:12:27 +02:00
..
__init__.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
admin.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
conversation.py Add text input to Conversation Playground (bypass mic / STT) 2026-05-29 13:12:27 +02:00
docker.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
library.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
settings.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
sources.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
stt.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00
tts.py Security audit, modular refactor, and container-name field 2026-05-29 12:13:07 +02:00