Skip to content

Health & metrics GET

Endpoint Response Use
GET /healthz 200 {"ok":true,"uptime_s":1234,"workers_ready":4,"workers":4} process is up
GET /readyz 200 ready when every worker is warm, else 503 workers warming up load-balancer and your own checks
GET /metrics Prometheus text format scraping

No key is needed for these three.

Metrics

Metric Type Meaning
vtts_streams_active gauge synthesis streams running right now
vtts_queue_depth gauge requests waiting for a worker
vtts_workers gauge worker threads (one stream each)
vtts_requests_total{endpoint,status} counter by tts / ws and status code
vtts_errors_total{kind} counter busy, queue_timeout, engine
vtts_ttfa_seconds{scope="engine"} histogram engine-side time to first audio (worker pickup → first frame)
vtts_rtf{scope="stream"} histogram wall seconds per audio second per stream
vtts_audio_seconds_total counter audio synthesised
vtts_chars_total counter normalised characters synthesised
vtts_prefill_cache_hits_total, vtts_prefill_cache_misses_total counter text prefill cache

Per-customer usage (what you see in the portal) comes from the server's request log, not from these aggregate metrics.