Publish text, media or an AI voice to a channel
telegram_create_postGenerate 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. Publish text, a generated voice from speech_text, one photo/document, or an album of 2–10 photos/videos or documents to a connected channel as the channel. This broadcasts to its audience, not a private recipient. Show the complete text, all media URLs in order, buttons and channel, obtain explicit confirmation, then call once. Albums cannot have buttons or mix documents with photos/videos. Requires channel ownership and bot Post messages permission. Use read/search tools to inspect posts. No scheduling. On uncertain delivery inspect the channel; never automatically resend with a new request_id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Exact post text or caption; captions have a 1024-character limit. | |
| album | No | Ordered album of 2–10 public HTTPS media URLs. Photos and videos may mix; documents must form a document-only album. Mutually exclusive with media and buttons. text/format supplies the first item caption (max 1024 characters). Returns message_ids for all items and media_group_id; edit/delete targets one item, not the whole album. | |
| media | No | ||
| 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. | |
| format | No | ||
| buttons | No | HTTPS link buttons. Empty array removes buttons on edit. Arbitrary callbacks and executable actions are not supported. | |
| confirmed | Yes | True only after showing the channel, exact content/button destinations or target post/action and receiving explicit user confirmation. | |
| channel_id | Yes | Channel chat_id returned by telegram_list_chats or telegram_find_chat, connected through /channels. | |
| request_id | Yes | Unique key for this user-approved action. Reuse the same key for retries; never generate a new one to retry uncertain delivery. | |
| save_voice | No | Save this voice for future sends only when the user asks to remember/change their preference. | |
| 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. |