Kitta AI Docs
Kitta CLI

Images and video

Generate images and video, run lip sync and dubbing, and recover media jobs.

Kitta CLI uses the same public media APIs as other server integrations. These operations consume account API quota. Use only prompts and source media that you are authorized to process.

Discover models

kitta models list --media-type image
kitta models list --media-type video

The catalog is the authority for available models and capabilities. Website visibility does not guarantee that a model is enabled for API use.

Upload local media

kitta files upload --file ./recording.wav --type audio
kitta files upload --file ./reference.png --type image
kitta files upload --file ./source.mp4 --type video

The response URL can be passed to transcription, image edit, lip-sync or dubbing commands. Uploads are not automatically retried. A failed upload should be inspected before submitting it again.

Generate and download

kitta image generate --prompt "A paper-cut city at sunrise" \
  --idempotency-key image-001 --wait --output city.png

kitta video generate --prompt "A slow camera move through the city" \
  --idempotency-key video-001 --wait --output city.mp4

Reference-based video input uses one JSON object per --references value:

kitta video generate --prompt "Camera pushes in" \
  --references '{"role":"start_frame","url":"https://example.com/start.png"}' \
  --idempotency-key video-reference-001

Lip sync and dubbing

kitta video lip-sync generate --video-url VIDEO_URL --audio-url AUDIO_URL
kitta video dubbing generate --video-url VIDEO_URL --text "Welcome" \
  --reference-id VOICE_ID --idempotency-key dubbing-001 --wait --output dubbed.mp4

Lip sync does not currently promise idempotent creation and is not automatically retried. Video dubbing has a server-backed idempotency key. Keep every returned task ID.

Resume without creating another job

kitta image jobs get --job JOB_ID
kitta image jobs wait --job JOB_ID --output recovered.png
kitta video jobs wait --job JOB_ID --output recovered.mp4
kitta video lip-sync jobs wait --job JOB_ID --output recovered.mp4
kitta video dubbing jobs wait --job JOB_ID --output recovered.mp4

Waiting polls the existing job. Ctrl+C only stops the local wait. Output files are never overwritten. Upload first when a command requires a remote media URL.