Skip to content

feat(cli): add waves commands (tts, stt, voices, clones) - #83

Merged
abhishekmishragithub merged 2 commits into
mainfrom
feat/cli-waves
Aug 5, 2026
Merged

abhishekmishragithub merged 2 commits into
mainfrom
feat/cli-waves

Conversation

@abhishekmishragithub

Copy link
Copy Markdown
Collaborator

What

Extends smallestai CLI to the models (waves) surface, matching the existing calls/agents command style (make_client, rich tables, --json):

Command Does
waves voices list voices for a model (gender + languages)
waves clones list cloned voices
waves tts <text> --voice-id … synthesize speech to a file (--format, --model, --sample-rate, --speed; defaults to wav)
waves stt <file> transcribe audio (--model pulse|pulse-pro, --lang, --diarize)

Verification (live, against the API)

  • waves voices → 234 voices, columns populated from tags.
  • waves clones → 74 cloned voices.
  • waves tts "Hello from the smallest CLI." --voice-id kanik → wrote 155276 bytes.
  • waves stt on that file → Hello from the smallest CLI. (clean round-trip).
  • mypy clean on the new module.

No version bump — rides the next release (after #82's 5.4.2). To place a call, smallestai agents call already exists.

🤖 Generated with Claude Code

Extends the CLI beyond atoms to the models (waves) surface, dogfooding the
published client.waves:

- waves voices  — list available voices for a model (gender + languages)
- waves clones  — list cloned voices
- waves tts     — synthesize speech to a file (--voice-id, --format, --model,
                  --sample-rate, --speed); defaults to wav
- waves stt     — transcribe an audio file (--model pulse|pulse-pro, --lang,
                  --diarize)

Matches the existing calls/agents command style (make_client, rich tables,
--json). No version bump: rides the next release.
- Extract the repeated response-list unwrapper to _items(data, key).
- Document that get-voices uses the hyphen form (lightning-v3.1) while tts uses
  the underscore form (lightning_v3.1); they are distinct API enums per endpoint,
  now noted in the --model help and a comment so it isn't mistaken for a typo.
@abhishekmishragithub
abhishekmishragithub merged commit fff27c7 into main Aug 5, 2026
3 checks passed
@abhishekmishragithub
abhishekmishragithub deleted the feat/cli-waves branch August 5, 2026 14:10
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