API
API overview
Voices
Platform resources
Errors and limits

Platform resources

Use these read-only endpoints to discover runtime state and account usage.

Health

GET /health is public and returns:

json

{"status":"ok"}

Readiness

GET /ready requires a bearer token. It reports the active model, sample rate, languages, registered voices, LoRAs, stream formats, voice modes, and language-policy version.

Models

GET /v1/models requires a bearer token and returns an OpenAI-style list:

json

{
  "object": "list",
  "data": [
    {"id": "teen-v1", "object": "model", "owned_by": "teenageworks"}
  ]
}

Capabilities

GET /v1/capabilities requires a bearer token. Use its machine-readable capabilities object to discover streaming transports, audio formats, voice selection and reference cloning, generation controls, and unavailable features at runtime.

Usage

GET /v1/account/usage requires a project API key.

curl https://api.teenage.works/v1/account/usage \
  -H "Authorization: Bearer tw_live_..."

The response uses this shape:

json

{
  "balance_deci_micros": 45000000,
  "usage": {
    "requests": 42,
    "characters": 10000,
    "audio_ms": 120000,
    "spent_deci_micros": 5000000
  }
}

Money values use deci-micro-USD: 10,000,000 units equal USD 1.00.

Handle errors and request limits