Skip to content

Comments

feat: add REST API endpoint for audio transcription#738

Closed
nuspy wants to merge 1 commit intocjpais:mainfrom
nuspy:claude/add-audio-transcription-api-ZLvJe
Closed

feat: add REST API endpoint for audio transcription#738
nuspy wants to merge 1 commit intocjpais:mainfrom
nuspy:claude/add-audio-transcription-api-ZLvJe

Conversation

@nuspy
Copy link

@nuspy nuspy commented Feb 8, 2026

Add a REST API server (axum) that accepts audio files via multipart POST and returns transcriptions. Supports WAV, MP3, FLAC, OGG Vorbis, AAC via symphonia, with ffmpeg fallback for OGG Opus (Telegram voice messages).

  • POST /transcribe: accepts multipart 'file' or 'audio' field
  • GET /health: health check endpoint
  • Enabled via HANDY_API_PORT env var (e.g. HANDY_API_PORT=8384)
  • Binds to 127.0.0.1 only (localhost)
  • Resamples audio to 16kHz mono for Whisper/Parakeet/Moonshine

https://claude.ai/code/session_01G6v7CQen3RdSBUdpFVQbzD

Before Submitting This PR

Please confirm you have done the following:

If this is a feature or change that was previously closed/rejected:

  • I have explained in the description below why this should be reconsidered
  • I have gathered community feedback (link to discussion below)

Human Written Description

Related Issues/Discussions

Fixes #
Discussion:

Community Feedback

Testing

Screenshots/Videos (if applicable)

AI Assistance

  • No AI was used in this PR
  • AI was used (please describe below)

If AI was used:

  • Tools used:
  • How extensively:

Add a REST API server (axum) that accepts audio files via multipart POST
and returns transcriptions. Supports WAV, MP3, FLAC, OGG Vorbis, AAC via
symphonia, with ffmpeg fallback for OGG Opus (Telegram voice messages).

- POST /transcribe: accepts multipart 'file' or 'audio' field
- GET /health: health check endpoint
- Enabled via HANDY_API_PORT env var (e.g. HANDY_API_PORT=8384)
- Binds to 127.0.0.1 only (localhost)
- Resamples audio to 16kHz mono for Whisper/Parakeet/Moonshine

https://claude.ai/code/session_01G6v7CQen3RdSBUdpFVQbzD
@cjpais
Copy link
Owner

cjpais commented Feb 8, 2026

Did you also check #509 exists?

@cjpais
Copy link
Owner

cjpais commented Feb 11, 2026

no response from the author so I'm closing this #509 will be the one we'll track this under for now

@cjpais cjpais closed this Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants