---
title: "TTS capability probe"
method: POST
path: "/tts/probe"
tags: ["TTS"]
---

# TTS capability probe

`POST /tts/probe`

Synchronously synthesize a fixed neutral text and report
first-byte latency + RTF. The client uses these to classify
the server into GREEN/YELLOW/RED/NA tiers and decide whether
to play live, pre-generate, or fall back to on-device TTS.

## Request body

- TtsProbeRequest
  - `language` string
  - `speed` number
  - `voice` string, required

## Response `200`

OK

- SchemaProbeResult
  - `audio_duration_ms` integer
  - `first_byte_ms` integer
  - `provider` string
  - `rtf` number
  - `server_build` string
  - `total_ms` integer
  - `voice` string

## Other responses

- `400` — Bad Request
- `503` — Service Unavailable

## Changes

- **2026-07-17** `58911ffb3093` — 1 info
  - endpoint added
- **2026-03-21** `ffed97aaec4f` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/lxpio/apis/omnigram-api/changes/tts/probe/post.md)

---

[API](https://skmtc.dev/lxpio/apis/omnigram-api.md) · [All operations](https://skmtc.dev/lxpio/apis/omnigram-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/lxpio/omnigram-api/revisions/58911ffb3093/schema)
