Skip to main content

Overview

Timbre v3.0 renders expression from inline tags — <tag> placed directly in the text field. Each tag changes delivery from its position to the end of the input. Tags are optional. Text without any tag plays in a neutral tone.
Audio tags are supported on timbre-v3.0 only. With timbre-v2.5 they are removed from the text before synthesis and are not spoken; a request whose text contains only tags is rejected with 400 Bad Request.

Syntax and Scope

Place a tag anywhere in the text field using angle-bracket syntax:
Tag names are case-sensitive and must match the catalog exactly — including spaces, hyphens, and underscores.
Scope: a tag applies from its position to the end of the input (or until the next tag). There is no closing tag.
In this example: “Please hold.” is delivered in the default (neutral) tone, “Your order is almost ready.” is whispered, and “Thank you for your patience.” uses a soft, quiet tone.

Supported Tags

13 tags are supported in Timbre v3.0. Use them inline to change how specific parts of your text are delivered.
<pauses> inserts silence. It is never read aloud — the voice stops briefly and then continues with the next word.

Invalid tags

Unknown tags are stripped silently — the request succeeds and the tag text is never spoken.

Code Examples

Add a tag to a REST inference request

Multiple tags in one utterance

Tags chain — each one applies from its position until the next:

Add a pause between sentences

<pauses> inserts silence without speaking the tag:

Streaming with tags (SSE)

Audio tags work identically on the SSE streaming endpoint. Tags that span a chunk boundary are still recognised correctly by the model.

Billing

Inline tags count as billable characters. The tag text (including the angle brackets) is included in the character count for the request. For example, the text Hello! <giggle> Great to hear from you. is billed as 42 characters — the full string, tag included.

Tips

  • One tag at a time — chaining too many tags in a short text can produce unnatural transitions. Two or three tags per paragraph is a good baseline.
  • Silence tags before prompts — <pauses> before an IVR prompt (“Please say yes or no.”) gives callers time to respond and improves recognition accuracy.
  • Match the tag to the voice persona — expressive tags (<shouting>, <giggle>) work best on voices with an Expressive or Friendly persona. Professional voices tend to moderate extreme tags.
  • Test before going live — preview tagged text in the Gnani TTS playground before integrating.