DumGumDocs
Search documentation

Loading search…

Guides

Voice Messages: What a Persona Hears

What a Persona hears in a voice message, what she does with it, and the limits a recording has to fit.

Overview

Some Users talk instead of typing. Give us the recording and the Persona answers it like a person would.

We fetch the file, transcribe what was said, and describe how it sounded: the delivery, the emotional colour of the voice, whether someone else is in the room, what is audible behind them. The Persona then replies to what was said and to how it was said — the part a transcript alone throws away.

Three things to know before you read further:

  • Inbound only. We understand the voice messages a User sends. The Persona never sends one back.
  • Nothing to switch on. Unlike Vision Link, there is no option to enable. A message that carries audioUrls is analyzed, and you are billed for it.
  • The Persona never pretends to have heard something. A recording we could not use is said to be unheard, in her own words, rather than guessed at.

Availability

Every Chat Model 2.0 and above hears voice messages in full.

Chat ModelVoice
chat-2.1-proYes
chat-2.1-smartYes
chat-2-proYes
chat-2-smartYes
dating-pro-1Words only
dating-smart-1Words only

On the dating-*-1 models the transcript still reaches the Persona as the text of the message, so she answers the words. She is not told the message was spoken and she is given none of the acoustic detail below. See Model Versions.

What the Persona Is Told

She is told that the message was spoken, then what the analysis heard.

What she getsExample of what it carries
The wordsThe transcript, in the language it was spoken in. We never translate it.
What the audio mostly isSpeech, singing, music, background noise, silence, or a mix of them.
How the voice is usedNormal, whispered, shouted, sung, guttural, distorted, robotic.
The tone of the deliveryNeutral, jovial, excited, flirtatious, sad, angry, anxious, tired, flat.
Whether it sounds unusualGrowled, pitch-shifted, heavily processed, played through a speaker.
Whether the User was aloneAlone, someone with them and part of the exchange, or other voices around them.
A notable accentNamed plainly, and only when there is something worth naming.
What is audible behind themMusic, a street, a television, a room.
How well it could be heardWhether parts were hard to make out.

Limits a Recording Has to Fit

LimitValue
Length30 seconds. A longer recording is not listened to at all.
Size8 MB. A larger file is refused before we finish downloading it.
Formatswav, mp3, m4a, mp4, aac, ogg, opus, webm, flac, caf
Per messageThe first URL only. Put one voice message on one chat history message.

Every URL must be publicly reachable at the moment we generate the answer, HTTPS strongly recommended. Signed URLs are fine as long as they are still valid when we fetch them.

When a Recording Cannot Be Used

None of these break the reply. She answers, and she is honest about what she got.

What happenedWhat the Persona does
Nothing on the recording — a muted, unplugged or denied micSays lightly that she got it but heard nothing, that their mic looks off, and asks for another one.
Longer than 30 secondsSays plainly that it was too long to play, and asks for a shorter one. She never implies she heard any part of it.
Too noisy to make outReacts to how it sounded and says she could not catch the words.
Spoken in a language she does not haveReacts to how it sounded. She is never shown the words, and never hints at what they meant.
We could not fetch or analyze itAnswers the conversation without it. She is not told a voice message was sent.

Pricing

Base cost: €0.015 per analyzed voice message, flat, whatever the length.

  • We key an analysis by URL. The same URL is analyzed once and billed once, however many conversations or projects it appears in, and the result is kept for a year.
  • Change the file behind a URL and it is a new recording. Fresh analysis, and you pay again.
  • A recording with no signal at all is free. We recognise it from the audio itself and never ask a model, so there is nothing to charge for.
  • A recording over 30 seconds is free. We decline to listen rather than analyze an opening.
  • A recording we cannot fetch, or cannot name a format for, is free. No analysis, no charge.

Analyses appear as their own Voice Message Analyses line item on your pricing page and invoices. Volumes come back on the Project Statistics endpoint as audioAnalysisCount and audioAnalysisCost, outside the answer spend — voice messages are billed when the message arrives, not when a reply is written.

Technical Implementation

Step 1: Return Voice URLs in Your Chat History

In the Chat History Endpoint you host, add an audioUrls array to the message that carried the recording. It sits alongside text, pictureUrls and videoUrls.

{
  "messages": [
    {
      "id": "msg_1042",
      "sender": "USER",
      "date": "2026-09-14T10:00:00Z",
      "audioUrls": ["https://cdn.example.com/u/1042/note.m4a"],
      "audioLevelsDb": { "https://cdn.example.com/u/1042/note.m4a": -14.9 }
    }
  ]
}

That is the whole integration. There is no reply parameter to set.

Keep the message id stable. We analyze a recording once, when the message first reaches us, so replaying your history on later turns costs nothing.

Step 2: Send the Measured Level, If You Can

audioLevelsDb holds the loudness of each recording in dBFS, keyed by its URL. It is optional and partial — send what you can measure.

A level you do not send, we measure ourselves, so nothing is lost by omitting it. Sending it saves that round-trip, and both the browser and iOS give the number away while recording.

Step 3: Read the Reply

Nothing about the answer changes. The reply comes back as ordinary text on message, and the Persona never returns audio.

The transcript is treated as User text everywhere else, too: it is what Core Guardian reads, what the moderation checks read, and what gets translated. A User cannot get past your safeguards by speaking instead of typing.

Step 4: Try It Before You Ship

The Playground records a voice message from your browser and sends it exactly as your integration would — same analysis, same cache, same 30-second limit, refusals included. It is the fastest way to hear what a Persona does with a clip before you write any code.

Frequently Asked Questions

Do we have to enable anything? No. There is no reply parameter and no project setting. A message carrying audioUrls is analyzed.

Can the Persona send voice messages back? No. Understanding is inbound only.

The Persona ignored a voice message entirely. Why? Almost always the URL: no recognisable extension in the path, unreachable when we generated the answer, or over 8 MB. In all three cases we leave the message as it arrived and she answers around it. Check the extension first.

Do you translate what was said? Never. The transcript is always in the language it was spoken in, and a translated transcript is treated as a failed analysis.

What if the User speaks a language the Persona does not have? She is told how the recording sounded and is never shown the words. She reacts to the voice without carrying on as though she had understood it. The languages she has are the reply language plus additionalLanguages.

Is a voice message counted in the answer cost? No. It is billed on arrival, as its own line. See Pricing.

We re-sent the same conversation history. Are we billed twice? No. An analysis is keyed by URL and kept for a year, and a message we have already stored is not analyzed again.

Can a User slip something past moderation by recording it? No. The transcript becomes the text of the message, and every guardrail reads it as though it had been typed.

Is there a rejection event for voice messages, like chat.image.rejected? No. Voice messages have no rejection event today. Photos and videos do — see Vision Link.

Can we send several recordings on one message? Only the first is analyzed. Put one recording on one message.