Speko Docs
API Reference

TTS Models

Compare the TTS models your organization can route on measured naturalness, robustness, cost and first-audio latency, with the regional and per-language readings alongside.

GET
/v1/tts/models

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Query Parameters

language?string

Which language cell to report. Robustness is measured for English only.

Default"en"
use_case?string

Narrow to models with at least one voice meeting this use case. Rows included only by include_unroutable=true are not narrowed, since no voice evidence exists for a model this organization cannot route.

Value in"longform" | "phone"
sort?string
Default"natural"
Value in"natural" | "latency" | "cost" | "robustness"
order?string

Defaults to ascending for latency and cost, descending for the other axes.

Value in"asc" | "desc"
include_unroutable?string
Default"false"
Value in"true" | "false" | "1" | "0"

Response Body

application/json

application/json

{
  "object": "string",
  "language": "string",
  "sort": "string",
  "order": "string",
  "data": [
    {
      "id": "cartesia:sonic-3.5",
      "provider": "string",
      "model": "string",
      "routable": true,
      "routable_via": "platform_key",
      "benchmark": {
        "language": "string",
        "board": "string",
        "naturalness": {
          "value": 0,
          "unit": "string",
          "higher_is_better": true,
          "board": "string",
          "ci": [
            0
          ],
          "n": 0,
          "basis": "string",
          "unjudgeable": 0,
          "field_mean": 0,
          "comparable_across_languages": true,
          "estimated": true
        },
        "robustness": {
          "value": 0,
          "unit": "string",
          "higher_is_better": true,
          "board": "string",
          "ci": [
            0
          ],
          "n": 0,
          "basis": "string",
          "unjudgeable": 0,
          "field_mean": 0,
          "comparable_across_languages": true,
          "estimated": true
        },
        "panel_mos": {
          "value": 0,
          "unit": "string",
          "higher_is_better": true,
          "board": "string",
          "ci": [
            0
          ],
          "n": 0,
          "basis": "string",
          "unjudgeable": 0,
          "field_mean": 0,
          "comparable_across_languages": true,
          "estimated": true
        },
        "panel_named_pct": {
          "value": 0,
          "unit": "string",
          "higher_is_better": true,
          "board": "string",
          "ci": [
            0
          ],
          "n": 0,
          "basis": "string",
          "unjudgeable": 0,
          "field_mean": 0,
          "comparable_across_languages": true,
          "estimated": true
        },
        "latency_ms": 0,
        "latency_evidence": {
          "board": "string",
          "region": "string",
          "n": 0,
          "p90_ms": 0
        },
        "latency": {
          "vendor_direct": [
            {
              "region": "string",
              "location": "string",
              "p50_ms": 0,
              "p90_ms": 0
            }
          ],
          "per_language": [
            {
              "language": "string",
              "p50": 0,
              "p90": 0,
              "n": 0,
              "sweeps": 0,
              "wide_tail": true,
              "voice": "string"
            }
          ]
        },
        "cost": {
          "per_1m_chars_usd": 0,
          "per_min_usd": 0,
          "higher_is_better": true
        }
      },
      "languages": {
        "measured": [
          "string"
        ],
        "vendor_claimed": [
          "string"
        ],
        "count": 0
      },
      "voices": {
        "total": 0,
        "measured": 0,
        "compatibility": "verified"
      }
    }
  ],
  "meta": {
    "benchmark": {
      "schema": 0,
      "routing_policy_version": "string"
    },
    "quality_overlay": {
      "generated_at": "string",
      "run_id": "string"
    },
    "org_routable_vendors": [
      "string"
    ],
    "coverage": {
      "models_routable": 0,
      "models_measured": 0,
      "voices_routable": 0,
      "voices_measured": 0
    },
    "notes": [
      "string"
    ]
  }
}
Empty
{
  "error": "Unauthorized",
  "code": "UNAUTHORIZED"
}