Skip to content

Add OpenAI-compatible speech transcription endpoint#118

Merged
ivan-digital merged 1 commit into
mainfrom
feat/openai-transcription-endpoint
Jul 18, 2026
Merged

Add OpenAI-compatible speech transcription endpoint#118
ivan-digital merged 1 commit into
mainfrom
feat/openai-transcription-endpoint

Conversation

@ivan-digital

Copy link
Copy Markdown
Member

Summary

  • add POST /v1/audio/transcriptions to speech-server with the standard multipart request shape
  • decode PCM16/24/32 and Float32 WAV, downmix and resample to 16 kHz, then lazily load the bundled Parakeet ONNX backend
  • support json, text, verbose_json, srt, and vtt responses plus the existing bearer authentication envelope
  • preserve the 1 MiB TTS limit while bounding STT uploads to 25 MiB and 10 minutes and serializing decode/inference memory
  • document both HTTP audio endpoints, update package smoke checks, and keep all README language links synchronized
  • repair the dependency-free Parakeet mel-contract test registration/linkage exposed by a clean configure

Architecture and risk

The HTTP layer remains model-independent through a transcription callback. The production sidecar owns model selection and lazy Parakeet initialization, so existing TTS startup time and resident memory do not change. TTS and STT share the existing inference lock. The main compatibility limit is deliberate: uploads must be uncompressed RIFF/WAVE because release packages do not ship a codec runtime.

Validation

  • dependency-free CTest suite: 25/25 passed
  • HTTP contract regression suite: passed
  • AddressSanitizer and UndefinedBehaviorSanitizer HTTP suite: passed
  • ONNX-enabled speech-server and endpoint E2E target: compiled and linked with ONNX Runtime 1.19.0
  • model-backed E2E target: verified to skip cleanly when SPEECH_MODEL_DIR is unavailable
  • actionlint on CI and release workflows: passed
  • shellcheck scripts/speech-dispatch.sh: passed

@ivan-digital
ivan-digital merged commit 1772b09 into main Jul 18, 2026
13 checks passed
@ivan-digital
ivan-digital deleted the feat/openai-transcription-endpoint branch July 24, 2026 11:20
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.

1 participant