BBramaDocs
Browse documentation

Brama CLI command reference

brama voices

The voice library behind a voice route: list what the route's account can speak with, clone a new voice from recordings, and remove one. They run the same dispatch as GET /v1/audio/voices, POST /v1/audio/voices and DELETE /v1/audio/voices/{voice_id}.

brama voices list

brama voices list [--model <ALIAS|ROUTE>] [--json]

--model defaults to voice-model. It prints the provider's voice list and changes nothing; it sends no billable request.

brama voices clone

brama voices clone --name <NAME> --sample <FILE>... --content-type <TYPE> [--description <TEXT>] [--model <ALIAS|ROUTE>] [--json] --allow-provider-cost

Reads every --sample file, sends them with --content-type (such as audio/mpeg), and prints the new voice the provider created. The new voice stays on the provider's account until voices remove deletes it.

brama voices remove

brama voices remove <VOICE_ID> --confirm [--model <ALIAS|ROUTE>] [--json]

Deletes one voice from the route's account and prints the provider's answer. The provider keeps no copy, so --confirm is required.

Refusals

SentenceExitMeaning
refusing a billable voice clone without explicit --allow-provider-cost2Nothing was read or sent.
refusing to delete voice <VOICE_ID> without --confirm: the provider keeps no copy2Nothing was deleted.
the parser's refusal for a clone without --sample, --name or --content-type2The invocation is incomplete.
cannot read <path>: <error>; <path> names no file1A sample could not be read; nothing was sent.
the dispatch refusal: an undeclared alias, a route without a voice library, or the provider's own sentence1The account was reached and refused, or never reached.

See brama speak, media or the CLI tree.