Skip to main content
vetta media generate renders: an image comes back at once as files; a video is a media job you read back with vetta media show. A recurring on-screen persona is a character, trained once and rendered as with --character. vetta media models is how you learn a legal --model, for generate or to pin with vetta agent tools. vetta media edit submits a Mira edit (POST /v1/media/edits) and vetta media edit with --wait follows GET /v1/media/edits/{id}. vetta media clip <url> turns a long video into short, scored, captioned clips as a job you poll with vetta media clip show. vetta media models is how you learn a legal --model to pin with vetta agent tools, and what a session’s generate_image / generate_video will accept. vetta media stock searches the stock photo library for a licensed photo, free. vetta media transcribe, vetta media speak, vetta media sound-effect, vetta media music and vetta media converse are the audio routes from the terminal. There is no fixed list of models. The catalogue is read from the provider on every call, so a model published today is callable today — and a model that never existed can never be offered.

Commands

generate

A video answers with the job in queued; vetta media show it until it is completed, then vetta file download the result.files[0].file_id. Or add --wait and the command polls for you, printing the finished job and exiting 0 on completed, 1 on failed:
The CLI sends the required Idempotency-Key for you; re-running the same command renders again.

mesh

A textured GLB from a description or from one to four photos of the same object — a media job like a video. From a description it can also be rigged with an idle animation. For a part with real dimensions, build it instead: vetta computer build-3d.
Each job is priced for the exact options it used, and only when it completes; a failed job is free. See 3D assets.

show

A failed job carries error: { code, message } and cost_micro_usd: 0 — a job that fails is not billed.

list

models

Models come back in the order generate and generate_image pick their default from: the platform’s own first, then cheapest-first where a price is published. A video defaults to the first of the platform’s video defaults the catalogue publishes — black-forest-labs/flux-3-max, minimax/hailuo-3, bytedance/seedance-2.5, then alibaba/wan-3.0/text-to-video; if the catalogue publishes none of them, you are asked to name one. No price is on the reply. A generation is billed what it cost once it finishes — nothing is held or checked beforehand, from the CLI, the API or a session; the debit lands once, when the render does. Training a character is the exception: the balance must cover it first. --kind stt, --kind tts and --kind s2s list the audio models the same way: the managed alias for that direction first, then pinned models cheapest-first where a price is published.

stock

Show photographer, linked to attribution_url, wherever you use the photo — that credit is what the licence asks for. To keep the bytes as a fil_, import url through vetta file. A deploy with no stock photo library configured answers feature_not_configured.

clip

The URL must be public http(s); a private or loopback host is refused. The job is billed what it actually cost once it finishes, and a submit is refused when the organization’s balance is empty.

clip show

The same object, moved on. Once status is completed, result.clips lists each clip’s file_id, title, start_seconds, end_seconds, duration_seconds and virality scores (0–100), and cost_micro_usd is settled. Fetch a clip’s bytes with vetta file.

clips

Only jobs submitted with vetta media clip or the API are listed; what an agent’s clip_video tool cuts inside a session lands in that session as files.

skills

build takes one to three public reel links and queues a skill build; every round that comes back ready is saved as the next version of one org skill. revise runs the next round from your feedback. get reads a build and moves it forward; list does not. With --wait, the command follows the newest round until it is ready and prints the build with skill_ref (slug@version), or exits 1 when the round fails.

transcribe

A local path is uploaded first as a published file, then transcribed; an http(s) URL or a fil_ id is sent as-is. Prints the transcription job — usually already completed with result.text and result.segments; a long recording the provider queues prints processing, to be re-read with vetta media transcription.

transcription

The same job, by id.

speak

Prints the speech generation: model, cost_micro_usd, and the stored file. The bytes are one vetta file download away:

edit

POST /v1/media/edits. --video is a library video or a public URL. --reference repeats, up to four pictures. --mode is scene, outfit_or_object or person_swap. --wait polls GET /v1/media/edits/{id} until the edit finishes.

sound-effect

Generates a short clip from a description — ambience, foley, a sting — and prints the sound generation: the stored file, its duration_seconds and cost_micro_usd. Add --loop for seamless ambience. The bytes are one vetta file download away:

music

Generates an original song from a description — any genre, mood or instrumentation — and prints the music generation: the stored file, its duration_seconds and cost_micro_usd. Add --instrumental for a track with no vocals. The bytes are one vetta file download away:

converse

One spoken turn in, the spoken reply out. A local path is uploaded and a public URL is imported into the library first — the route takes a stored fil_ only; a fil_ id is sent as-is. Prints the same speech generation speak does:

Pinning a model on an agent

Feed that id to vetta agent tools: