Capabilities overview
Every Beatra capability in one matrix: modality, MCP tool, REST endpoint, execution mode.
One row per capability. Agents pick a tool here, then open the capability page
for arguments, task status, and recovery. Models, controls, and prices are
discovered live with beatra.models.list; to browse what's available right
now, see the current model lineup.
Images
| Capability | Input → Output | MCP tool | REST endpoint |
|---|---|---|---|
| Text to image | text → image | beatra.images.generate | POST /v1/images/generations |
| Image to image | image + text → image | beatra.images.transform | POST /v1/images/image-to-image |
| Image edit | image + text → image | beatra.images.edit | POST /v1/images/edits |
Videos
| Capability | Input → Output | MCP tool | REST endpoint |
|---|---|---|---|
| Text to video | text → video | beatra.videos.generate | POST /v1/videos/text-to-video |
| Image to video | image + text → video | beatra.videos.animate | POST /v1/videos/image-to-video |
| Reference to video | references + text → video | beatra.videos.generate_from_references | POST /v1/videos/reference-to-video |
| Frames to video | first/last frame + text → video | beatra.videos.interpolate | POST /v1/videos/frames-to-video |
| Video edit | video + references + text → video | beatra.videos.edit | POST /v1/videos/edit |
| Video extend | video + text → video | beatra.videos.extend | POST /v1/videos/extend |
Speech & voices
| Capability | Input → Output | MCP tool | REST endpoint |
|---|---|---|---|
| Text to speech | text + voice → audio | beatra.speech.synthesize | POST /v1/audio/speech |
| Voice clone | audio sample → voice | beatra.voices.clone | POST /v1/voices |
| Voices | — (management) | beatra.voices.list | GET /v1/voices |
Music
| Capability | Input → Output | MCP tool | REST endpoint |
|---|---|---|---|
| Text to music | prompt / lyrics → audio | beatra.music.generate | POST /v1/music/text-to-music |
| Reference audio to music | audio + text → audio | beatra.music.generate | POST /v1/music/reference-audio-to-music |
Shared contract
Every generation call above is billable and returns an asynchronous
task: 202 + a Task envelope, polled with beatra.tasks.get (or
GET /v1/tasks/{task_id}) until terminal. Discovery and management reads
(voices, models, tasks) are synchronous. The full lifecycle — envelope schema, cancellation,
refunds — is defined once in Async tasks and
applies to every row.