Release 16.4.0: add voice transcription#191
Merged
Merged
Conversation
Generated by Fern CLI Version: unknown Generators: - fernapi/fern-python-sdk: 5.14.13
…hir2omop/agent docs Introduce a new `voice` namespace with a `transcribe` method that accepts raw audio bytes and returns a `TranscribeResponse` containing the full transcript. The endpoint auto-detects audio format (WAV, FLAC, MP3, OGG/WebM Opus) and supports up to ~5 minutes of audio per request. Also updates OpenAPI descriptions for `fhir2omop` (explicit supported resource-type list and clarified `dropped` semantics) and `agent.chat` session parameters (409 Conflict documented for overlapping turns). Key changes: - Add `client.voice.voice.transcribe(...)` and `client.voice.voice.transcribe(...)` (async) for audio-to-text transcription - Add `phenoml.voice.TranscribeResponse` response type with `transcript` field - Add `phenoml.voice.errors` module with `BadGatewayError`, `BadRequestError`, `ContentTooLargeError`, `GatewayTimeoutError`, `PaymentRequiredError`, `ServiceUnavailableError`, and `UnauthorizedError` - Update `fhir2omop` OpenAPI description to enumerate supported FHIR resource types and clarify `dropped` field semantics - Update `agent.chat` `session_id` description to document 409 Conflict for concurrent turns 🌿 Generated with Fern
Patches with unresolved conflicts (1): - patch-6516695e: Release 15.0.2: restore bundled openapi.json packaging (#169) Run `fern-replay resolve` to apply these customizations.
…5591c1aa8cabef10 [skip ci]
Patches replayed: - patch-6516695e: Release 15.0.2: restore bundled openapi.json packaging (#169)
kerbearasaurus
approved these changes
Jun 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
16.3.0 -> 16.4.0
Adds the Voice transcription SDK surface for
POST /transcribe, including raw audio upload support and typed voice errors. Minor bump because the release is additive.Added
client.voice.voice.transcribe(...)— new sync and async method that accepts raw audio bytes (WAV, FLAC, MP3, OGG/WebM Opus) and returns aTranscribeResponsewith the full transcript, supporting up to ~5 minutes of audio per request.RawVoiceClientandAsyncRawVoiceClient— new clients underphenoml.voice.voiceexposingtranscribe(...)with support forbytes,Iterator[bytes], orAsyncIterator[bytes]input and an optional BCP-47languagehint.phenoml.voice.TranscribeResponse— new response type with atranscriptfield returned by the transcription endpoint.phenoml.voice.errors— new typed error classes (BadRequestError,UnauthorizedError,PaymentRequiredError,ContentTooLargeError,BadGatewayError,ServiceUnavailableError,GatewayTimeoutError) raised by the voice service.Migration notes
No migration required; this release only adds the voice transcription surface.
Note
Low Risk
Additive API surface and auto-generated client code; no changes to existing method signatures beyond version metadata.
Overview
Release 16.4.0 bumps the SDK from 16.3.0 and regenerates the Fern Python client against an updated OpenAPI spec (new Voice service,
POST /transcribe).Voice transcription is exposed on
client.voice.voice.transcribe(...)(sync/async). Callers send raw audio asapplication/octet-stream(bytesor byte iterators), with an optional BCP-47languagequery hint, and receiveTranscribeResponse(transcript). Raw clients map HTTP 400/401/402/413/502/503/504 to typed errors underphenoml.voice.errors.PhenomlClient/AsyncPhenomlClientgain a lazyvoiceproperty; docs andcode-examples.jsoninclude the new endpoint.Packaging/metadata updates: User-Agent/SDK version strings, bundled
openapi.json, changelog, and Fern replay lock.pyproject.tomlmay still needfern replay resolveif the openapi.json packaging patch conflicts with this generation.Reviewed by Cursor Bugbot for commit b861c0a. Bugbot is set up for automated code reviews on this repo. Configure here.