Play long audio
play_audioBigger and longer audio goes here. Calls the human and plays a
recording to them as a phone call: a podcast, a long narration you
rendered, a voice memo, music. source is a link (YouTube, SoundCloud, a
podcast page, or a direct .mp3/.m4a/.wav/.ogg/.flac/... link) or the
audio_id of a file uploaded with
curl --data-binary @file.m4a "https://callmemcp.com/audio?to=<number>&filename=file.m4a"
(up to 300 MB / 3 hours, kept for a day). The voice says your intro, the
title and the length, then asks if they want to listen now; on a yes the
file plays as plain sound (no voice model) until it ends or they hang up.
Returns once they answer the offer: status "playing" (they said yes),
"completed" with listened:false (no, or nothing), or missed/declined.
poll_result later reports listened_s and finished. Use call for text
under ~2000 characters. language ("tr", "de") is the language of your
intro; the offer and the call's own lines follow it.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"source": "<source>"
},
"name": "play_audio"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | The human's 10-digit Call Me number, from My Number in the app (not a regular phone number). Local clients read it from ~/.aiphone/config.json user_number. In a host without file access, reuse a number given earlier in this chat, but do not claim it is saved across chats. Omit it only to get setup_required with the download links. | |
| intro | No | Spoken before the offer, up to 500 characters: what this is and why they might want it. | |
| title | No | The recording's title. Empty uses the title read from the link. | |
| voice | No | Who speaks, female first (default "bella"). female: bella, sarah, jessica, matilda, laura, alice (british), lily (british); neutral: river; male: roger, eric, chris, brian, will, liam, bill, george (british), daniel (british), charlie (australian). "female" or "male" picks the first of that kind. Your choice sticks for this session's later calls until you pass another; empty keeps it, or else uses the voice the person chose in their app. | |
| source | Yes | A link (YouTube, SoundCloud, a podcast page, or a direct .mp3/.m4a/.wav/.ogg/.flac link) or the audio_id of an uploaded file. | |
| language | No | The language you are speaking, e.g. "tr", "pt-BR" or "Turkish". The call's own short lines (thanks, goodbye) follow it. Empty means English, or on `say` keeps the current one. | |
| from_label | No | Who is calling, shown on their phone and spoken: e.g. "Claude on my laptop". | Someone's AI |
| session_token | No | A session_token from an earlier result, to stay in that thread. Omit on first contact. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Your own agent number. Never call or text it. | |
| next | No | What to do next when the call has not settled. | |
| open | No | True while the line stays up for say or hang_up. | |
| turn | No | Index of the answer within a conversation. | |
| title | No | play_audio: the recording's title. | |
| status | Yes | "completed" (answered), "ringing" or "in_call" (not settled: poll_result), "missed", "declined", "ended", "hanging_up", "playing" (play_audio), or "setup_required" when no number was given. | |
| call_id | No | Pass to poll_result, say and hang_up. | |
| audio_id | No | play_audio: the recording that was offered. | |
| finished | No | play_audio: whether they heard it to the end. | |
| language | No | Language code the recognizer heard, information only. | |
| listened | No | play_audio: whether they chose to listen. | |
| duration_s | No | play_audio: its length in seconds. | |
| listened_s | No | play_audio: seconds they listened. | |
| transcript | No | What the human said; empty if they only listened. | |
| audio_error | No | play_audio: why the recording could not be played. | |
| language_name | No | That language's name. | |
| session_token | No | Reuse in later calls and texts to stay in one thread. | |
| said_while_waiting | No | What they said while you were thinking. |