Generate a voice message or send media to Telegram
telegram_send_mediaGenerate an AI voice message from speech_text and send it to Telegram in one call. Maximum 800 characters. Requires the confirmed recipient and exact speech text, disclosure of AI generation, confirmed=true and a stable request_id. Available voices: Marin (female) and Cedar (male). Set voice only to a choice explicitly provided by the user; otherwise omit it to use the saved preference. If no preference exists, voice_choice_required is returned without generation, delivery or quota usage. Ask the user to choose a voice and whether to remember it, then repeat with the same request_id. save_voice=true stores the explicitly selected voice; it can be changed on a later send. On voice_limit_exhausted, explain the allowance and reset date returned in quota. On uncertain delivery, inspect the chat before any further send. Free includes 3 lifetime voices; Plus includes 30 per paid period; Unlimited includes 100. Report the remaining allowance after sending.
Send to a resolved private chat or group. Choose exactly one source: • speech_text — generate and send a new AI voice message from text. • from_chat_id + from_message_id — resend an existing archived file using its Telegram file ID; no upload. Imported history has no file ID. • url — send an existing media file at a public http(s) link.
Sending is immediately visible: confirm the recipient and content first. Private business chats send as the user; groups send as the bot. Use telegram_create_post for connected channels.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public http(s) link to an existing media file. Mutually exclusive with speech_text and from_chat_id + from_message_id. | |
| voice | No | Use only a voice explicitly chosen by the user: marin (female) or cedar (male). Otherwise omit this field to use their saved choice; if none exists, the tool returns voice_choice_required. Never guess from the message text. | |
| caption | No | Text under the media. Markdown is converted. | |
| chat_id | Yes | Where to send it, from telegram_find_chat. | |
| confirmed | No | For generated voices, true only after confirming recipient and exact speech text. | |
| request_id | No | Required for generated voices: stable action key, 8–100 letters, digits, underscores or hyphens. Reuse on retries. | |
| save_voice | No | Save this voice for future sends only when the user asks to remember/change their preference. | |
| as_document | No | Send as a file rather than a photo/video, keeping full quality. | |
| speech_text | No | Exact text to synthesize and send as an AI-generated Telegram voice message, up to 800 Unicode characters. Audio generation and delivery are included in this call. Mutually exclusive with url, archived media and album. | |
| from_chat_id | No | Chat holding the file to resend. | |
| from_message_id | No | message_id of the message holding the file. | |
| message_thread_id | No | Forum topic to post into, in a group that has them. | |
| reply_to_message_id | No | Quote this message_id. |