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 videoThe 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 videoThe 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.mp4Reference-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-001Lip 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.mp4Lip 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.mp4Waiting 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.