FruxonDocs
ApiVoice

Speaks a sample of a voice.

Speaks a short, fixed sentence in the call language with the voice and speed asked for, through the same model a call uses, and stores the audio as the agent's file. A Fruxon-voice sample is served again for a while instead of spoken anew (`cached`). A voice or speed the agent's setting could not take is refused with the same message (400 `voice_option_unsupported`). With `source=integration` and `integrationConfigId`, the sample is spoken by the workspace's own ElevenLabs account, through the model and API a call streams through, and is never cached: the account pays for each one. ElevenLabs voices take no speed.

POST
/v1/tenants/{tenant}/agents/{agent}/voiceSamples
AuthorizationBearer <token>

JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token.

In: header

Path Parameters

agent*string

The agent the voice is for.

tenant*string

The tenant identifier

The voice, the language and the speed.

source?string

fruxon, or integration for a voice from the workspace's own ElevenLabs account.

integrationConfigId?string|null

With integration: the workspace's elevenlabs config to speak through. Its account pays for the sample.

Formatuuid
voiceId?string
language?string

he or en.

speed?number|null

0.75–1.5 in steps of 0.05; null is the voice's own pace. Fruxon voice only.

Formatdouble
[key: string]?never

Response Body

curl -X POST "https://api.fruxon.com/v1/tenants/string/agents/string/voiceSamples" \  -H "Content-Type: application/json" \  -d '{}'
{
  "audio": {
    "fileId": "string",
    "fileType": "string",
    "displayName": "string",
    "promptLink": "<string:string/>"
  },
  "model": "string",
  "cached": false
}
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty
Empty
{
  "type": "string",
  "title": "string",
  "status": 0,
  "detail": "string",
  "instance": "string",
  "property1": null,
  "property2": null
}
Empty