Skip to content

feat!: regenerate SDK on fern-typescript-sdk@3.70.1 with TTS-only surface#6

Merged
luke-speechify merged 5 commits into
masterfrom
sdk-release
Jun 22, 2026
Merged

feat!: regenerate SDK on fern-typescript-sdk@3.70.1 with TTS-only surface#6
luke-speechify merged 5 commits into
masterfrom
sdk-release

Conversation

@luke-speechify

Copy link
Copy Markdown
Collaborator

Regenerated on the current Speechify spec with the latest generator (fern-typescript-sdk@3.70.1). The TypeScript SDK generator image was renamed from fernapi/fern-typescript-node-sdk to fernapi/fern-typescript-sdk at version 0.65.0; this PR adopts the new image name and pins to its current release. Brings the SDK shape in line with industry conventions (apiKey:, flat client.audio.* namespace) and adopts the core.HttpResponsePromise<T> return-type pattern from the 3.x generator line.

Voice-agents methods and types are not exported from this release. The voice-agents API is public over HTTP today, but has never shipped in @speechify/api npm releases — the SDK is deliberately scoped to the stable TTS surface (audio.*, voices.*). Voice-agents methods will be added in a future release once that surface is locked.

What changed

  • Auth option renamed. new SpeechifyClient({ token: '...' }) is now new SpeechifyClient({ apiKey: '...' }). The SPEECHIFY_API_KEY environment variable continues to work without change.
  • Method namespace flattened. client.tts.audio.speech({...})client.audio.speech({...}); client.tts.voices.list()client.voices.list(); and so on across all six methods. The tts. intermediate namespace has been removed so SDK paths mirror the underlying URL paths (/v1/audio/..., /v1/voices/...).
  • Return type changed from Promise<T> to core.HttpResponsePromise<T>. Both are awaitable and resolve to T, but consumers that imported Promise<T> directly from method signatures may need to update type imports. Use .asResponse() or .withResponse() on the returned promise when you need raw fetch Response access.
  • Cross-major generator bump (0.49.13.70.1). Internal code structure has changed substantially. Public method signatures on audio.speech, audio.stream, voices.list / get / create / delete / downloadSample are preserved except for the namespace flatten and the return-type change above.

New in this release

  • .fetch() passthrough method on the client for hitting endpoints not yet supported in the typed SDK, while still benefiting from configured auth, retries, logging.
  • .withResponse() on every method's returned promise for direct access to the raw fetch Response.
  • Better TSDoc on audio.speech and audio.stream documenting the JSON-vs-raw-bytes response distinction between the two endpoints, plus the audio/pcmaudio/L16 Content-Type asymmetry on streaming (24 kHz mono LE PCM).

Release

This PR is the regenerated SDK only. Once merged into master, release-please will open a release PR that bumps the version (to 2.0.0) and updates CHANGELOG.md. Merging the release PR triggers the publish workflow to npm.

BREAKING CHANGE: new SpeechifyClient({ token: ... }) is now new SpeechifyClient({ apiKey: ... }). The tts. namespace has been removed — call sites move from client.tts.audio.speech(...) to client.audio.speech(...) and from client.tts.voices.X to client.voices.X. Method return type changed from Promise<T> to core.HttpResponsePromise<T>; both are awaitable and resolve to T but type-import sites may need updates. Generator-line crossed 0.x3.x (plus image rename fern-typescript-node-sdkfern-typescript-sdk), so internal/private code paths have moved.

fern-api Bot and others added 5 commits June 19, 2026 19:14
The 3.x TS generator writes package.json with packageManager:
'pnpm@10.33.0' and ships a pnpm-lock.yaml; the workflow's yarn calls
fail because yarn 1.x refuses to install a project whose packageManager
field isn't yarn. Corepack respects the packageManager field and
fetches the correct pnpm version automatically.
@luke-speechify luke-speechify merged commit 69ff4e4 into master Jun 22, 2026
4 checks passed
luke-speechify pushed a commit that referenced this pull request Jun 22, 2026
🤖 I have created a release *beep* *boop*
---


##
[2.0.0](1.0.2...2.0.0)
(2026-06-22)


### ⚠ BREAKING CHANGES

* `new SpeechifyClient({ token: ... })` is now `new SpeechifyClient({
apiKey: ... })`. The `tts.` namespace has been removed — call sites move
from `client.tts.audio.speech(...)` to `client.audio.speech(...)` and
from `client.tts.voices.X` to `client.voices.X`. Method return type
changed from `Promise<T>` to `core.HttpResponsePromise<T>`; both are
awaitable and resolve to `T` but type-import sites may need updates.
Generator-line crossed `0.x` → `3.x` (plus image rename
`fern-typescript-node-sdk` → `fern-typescript-sdk`), so internal/private
code paths have moved.

### Features

* regenerate SDK on fern-typescript-sdk@3.70.1 with TTS-only surface
([#6](#6))
([69ff4e4](69ff4e4))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

2 participants