@syllaby-ai/cli
v0.1.2
Published
Official Syllaby CLI — drive the Syllaby v2 public API from your terminal
Downloads
456
Maintainers
Readme
Syllaby CLI
Official CLI over the Syllaby v2 public API. Bearer-token auth, curated commands for the generation workflows (faceless videos, credits, account).
The v2 API covers generation only — publishing, scheduling, and clips are v1-only and not reachable with public API keys.
Install
npm install -g @syllaby-ai/cli
syllaby --versionAuth
Create an API key at https://ai.syllaby.io/settings/api-tokens. Keys are shown once.
syllaby auth login # paste token; saves a profile named after the environment
syllaby auth login --profile prod --set-default
syllaby auth status # verifies the resolved token against GET /me
syllaby auth logout --profile prodToken precedence: --token flag > SYLLABY_API_KEY env > profile in
~/.config/syllaby/config.json (--profile else default_profile). Base URL:
--base-url > SYLLABY_API_URL > profile base_url > inferred from the token
(slb_live_ keys target the production API; any other key needs an explicit base URL).
Commands
Global flags: --json (raw API envelope to stdout), --quiet, --token, --profile, --base-url.
syllaby me # account + plan + credit balance
syllaby credits costs # credit cost per feature
syllaby credits history --page 2
# One-shot: topic → rendered mp4 on disk
syllaby faceless create --topic "5 facts about Roman aqueducts" \
--type ai-visuals --render --yes --wait --download roman.mp4
# Deliberate flow with a cost check
id=$(syllaby faceless create --topic "How espresso is made" --json | jq -r .data.id)
syllaby faceless estimate $id
syllaby faceless render $id --wait
syllaby faceless download $id -o espresso.mp4
syllaby faceless get 123 --wait
syllaby faceless scripts 123 --topic "..." --duration 60 # 30|60|180|300|600|900
syllaby faceless options # voices, genres, engines (use --json for the full tree)
syllaby faceless export 123 --captions --wait
syllaby faceless render $id --yes --wait # --yes skips the credit confirmation prompt
syllaby ttv models
syllaby ttv estimate --model veo-3-fast --duration 8 --resolution 1080p
syllaby ttv create --model veo-3-fast --prompt "A phone rotating on marble" --wait --download clip.mp4
syllaby ttv get 42 --wait
syllaby ideas discover --keyword "cold plunge" --network youtube
syllaby ideas list --keyword "cold plunge" --network youtube --sort -volume
syllaby voices list
syllaby voices slots
syllaby characters list
syllaby characters genres
syllaby characters create --image ./ref.png --name Aria
syllaby characters preview 1 --genre-id 3
syllaby characters train 1 --preview-id 501 --name Aria --age 25-34 --gender female
syllaby characters get 1
syllaby presets list
syllaby presets delete 1
# Storyboard: create → prompt → inspect → generate clips → estimate → render
id=$(syllaby storyboard create --title "Deep sea" --json | jq -r .data.id)
syllaby storyboard prompt $id --prompt "Bioluminescent creatures" --engine-id 12 --duration 30
syllaby storyboard get $id --wait-ready
syllaby storyboard scenes $id
syllaby storyboard clips $id
syllaby storyboard estimate $id
syllaby storyboard render $id --wait --download storyboard.mp4
# --engine-id is the clip engine id
syllaby launchclip estimate # flat credit cost for a launch clip
syllaby launchclip create --product-name "Acme" --domain acme.io \
--idea "AI meeting notes for sales teams" --output launch.mp4
syllaby launchclip show 7 --wait
syllaby api GET /faceless/123 # escape hatch; raw envelope; mutating calls may charge credits
syllaby account topup
syllaby account topup set --enabled true --type extra-credits --plan-id 123--wait polls every 10s (20s after 2 minutes), 15-minute timeout. Data goes to stdout,
progress/spinner to stderr — both human and --json output are pipeable.
Exit codes
| Code | Meaning |
|---|---|
| 0 | success |
| 1 | API or render failure |
| 2 | usage / validation error |
| 3 | auth (missing/invalid token) |
| 4 | credits / subscription required |
| 5 | --wait timeout |
Rate limits
30 requests/min per token. The client retries GETs on 429 (honoring Retry-After, max 2);
mutating calls are never auto-retried because renders charge credits.
License
MIT
