Skip to content

Overview

Get started

Tokentide documentation

Frontier and open-weight models through an OpenAI-compatible API, at a live discount to API list prices. Zero data retention, guaranteed on Private models.

Tokentide is a drop-in, OpenAI-compatible API for frontier and open-weight models, at a discount to API list prices. To switch, change two things: the base URL and the API key. Prices follow a published intraday tide table, and an opt-in Low Tide lane sells spare capacity even cheaper. Zero data retention, guaranteed on Private models.

import os
from openai import OpenAI
 
client = OpenAI(
    base_url="https://api.tokentide.app/v1",  # was https://api.openai.com/v1 or https://api.venice.ai/api/v1
    api_key=os.environ["TOKENTIDE_API_KEY"],  # a Tokentide key, tt_live_…
)

New here? Start with the Quickstart. Prefer to explore? Open the API reference and send real requests from the built-in console.

Base URL

Every request goes to one base URL: https://api.tokentide.app/v1. The API also answers on the Venice-style alias https://api.tokentide.app/api/v1/*, so Venice SDKs only need a new host and key.

Tokentide runs in the United States (AWS US East). Everything it stores (account data, request metadata and the ledger) is kept in the United States as well, and request content is never stored. Venice decides where inference runs. See Privacy and ZDR.

Guides and reference

Endpoints at a glance

RouteAuthNotes
POST /v1/chat/completionskeyStreaming, E2EE passthrough on e2ee-* models
POST /v1/responseskeyStreaming typed events (no E2EE)
GET /v1/models, /v1/models/traits, /v1/models/compatibility_mappingkeyFiltered by your key’s privacy mode; adds tokentide
POST /v1/decisions, POST /v1/systemonekeyAnonymized model: needs a key with privacy mode all
POST /v1/image/generate, POST /v1/images/generations, GET /v1/image/styleskeysafe_mode is always on
POST /v1/image/edit, /v1/image/multi-edit, /v1/image/upscale, /v1/image/background-removekeyPrefer public image URLs for large inputs
POST /v1/audio/speechkeyInput ≤ 4,096 characters
POST /v1/audio/transcriptionskey≤ 4.5 MB direct, ≤ 25 MB via the Large Payload Lane
POST /v1/embeddingskeyText embeddings
POST /v1/video/{quote,queue,retrieve,complete}keyQueued video; see Video and music
POST /v1/audio/{quote,queue,retrieve,complete}keyQueued music and sound effects
GET /v1/market, GET /v1/market/streamnoneLive prices, tide tables, epoch state
POST /v1/market/quotekeyLocks a multiplier for 60 s
GET /v1/account, GET /v1/account/usagekeyBalance, limits, request metadata (never content)
POST /v1/uploadskeyLarge Payload Lane upload slot
GET /v1/status, GET /v1/openapi.jsonnoneHealth and epoch state, OpenAPI 3.1 document

Voice cloning and the voice changer are not offered: they keep voice samples upstream for days. Venice account routes (/api_keys, /billing) are never proxied.

Status

GET /v1/status (no authentication) reports the health of the API, with Tokentide and the upstream (Venice) shown separately, and the state of the current epoch:

GET /v1/status
{
  "object": "status",
  "status": "operational",
  "components": { "tokentide_api": "operational", "market": "operational", "upstream_venice": "operational" },
  "market": {
    "epoch": "2026-10-31",
    "state": "open",
    "tick_age_ms": 4200,
    "sales_paused": false,
    "lowtide_open": true
  },
  "open_breakers": 0,
  "deployment": { "id": "dpl_…", "commit": "b755503…" },
  "checked_in_ms": 12,
  "at": "2026-10-31T18:00:00.000Z"
}

status is operational, degraded or paused (sales paused). Incidents and maintenance are posted on status.tokentide.app.