---
title: "Publisher Voicebox Set"
method: POST
path: "/v1/publisher/{tenant_slug}/voicebox"
---

# Publisher Voicebox Set

`POST /v1/publisher/{tenant_slug}/voicebox`

## 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/publisher/{tenant_slug}/voicebox`
- Auth: none declared

Set (activate) the publisher's VoiceBox voice profile.

Gated: 503 when VOICEBOX_ENABLED is off; 403 for free tier
(plus/pro only); 422 when consent is not granted. Any previously
``active`` profile for this publisher is revoked first, so a publisher
has at most one active voice at a time. Takes effect on the next
render dequeue (fail-open — an inactive/absent profile is a no-op).

## Path parameters

- `tenant_slug` string, required

## Headers

- `x-storyflo-publisher-token` string, nullable

## Request body

- PublisherVoiceboxBody
  - `engine` string, required
  - `voice_ref` string, required
  - `display_name` string, nullable
  - `consent` boolean
  - `consent_ref` string, nullable

## Response `200`

Successful Response

- object

## 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)
