Resources
Changelog
Dated changes to the Tokentide API.
Dated changes to the Tokentide API. Breaking changes are announced here at least 30 days before they take effect.
2026-11-02: pricing explained, and Tokentide in Claude
- New:
GET /v1/market/rulesexplains the whole pricing model with today's live values: what you pay, the tide table, surges, Low Tide, the daily reset, quotes, video and music cutoffs and your controls. JSON by default, Markdown with?format=markdown. See Lanes and tide pricing. - New:
GET /v1/market/estimateprices a request before you send it: now, at every remaining hour, at the last chance today and at tomorrow's open, on Standard and on Low Tide when the model is eligible. See Lanes and tide pricing. - New: the Tokentide connector for Claude, a remote MCP server at
https://api.tokentide.app/mcpwith OAuth sign-in. Each connection gets its own API key with the daily cap and privacy mode you choose. See Claude connector and plugin. - New: the Tokentide plugin for Claude (the connector plus a viral product video skill), installable from Tokentide in Claude.
2026-11-01: video and music generation
- New: queued video (
POST /v1/video/quote,/queue,/retrieve,/complete) and music and sound effects (POST /v1/audio/quote,/queue,/retrieve,/complete), with the same bodies as Venice’s queue APIs. See Video and music. - A job is charged once, when it is queued, at its exact quote times the multiplier locked then. Quotes, polling and clean-up are free, and failed jobs are refunded automatically.
- Jobs are accepted only when they would finish before the daily reset: video until about 23:14 UTC, music until about
23:39 UTC (
503 epoch_rolloverafter that, withRetry-After). - Finished files are streamed through Tokentide and deleted upstream as they are delivered. Download URLs are never returned, and only the account that queued a job can collect it.
- Up to 8 jobs per account can be queued and not yet collected.
2026-11-01: one region, one base URL
Tokentide now runs in a single region in the United States (AWS US East). These changes come before the public launch, so nothing goes through a deprecation period:
- One base URL:
https://api.tokentide.app/v1, plus the Venice-style alias/api/v1. The regional hostsus.api.tokentide.app,eu.api.tokentide.appandap.api.tokentide.appand the regional path prefixes (/us/v1,/eu/v1,/ap/v1) are gone. They were never in production, so there are no redirects. See Base URL. - Removed: the
X-Tokentide-Regionresponse header;regionandbalance.region_lease_remaining_usdfromGET /v1/account(balance.leased_usdstays);regionfromGET /v1/status; andregionfrom the rows ofGET /v1/account/usage, together with theregionbreakdown and theregioncolumn of the request export. - Removed: API key region pins (region policy
us,euorap) and the403 region_not_allowederror with its reasonskey_locked_to_us,key_locked_to_euandkey_locked_to_ap. Every key works on the one host. The503 service_unavailablereasonregion_drainedis gone too. - SDKs:
@tokentide/sdkdrops theregionoption,withRegion(),usesRegionHostand theregionfield of the response metadata;TokentideClient.baseUrlFor(domain?)returnshttps://api.<domain>/v1. The Pythontokentidepackage drops theregionargument,with_region(),uses_region_host,REGION_CODESandPRODUCTION_API_HOSTS;api_base_url(domain="tokentide.app")returns the base URL. Large Payload Lane uploads no longer pin a client to a region. SetbaseUrl/base_urlonly for a staging or local host. - Spending caps are exact. All spend is counted in one place, so caps no longer take up to a minute to converge across regions. Rate limits are counted in one place too. See How caps are enforced.
- Data location: everything Tokentide stores (account, billing, request metadata and the ledger) is kept in the United States (AWS US East). See What we store.
2026-11-01: auto top-up: the monthly maximum includes tax
- The monthly maximum caps what your card is charged, tax included. A charge whose invoice, with its tax, would go over it is not made (its invoice is cancelled before payment), and auto top-up pauses until the month ends. The amount of each top-up is credit; tax is added to the charge. See Auto top-up.
- Tax IDs from Stripe's billing portal apply to automatic top-ups only once Stripe has verified them and your VAT ID is validated in your tax profile; until then auto top-up pauses. Invoices for automatic top-ups can only be paid with your saved card. See Declines, pauses and 3-D Secure.
- A lost answer from Stripe is no longer a decline. Auto top-up waits for Stripe to confirm the outcome instead of charging again, and a problem on Stripe's side is neither counted as a failure nor e-mailed.
2026-11-01: spending limits, a cap of 0 and refusals that say why
- A cap of 0 blocks all spend on the key or the account until you change it, so you can pause a key without
revoking it. The dashboard accepts 0, and
GET /v1/accountreports it as"0". See Spending limits. 402 spend_limit_reachedfor a request too large for what is left says so, with the worst-case cost and the room left, and carriesRetry-After: 60instead of the seconds until the reset (none when the request could cost more than the whole cap). See Thespend_limit_reachederror.- Corrected charges count towards your caps. When the nightly reconciliation corrects a charge to what Venice billed, or credits a request Venice did not bill, the caps whose day, week or month is still running count the corrected charge instead of the original one. See How caps are enforced.
2026-11-01: requests Venice did not bill
- A request credited back because Venice did not bill it now has
list_cost_micros0as well ascharge_micros0inGET /v1/account/usageand in the exports, so it adds no savings. It still counts as a request, with its tokens. See How savings are calculated.
2026-11-01: cached answers without your request id
- Public answers our CDN caches (
GET /v1/market,/v1/status, the model catalog without credentials) no longer echoX-Client-Request-Id: a cached answer could carry another caller's id. See Debugging a request.
2026-10-31: billing, auto top-up and spending limits
- Auto top-up. Save a card with Stripe and top up automatically whenever your spendable balance drops below a threshold, with an optional monthly maximum. See Auto top-up.
- Weekly spending caps. Caps per ISO week (from Monday 00:00 UTC) join the daily and monthly caps, for each API key and for the whole account, and every cap now converges across regions within about a minute. See Spending limits.
GET /v1/accountreturnslimits.weekly_cap_usdand the account-wide capslimits.account_daily_cap_usd,limits.account_weekly_cap_usdandlimits.account_monthly_cap_usd(nullwhen not set).402 spend_limit_reachednames the cap that was reached and when it resets, and carriesRetry-After(the seconds until the reset).- E-mail alerts. Budget alerts, cap warnings and cap-reached notices, low balance, auto top-up results, an opt-in weekly report and price alerts. See Budget alerts and notifications.
- Usage. Breakdowns by model, API key, endpoint, region and lane over any range up to all time, compared with the Venice API list price of the same requests, plus a breakdown CSV export.
- The OpenAPI document describes the responses of
GET /v1/accountandGET /v1/account/usage, and the402responses of the inference routes. - New guide: Billing and spending limits.
2026-10-31: initial API reference
First public description of the API for the private beta.
Endpoints
- OpenAI- and Venice-compatible inference:
POST /v1/chat/completions(with E2EE passthrough one2ee-*models),POST /v1/responses,GET /v1/models(plus/traitsand/compatibility_mapping),POST /v1/decisions,POST /v1/systemone, image generate and edit routes,POST /v1/audio/speech,POST /v1/audio/transcriptions. - Venice-style alias
/api/v1/*on every host. - Tokentide-native:
GET /v1/market,GET /v1/market/stream,POST /v1/market/quote,GET /v1/account,GET /v1/account/usage,POST /v1/uploads,GET /v1/status,GET /v1/openapi.json. - The OpenAPI document describes the native request bodies and query parameters (
QuoteRequest,UploadRequestand the usage filters), generated from the same schemas the API validates with. POST /v1/market/quotevalidates its body:{"lane": "standard" | "lowtide"}, defaultstandard; anything else answers400 invalid_requestwithparam.GET /v1/marketreturnssold_outandreopens_at. When today’s discounted capacity is used up, inference answers503 capacity_unavailablewith aRetry-Afterthat counts down to the 00:00 UTC reset.
Hosts
api.tokentide.app (auto) plus regional us., eu. and ap.api.tokentide.app, and region-locked keys.
Pricing
Tide Pricing with a published daily tide table, upward-only surges, the opt-in non-streaming Low Tide lane, and the
slack-water protocol around the 00:00 UTC reset. Request headers X-Tokentide-Lane, X-Tokentide-Lowtide-Fallback,
X-Tokentide-Max-Multiplier, X-Tokentide-Max-Cost-USD; price and lane response headers; the tokentide object in
the final usage chunk of streams.
Payments and authentication
API keys tt_live_….
Privacy
Zero data retention, guaranteed on Private models; privacy modes private (default), private_text and all.
Troubleshooting
X-Client-Request-Id (your own correlation id, echoed back and recorded as a keyed hash), debug headers on error
responses too, X-Tokentide-Debug-Upstream-Id on non-streaming responses, X-Tokentide-Model-Fallback, and SDK
errors that print the request ids. See Debugging a request.
Planned
Not live yet:
- Large Payload Lane general availability (preview at launch).
- Embeddings (
POST /v1/embeddings), v1.1. - Debug Capture (opt-in, sealed to your own key).
- Customer webhooks (for example for price alerts and billing events; price alerts by e-mail are live).