Create PVC Voice
POSThttps://api.knoxstudio.ai/v1/voices/pvc
name and language are required. Optional labels must be an object or JSON string. Not billed.
Request
Request Headers
| Name | Type | Required | Description |
|---|---|---|---|
| Authorization | String | Yes | Bearer <token> Knox API key. xi-api-key is also accepted. |
| Content-Type | String | Yes | application/json |
Request Body
| Name | Type | Required | Description |
|---|---|---|---|
| name | String | Yes | Voice name. |
| language | String | Yes | Language of the voice. |
| description | String | No | Optional description. |
| labels | Object or String | No | Metadata labels. |
cURL Example
curl -X POST https://api.knoxstudio.ai/v1/voices/pvc \
-H "Authorization: Bearer $KNOXCHAT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Pro Narrator","language":"en"}'
Response
Success Response (200)
Created PVC voice JSON, including voice_id.
Error Responses
Validation uses HTTP 422:
{
"detail": [
{
"loc": ["body", "field"],
"msg": "…",
"type": "value_error"
}
]
}
Other errors use { "detail": "message" }.
| Status | When |
|---|---|
400 | WebSocket path called without Upgrade: websocket. |
401 | Missing or invalid API key. |
402 | Insufficient credits. |
403 | Token is not allowed to use this model. |
404 | Resource not found. |
422 | Validation error. |
429 | Rate limit exceeded. |
500 | Internal server error. |