Quick start
The WitCast API lives at https://cast.witqq.dev/api/v1/. Every request is signed with a key:
Authorization: Bearer <key>.
Create a key
Section titled “Create a key”Open the Mini App in Telegram or a browser → Profile → API keys → New key. Choose the permissions (for example “Podcasts: price”, “Podcasts: create”, “Podcasts: status”), and optionally an expiry and a credit quota. The key’s secret is shown once — store it. See Keys and scopes.
Get a quote and create a podcast
Section titled “Get a quote and create a podcast”Every paid operation takes two steps: a quote (POST …/quotes), which freezes rates and the optional spending limit and returns a
quoteId, then the create call with the same body, the quoteId and an Idempotency-Key header.
podcasts:quote, podcasts:create
curl -s -X POST https://cast.witqq.dev/api/v1/podcasts/quotes \ -H "Authorization: Bearer $KEY" \ -H 'Content-Type: application/json' \ -d '{ "mode": "topic", "title": "Quantum sensors", "topic": "How quantum sensors work and where they are used today", "lengthPreset": "express", "grounding": "quick", "voiceId": "yandex-speechkit:jane", "language": "en"}'curl -s -X POST https://cast.witqq.dev/api/v1/podcasts \ -H "Authorization: Bearer $KEY" \ -H 'Idempotency-Key: my-request-001' \ -H 'Content-Type: application/json' \ -d '{ "quoteId": "QUOTE_ID", "mode": "topic", "title": "Quantum sensors", "topic": "How quantum sensors work and where they are used today", "lengthPreset": "express", "grounding": "quick", "voiceId": "yandex-speechkit:jane", "language": "en"}'The create call answers 202 with an operation holding the podcastId. Status, receipt, cancel and
audio are described in Status, receipt, cancel and audio.
- Podcasts — every mode and request field.
- News — dated episodes.
- Prices and charging — how credits are reserved and charged.