---
title: "Render"
method: POST
path: "/v1/render"
---

# Render

`POST /v1/render`

## Request

- Base URL: `https://api.storyflo.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.storyflo.com/v1/render`
- Auth: none declared

## Query parameters

- `api_key` string, nullable

## Headers

- `x-storyflo-key` string, nullable
- `x-readout-key` string, nullable

## Request body

- RenderRequest
  - `voice` string, required: Public voice id — atlas, vox, kira, rune
  - `text` string, required
  - `speed` number
  - `force_provider` string, nullable: Override router; one of: kokoro, elevenlabs, cartesia, styletts2
  - `listener_token` string, nullable: When supplied, the renderer enforces the listener's tier. Free tier is forced to the kokoro provider regardless of preference order; plus tier uses the configured order.

## Response `200`

Successful Response

- RenderResponse
  - `audio_url` string, required
  - `cache_key` string, required
  - `provider` string, required
  - `cache_hit` boolean, required
  - `duration_sec` number, required
  - `cost_usd` number, required
  - `sample_rate` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/storyflo/apis/storyflo-inference-router.md) · [All operations](https://skmtc.dev/storyflo/apis/storyflo-inference-router/llms.txt) · [OpenAPI document](https://skmtc.dev/storyflo/apis/storyflo-inference-router/revisions/c3a1a735ac7a?raw)
