Kitta AI Docs
Kitta Audio CLI

Command reference

Parameters, defaults and constraints generated from CLI schemas and help.

CLI version: 0.1.0.

Generated by scripts/generate-audio-cli-docs.mjs from the built CLI and operation contract.

API-required fields are separate from CLI workflow options. TTS text can come from --text-file or --text -. Binary downloads require --output. A default of — means no CLI default; the server may apply its own defaults.

The presence of --idempotency-key on a POST command does not guarantee deduplication for every endpoint. Only idempotent TTS creation has the corresponding automatic retry policy. Read the recovery guide.

Recovery and billing

kitta auth status

kitta auth status --help
kitta auth status --schema

HTTP: GET /api/open/v1/profile. Retry: read.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes

kitta audio models list

kitta audio models list --help
kitta audio models list --schema

HTTP: GET /api/open/v3/speech/tts/capabilities. Retry: read.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes

kitta audio voices list

kitta audio voices list --help
kitta audio voices list --schema

HTTP: GET /api/open/v3/voices. Retry: read.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--page <value>page
--page-size <value>pageSize
--search <value>search
--include-personalincludePersonal
--no-include-personalSet includePersonal to false
--allFetch all pages
--max-pages <count>Maximum pages to fetch100
--language <code>Filter fetched voices by primary or supported language

API field constraints

FlagRequiredSchema
--pageno{"type":"integer","minimum":1,"default":1}
--page-sizeno{"type":"integer","minimum":1,"maximum":100,"default":20}
--searchno{"type":"string"}
--include-personalno{"type":"boolean","default":false}

kitta audio voices get

kitta audio voices get --help
kitta audio voices get --schema

HTTP: GET /api/open/v3/voices/{voiceId}. Retry: read.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--voice <value>Required. voiceId

API field constraints

FlagRequiredSchema
--voiceyes{"type":"string"}

kitta audio tts

kitta audio tts --help
kitta audio tts --schema

HTTP: POST /api/open/v3/speech/tts/jobs. Retry: idempotent.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--text <value>Required. text
--voice <value>Required. voiceId
--model <value>Public TTS engine model id. When omitted, the platform uses the default engine for the selected voice provider, such as fishaudio-s21pro-flash for Kitta AI voices.
--format <value>format
--speed <value>speed
--volume <value>volume
--pitch <value>pitch
--stability <value>stability
--similarity <value>similarity
--language <value>language
--emotion <value>emotion
--instruction <value>instruction
--text-normalizationtextNormalization
--no-text-normalizationSet textNormalization to false
--filter-emojiExperimental, disabled by default. Currently removes only selected decorative kaomoji, not graphical emoji. Independent of textNormalization. Ambiguous text is preserved. Billing uses filtered text; an empty result returns 400 before charging.
--no-filter-emojiSet filterEmoji to false
--idempotency-key <key>Stable submission key; retry policy is shown by --schema
--output <path>Save audio to a new file
--text-file <path>Read UTF-8 text
--waitWait for downloadable audio
--wait-timeout <seconds>Maximum local wait600

API field constraints

FlagRequiredSchema
--textyes{"type":"string","minLength":1,"maxLength":10000}
--voiceyes{"type":"string","minLength":1}
--modelno{"type":"string","enum":["fishaudio-s21pro","fishaudio-s2pro","fishaudio-s1","fishaudio-s21pro-flash","fishaudio-s2pro-enterprise","minimax-2.8-turbo","minimax-2.8-hd","minimax-2.6-turbo","minimax-2.6-hd","qwen3-tts-flash","qwen-audio-3.0-tts-plus","qwen-audio-3.0-tts-flash","cosyvoice-v3-flash","doubao-tts-2.0","elevenlabs-flash-v2.5","elevenlabs-multilingual-v2"],"description":"Public TTS engine model id. When omitted, the platform uses the default engine for the selected voice provider, such as fishaudio-s21pro-flash for Kitta AI voices."}
--formatno{"type":"string","enum":["mp3","wav"],"default":"mp3"}
--speedno{"type":"number","minimum":0.5,"maximum":2,"default":1}
--volumeno{"type":"number","minimum":-20,"maximum":20,"default":0}
--pitchno{"type":"number","minimum":-12,"maximum":12}
--stabilityno{"type":"number","minimum":0.5,"maximum":1.5}
--similarityno{"type":"number","minimum":0.5,"maximum":1.5}
--languageno{"type":"string","minLength":1,"maxLength":64}
--emotionno{"type":"string","minLength":1,"maxLength":64}
--instructionno{"type":"string","minLength":1,"maxLength":1600}
--text-normalizationno{"type":"boolean"}
--filter-emojino{"type":"boolean","default":false,"description":"Experimental, disabled by default. Currently removes only selected decorative kaomoji, not graphical emoji. Independent of textNormalization. Ambiguous text is preserved. Billing uses filtered text; an empty result returns 400 before charging."}

kitta audio jobs list

kitta audio jobs list --help
kitta audio jobs list --schema

HTTP: GET /api/open/v3/speech/tts/jobs. Retry: read.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--page <value>page
--limit <value>limit
--status <value>status
--created-after <value>createdAfter
--allFetch all pages
--max-pages <count>Maximum pages to fetch100

API field constraints

FlagRequiredSchema
--pageno{"type":"integer","minimum":1,"default":1}
--limitno{"type":"integer","minimum":1,"maximum":100,"default":20}
--statusno{"type":"string","enum":["pending","processing","success","partial_fail","fail"]}
--created-afterno{"type":"string","format":"date-time"}

kitta audio jobs get

kitta audio jobs get --help
kitta audio jobs get --schema

HTTP: GET /api/open/v3/speech/tts/jobs/{jobId}. Retry: read.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--job <value>Required. jobId

API field constraints

FlagRequiredSchema
--jobyes{"type":"string"}

kitta audio jobs download

kitta audio jobs download --help
kitta audio jobs download --schema

HTTP: GET /api/open/v3/speech/tts/jobs/{jobId}/audio. Retry: read.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--job <value>Required. jobId
--downloaddownload
--no-downloadSet download to false
--output <path>Save audio to a new file

API field constraints

FlagRequiredSchema
--jobyes{"type":"string"}
--downloadno{"type":"boolean","default":false}

kitta audio transcribe

kitta audio transcribe --help
kitta audio transcribe --schema

HTTP: POST /api/open/v1/speech/transcriptions. Retry: never.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--audio-url <value>Required. audio_url
--language <value>language
--ignore-timestampsignore_timestamps
--no-ignore-timestampsSet ignore_timestamps to false
--file-name <value>file_name
--idempotency-key <key>Stable submission key; retry policy is shown by --schema

API field constraints

FlagRequiredSchema
--audio-urlyes{"type":"string","format":"uri"}
--languageno{"type":"string"}
--ignore-timestampsno{"type":"boolean","default":false}
--file-nameno{"type":"string"}

kitta audio voices clone

kitta audio voices clone --help
kitta audio voices clone --schema

HTTP: POST /api/open/v1/voices. Retry: never.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--name <value>Required. Voice display name.
--audio-file <values...>Required. Audio files used to create the voice model.
--description <value>description
--reference-text <value>Optional transcript text.
--visibility <value>visibility
--languages <value>JSON string array of language codes, such as ["zh","en"].
--idempotency-key <key>Stable submission key; retry policy is shown by --schema

API field constraints

FlagRequiredSchema
--nameyes{"type":"string","description":"Voice display name."}
--audio-fileyes{"type":"array","items":{"type":"string","format":"binary"},"description":"Audio files used to create the voice model."}
--descriptionno{"type":"string"}
--reference-textno{"type":"string","description":"Optional transcript text."}
--visibilityno{"type":"string","enum":["private","public"]}
--languagesno{"type":"string","description":"JSON string array of language codes, such as [\"zh\",\"en\"]."}

kitta audio voices design

kitta audio voices design --help
kitta audio voices design --schema

HTTP: POST /api/open/v1/voice-designs. Retry: never.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--prompt <value>Required. prompt
--preview-text <value>Required. previewText
--providers <values...>providers
--idempotency-key <key>Stable submission key; retry policy is shown by --schema

API field constraints

FlagRequiredSchema
--promptyes{"type":"string"}
--preview-textyes{"type":"string"}
--providersno{"type":"array","minItems":1,"maxItems":2,"items":{"type":"string","enum":["fishaudio","minimax"]},"default":["fishaudio","minimax"]}

kitta audio voices save

kitta audio voices save --help
kitta audio voices save --schema

HTTP: POST /api/open/v1/voice-designs/{designId}/voices. Retry: never.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--design <value>Required. designId
--candidate <value>Required. candidateId
--name <value>Required. name
--description <value>description
--visibility <value>visibility
--language <value>Primary language of the saved voice. Defaults to the request language.
--reference-text <value>referenceText
--idempotency-key <key>Stable submission key; retry policy is shown by --schema

API field constraints

FlagRequiredSchema
--designyes{"type":"string"}
--candidateyes{"type":"string"}
--nameyes{"type":"string","maxLength":100}
--descriptionno{"type":"string","maxLength":500}
--visibilityno{"type":"string","enum":["private","public"],"default":"private"}
--languageno{"type":"string","enum":["en","zh","ru","zh-hant","es","ja","ko","fr","ar","de","pt","hi","tr","it","id","th","pl","tl","uk","nl","ms","el","ro","vi"],"description":"Primary language of the saved voice. Defaults to the request language."}
--reference-textno{"type":"string","maxLength":150}

kitta audio voices preview

kitta audio voices preview --help
kitta audio voices preview --schema

HTTP: GET /api/open/v1/voice-designs/{designId}/candidates/{candidateId}/audio. Retry: read.

OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--schemaShow the offline command contract
--dry-runValidate and preview without network or state writes
--design <value>Required. designId
--candidate <value>Required. candidateId
--output <path>Save audio to a new file

API field constraints

FlagRequiredSchema
--designyes{"type":"string"}
--candidateyes{"type":"string"}

kitta audio jobs wait

kitta audio jobs wait --help
kitta audio jobs wait --schema
OptionDescriptionCLI default
-V, --versionoutput the version number
--jsonMachine-readable JSON output
--api-url <origin>Kitta API originhttps://kittaai.com
--timeout <seconds>Per-request timeout30
--job <id>Required. TTS task ID
--wait-timeout <seconds>Maximum local wait600
--output <path>Download once ready
--schemaDescribe this workflow offline
--dry-runValidate and preview without network access

Authentication and Skills workflows

kitta auth login

Usage: kitta auth login [options]

Validate an API key and store it in the system credential manager

Options:
  -h, --help  display help for command

kitta auth logout

Usage: kitta auth logout [options]

Remove the stored credential for this API origin

Options:
  -h, --help  display help for command

kitta skills generate

Usage: kitta skills generate [options]

Write version-matched CLI reference and audio workflows offline

Options:
  --output-dir <path>  New skill directory (default:
                       ".agents/skills/kitta-audio")
  -h, --help           display help for command

Login reads an API key from a hidden prompt. Logout removes only the keyring credential for the current origin. Skills generation creates a new directory offline and does not overwrite an existing directory.