Voice message → transcript
Send audio to the bot and get a timestamped transcript plus a recording in your library.
Telegram bot
Our bot transcribes voice messages and saves recordings to your library. And with the API you can build your own voice bot.
Send audio to the bot and get a timestamped transcript plus a recording in your library.
The conversation is split into turns with speaker labels — great for interviews and calls.
TTS and STT over REST and WebSocket: voice replies and voice-message recognition in your bot.
Dashboard → Integrations → Telegram. You get a link with a binding code.
The bot accepts audio, transcribes it and returns the transcript.
Every conversation is saved with tags — searchable and ready for QA.
API
Accept voice messages and transcribe them through the same STT API.
# Голосовое → транскрипт через API
curl -X POST https://ttsapi.ru/v1/transcribe \
-H "X-Api-Key: rtt_…" \
-F "audio=@voice.ogg" \
-F "language=ru" \
-F "diarization=true"
→ 202 { "job_id": "…" }
from voicekit import VoiceKitClient
client = VoiceKitClient(api_key="rtt_…")
job = client.transcribe("voice.ogg", language="ru", diarization=True)
result = client.get_transcription_job(job["job_id"])
import { VoiceKitClient } from "voicekit-client";
const client = new VoiceKitClient({ apiKey: "rtt_…" });
const job = await client.transcribe("voice.ogg", { language: "ru", diarization: true });
const result = await client.getTranscriptionJob(job.job_id);
using VoiceKit;
var client = new VoiceKitClient("rtt_…");
var job = await client.TranscribeAsync("voice.ogg", language: "ru", diarization: true);
var result = await client.GetTranscriptionJobAsync(job!["job_id"]!.GetValue());
FAQ
In the cabinet, go to Integrations → Connect Telegram, get a link with a one-time code and send /start to the bot.
No: only the transcript text is returned to Telegram, and the audio is processed on our servers.
OGG/OPUS from Telegram, plus mp3, wav and m4a — same as the main API.
Yes, build replies on the TTS API — a preset voice or your own clone.
The free transcription limit is enough to try the bot.