Skip to main content

Voice & Speech

Anyy separates incoming Speech-to-Text (STT) from outgoing Text-to-Speech (TTS). Either can be configured without the other. Speech settings and credentials are independent of a working text-chat route.

Configure and Test​

Open Dashboard → Models → Voice, or Dashboard → Tools → Voice. Choose TTS or STT, enter the API root and credential, discover or enter a model, and select its matching protocol.

For TTS, configure voice, response format, timeout, maximum text length, and automatic reply behavior; use the audio preview. For STT, configure language, timeout, size/text limits, and failure policy, then run its connection test. A catalog result does not prove that a real synthesis or transcription request works with your account.

CLI wizards:

anyy tools voice tts
anyy tools voice stt

Speech Protocols​

CapabilityprotocolRequest contract
TTSaudio-speechAudio Speech endpoint (/audio/speech)
TTSchat-audio-outputChat Completions with generated audio (/chat/completions)
STTaudio-transcriptionsMultipart Audio Transcriptions (/audio/transcriptions)
STTchat-audio-inputChat Completions with audio input (/chat/completions)

Use an API root such as https://api.example.com/v1, not /models, /audio/speech, /audio/transcriptions, or /chat/completions. The canonical speech-endpoint form requires HTTPS, except loopback HTTP for a local server. It rejects URL credentials, query strings, fragments, and credentialed redirects.

Known model contracts choose the matching protocol. For example, the implemented mimo-v2.5-tts route uses chat-audio-output, and mimo-v2.5-asr uses chat-audio-input. This does not make arbitrary future MiMo IDs, realtime speech, voice cloning, voice design, or diarization supported; those specialized models are excluded from ordinary discovery. An unknown manually entered model needs an explicit valid protocol and a successful test.

Advanced Profile configuration also supports named openai/openai-compatible or trusted local command providers; TTS additionally supports named openai-chat-audio. Command routes are configured under tts.providers or media_understanding.audio.providers, not by entering a command as an HTTP Base URL.

Transcribe Audio​

Use a channel/input path that delivers a supported audio or voice attachment. The configured STT route converts it before the conversational request. Dashboard's direct uploads currently classify non-PNG/JPEG content as ordinary files, so uploading an audio file there does not automatically trigger STT. See Media Understanding.

The default audio policy is transcript-first, 25 MiB maximum input, 12,000 transcript characters, and a 60-second timeout. annotate, ignore, and fail control failed transcription. The speech-endpoint timeout ceiling is 600,000 ms. Protocol/model limits can be smaller: mimo-v2.5-asr accepts MP3/WAV only and limits base64 input to 10,000,000 bytes (at most 7,500,000 raw bytes).

A language hint is sent where supported. It does not guarantee verbatim transcription or speaker labels, and the wrong hint can harm multilingual recognition.

Generate Spoken Replies​

When the text_to_speech tool is available, ask:

Reply with a short voice message in a calm tone.

A successful result becomes an audio attachment marked as AI-generated voice. The endpoint, format, and destination channel determine delivery. The standard TTS adapters default to 4,096 input characters and truncate longer text; set an appropriate maximum or ask for a short reply. Preview and synthesis requests can consume paid quota.

Automatic Channel Replies​

voice.auto_tts supplies the default channel behavior. In supporting channel conversations:

CommandBehavior
/voiceToggle between off and voice-input-only replies
/voice onGenerate speech for replies to voice input
/voice ttsGenerate speech for all replies
/voice offDisable automatic speech for this conversation
/voice statusShow mode and whether it is an explicit or default setting

The conversation setting overrides the Profile default. It still requires a working TTS service and supported audio delivery; it does not bypass channel size/format limits.

Speech sends content to a provider

Recordings, transcripts, or reply text may leave the device. Review provider privacy, retention, region, and billing terms before using sensitive content.

Troubleshooting​

SymptomCheck
Audio has no transcriptAttachment is audio/voice, STT is enabled, and the format/size/protocol is supported
TTS tool is unavailableTTS route is configured/enabled and the conversation's tools expose text_to_speech
Preview failsAPI root, credential, model, protocol, voice, and output format
Channel receives text onlyVoice mode, TTS availability, and channel audio delivery support
Speech is cut offTTS text limit or STT limits and provider timeout