API for business
This page is for companies that build Speech2Words speech recognition into their own product. One token opens every service: live speech, a file, a video link, a chat over the transcript, history and payment.
How to call it
Send header Authorization: Bearer and the token with every request. The services live at /api/v1. The token belongs to your sign-in: free minutes, the subscription and the balance are taken from that account. A token cannot mint another token. That happens only after you sign in on this page.
curl https://speech2words.ru/api/v1/account \
-H "Authorization: Bearer iil_..."
Services
- GET /api/v1/account — the sign-in, the balance and the subscription.
- GET /api/v1/languages and GET /api/v1/tariff — recognition languages and prices.
- Live microphone: WebSocket wss://speech2words.ru/ws/listen?access_token=TOKEN&lang=en. Send binary PCM frames, 16-bit, mono, 24000 Hz. A text message {type:stop} ends the phrase. Replies are delta, completed, balance and halt.
- POST /api/v1/transcribe — a file. Fields: file, language, duration_seconds, diarize (1 splits speakers), source (upload or dictate).
- POST /api/v1/transcribe/url — JSON with a video url (YouTube, Rutube, VK or Dzen) and language. The text comes back with timestamps.
- POST /api/v1/chat — JSON with transcript and messages (role and content). The assistant answers about that transcript.
- GET /api/v1/transcripts lists them. POST /api/v1/transcripts saves text. GET /api/v1/transcripts/{id} returns the full text.
- POST /api/v1/clip-limit — how many seconds are left, counting free minutes, the subscription and the balance.
- POST /api/v1/pay tops up the balance (body field minutes). POST /api/v1/pay/subscription starts a plan: plan is full or tg, period is month or year. POST /api/v1/pay/subscription/cancel stops auto-renewal. POST /api/v1/pay/sync pulls in a payment that already went through.
The audio for /ws/listen can come from anywhere: a microphone, a tab, a recorded conversation. The service only transcribes the PCM you send and does not join Zoom, Google Meet or Kontur.Talk meetings. You get the meeting audio yourself: on our site Chrome does it, and your own client can use any other way to capture it.
You are responsible for making sure the people in the meeting or conversation agree to the recording and transcription. A breach of the platform rules or the law stays with the caller.
The free minutes of the day, the subscription and the balance work the same way as on the site. A call to /api/v1 without a sign-in answers 401. A bad token also answers 401 and does not spend guest minutes.
Payment page The full request and response schema opens in Swagger.