Endpoints
Account and billing
Models and pricing, credit balance, usage events and summaries, and pay-as-you-go checkout.
These endpoints report what the API offers and what your account has consumed. Amounts are integer cents (USD); quantities are metered seconds of audio or session time; rates are quoted per hour.
Models and pricing
/v2/modelsList available models with rates. No authentication required./v2/pricingAlias of /v2/models. No authentication required.Both endpoints return the same catalog: { "data": [ …model objects… ] }. Each model object has id, name, family, unit_type, rate_usd, and description. The endpoint is the authoritative source for rates; the table below shows the current catalog.
| Model id | Family | Unit | Rate (USD) | Use for |
|---|---|---|---|---|
| whisper-voicekit-best | pre_recorded_stt | audio_hour | 0.252 | Highest-accuracy pre-recorded transcription for the core languages. |
| whisper-voicekit-fast | pre_recorded_stt | audio_hour | 0.18 | Cost-effective pre-recorded transcription with broad language coverage. |
| whisper-voicekit-realtime-pro | realtime_stt | session_hour | 0.54 | Low-latency realtime transcription for production voice workflows. |
| whisper-voicekit-realtime | realtime_stt | session_hour | 0.18 | Cost-effective realtime transcription sessions. |
| whisper-voicekit-agent | voice_agents | session_hour | 5.40 | Realtime voice agent sessions with speech, reasoning, and audio output. |
whisper- prefix (for example voicekit-best) still resolve to the same models for backward compatibility. Use the whisper-voicekit-… ids in new code.curl https://api.realtimevoicekit.com/v2/modelsCredits
/v2/creditsYour free credit, remaining balance, and lifetime usageEvery account receives 10 USD of free API credit. Usage draws the credit down first; once it hits zero, cost-incurring requests return 402 v2_billing_required until a subscription is active.
| Field | Type | Description |
|---|---|---|
| free_credit_cents | integer | The initial free credit, currently 1000 (10 USD). |
| credit_balance_cents | integer | Remaining credit in cents. |
| lifetime_retail_cents | integer | Total retail value of everything you have ever used. |
| lifetime_billable_cents | integer | Total amount actually billable after credits, lifetime. |
| period_billable_cents | integer | Billable amount in the current calendar month. |
| period | string | The current billing period as YYYYMM, for example 202607. |
| subscribed | boolean | Whether a pay-as-you-go API subscription is active. |
curl https://api.realtimevoicekit.com/v2/credits \
-H "Authorization: Bearer rtvk_your_api_key"{
"free_credit_cents": 1000,
"credit_balance_cents": 742,
"lifetime_retail_cents": 258,
"lifetime_billable_cents": 0,
"period_billable_cents": 0,
"period": "202607",
"subscribed": false
}Usage events
/v2/usagePer-request usage events, newest first| Query param | Type | Default | Description |
|---|---|---|---|
| limit | integer, 1 to 200 | 50 | Rows per page. |
| offset | integer, 0 or more | 0 | Rows to skip. |
Returns { "data": [ …usage events… ] } with one event per metered unit of work.
| Field | Type | Description |
|---|---|---|
| id | string | Usage event id. |
| transcript_id | string or null | The transcript this event belongs to, when applicable. Realtime and voice agent sessions have no transcript id. |
| sku | string | The model id that was metered. |
| unit_type | string | audio_hour or session_hour. |
| quantity | integer | Metered quantity in seconds of audio or session time. |
| retail_cost_cents | integer | Retail cost of the event in cents. |
| credit_applied_cents | integer | How much of the cost was covered by free credit. |
| billable_cents | integer | The remainder actually billed. |
| currency | string | Always usd. |
| stripe_metered | boolean | Whether the billable amount was reported to the payment processor. |
| created_at | string | ISO 8601 event time. |
curl "https://api.realtimevoicekit.com/v2/usage?limit=20" \
-H "Authorization: Bearer rtvk_your_api_key"Usage summary
/v2/usage/summaryCredits plus usage totals grouped by productReturns a credits object (same shape as GET /v2/credits) and a products array with one roll-up per model you have used: sku, name, family, unit_type, and summed quantity, retail_cost_cents, credit_applied_cents, and billable_cents.
curl https://api.realtimevoicekit.com/v2/usage/summary \
-H "Authorization: Bearer rtvk_your_api_key"{
"credits": {
"free_credit_cents": 1000,
"credit_balance_cents": 742,
"lifetime_retail_cents": 258,
"lifetime_billable_cents": 0,
"period_billable_cents": 0,
"period": "202607",
"subscribed": false
},
"products": [
{
"sku": "whisper-voicekit-best",
"name": "Whisper VoiceKit Best",
"family": "pre_recorded_stt",
"unit_type": "audio_hour",
"quantity": 36840,
"retail_cost_cents": 258,
"credit_applied_cents": 258,
"billable_cents": 0
}
]
}Billing checkout
/v2/billing/checkoutStart a pay-as-you-go API subscriptionCreates a hosted checkout session for the pay-as-you-go API subscription and returns its URL. Open the URL in a browser to complete payment setup; once the subscription is active, usage beyond your free credit is metered and billed automatically, and subscribed flips to true on GET /v2/credits.
| Response field | Type | Description |
|---|---|---|
| url | string | The hosted checkout URL to open in a browser. |
| Status | Code | When |
|---|---|---|
| 409 | already_api_subscribed | An API subscription is already active on this account. |
| 502 | stripe_error | The payment provider did not return a checkout URL. |
| 503 | billing_unconfigured | Usage billing is not configured on this deployment. |
curl -X POST https://api.realtimevoicekit.com/v2/billing/checkout \
-H "Authorization: Bearer rtvk_your_api_key"