Hume AI

App · Voice AI · 13 actions

Give your workflows a voice with Hume's Octave speech model: read any text aloud in a voice from Hume's library, design a new voice by describing it, or re-speak a recording in another voice. Then read back the conversations people have had with your Hume voice agents, with transcripts that carry what was said and how it sounded.

Actions

ActionWhat it does
Change the voice in a recordingRe-speak an existing recording in another voice, keeping the original timing, emphasis and feeling.
Create a voice from a descriptionDescribe a voice in words and Hume builds it, saves it under the name you give, and returns a sample so you can hear it.
Delete a saved voicePermanently delete one of this account's saved voices.
Get a conversation recordingSave the audio of a conversation as a file.
Get a conversation transcriptRead back everything said in one conversation, turn by turn, with the three strongest expressions heard in each one.
Get a thread transcriptRead everything said across every conversation in a thread, in order, with the expressions heard in each turn.
Get a voice agentRead a voice agent's current settings: the voice it speaks in, the instructions it follows, how it greets people and what it is allowed to do.
List conversation threadsWhen someone picks up where they left off, Hume keeps the conversations together as a thread.
List conversationsList the conversations people have had with this account's voice agents, newest first, with how each one ended and how long it ran.
List the conversations in a threadList every conversation in one thread, newest first, so you can see how often someone came back and how each visit went.
List voice agentsList the voice agents set up on this account, with the voice each one speaks in and when it was last changed.
List voicesList the voices this account can speak with: the ones saved in the account, or the ones in Hume's library.
Turn text into speechRead text aloud in a voice you choose and save it as an audio file.

Change the voice in a recording

Re-speak an existing recording in another voice, keeping the original timing, emphasis and feeling. The recording has to be speech, between 12 seconds and three minutes long.

Inputs

RecordingrecordingtextRequired
The speech to re-voice: upload an MP3, WAV, M4A or OGG file, or use one an earlier step produced.
VoicevoicetextRequired
The voice to speak in. The list holds your own saved voices and every voice in Hume's library. You can also type the name of one of your saved voices.
Audio file typeaudio_formattext
MP3 is small and plays anywhere. Choose WAV when the audio is going into editing software.One of: mp3 (MP3 (recommended)), wav (WAV (uncompressed)). Default: mp3.

Outputs

content_typetext
The file's type.
document_reftext
The saved file's reference.
documentslist
The saved audio file, ready for a later step to use.
duration_secondsnumber
How long the audio runs, in seconds.
filenametext
The file's name.
size_bytesnumber
The file's size.
spoken_texttext
The words as they were actually spoken.
urltext
Where the file can be played.
voicetext
The voice that spoke.
Example output
{
  "content_type": "audio/mpeg",
  "document_ref": "doc_01HZX8Q2F6",
  "documents": [
    {
      "content_type": "audio/mpeg",
      "document_ref": "doc_01HZX8Q2F6",
      "filename": "hume-converted.mp3",
      "size_bytes": 240118,
      "url": "/actions/core/serve-document/doc_01HZX8Q2F6"
    }
  ],
  "filename": "hume-converted.mp3",
  "size_bytes": 240118,
  "url": "/actions/core/serve-document/doc_01HZX8Q2F6",
  "voice": "f898a92e-685f-43fa-985b-a46920f0650b"
}

Create a voice from a description

Describe a voice in words and Hume builds it, saves it under the name you give, and returns a sample so you can hear it. The saved voice can then be chosen in any speaking step.

Inputs

Name itnametextRequired
What to call this voice. You will pick it by this name later, so make it recognisable, such as 'Support line greeting'.
Describe the voicedescriptiontextRequired
What the voice should sound like: age, accent, pace and character. For example, 'a calm woman in her forties with a soft Scottish accent, speaking slowly and reassuringly'.
Sample wordssample_texttext
What the sample should say. Use a line the voice will really be used for, so the sample is a fair test.Default: Hello! This is what I sound like. I can be warm and calm, or bright and quick, depending on what you need..

Outputs

content_typetext
The file's type.
document_reftext
The sample file's reference.
documentslist
The sample, saved as an audio file.
duration_secondsnumber
How long the sample runs, in seconds.
filenametext
The file's name.
sample_texttext
The words the sample speaks.
size_bytesnumber
The file's size.
urltext
Where the sample can be played.
voiceobject
The saved voice: its name, its id, and the value to put in a Voice field.
Example output
{
  "content_type": "audio/mpeg",
  "document_ref": "doc_01HZX8Q2F5",
  "documents": [
    {
      "content_type": "audio/mpeg",
      "document_ref": "doc_01HZX8Q2F5",
      "filename": "hume-voice-support-line-greeting.mp3",
      "size_bytes": 61240,
      "url": "/actions/core/serve-document/doc_01HZX8Q2F5"
    }
  ],
  "duration_seconds": 6.8,
  "filename": "hume-voice-support-line-greeting.mp3",
  "sample_text": "Hello! This is what I sound like.",
  "size_bytes": 61240,
  "url": "/actions/core/serve-document/doc_01HZX8Q2F5",
  "voice": {
    "id": "c42352c0-4566-455d-b180-0f654b65b525",
    "library": "Your saved voices",
    "name": "Support line greeting",
    "value": "CUSTOM_VOICE:c42352c0-4566-455d-b180-0f654b65b525"
  }
}

Delete a saved voice

Permanently delete one of this account's saved voices. Voices from Hume's library belong to everyone and cannot be deleted. Any workflow still using the voice will stop speaking.

Inputs

VoicenametextRequired
The saved voice to delete, by name.

Outputs

deletedtrue/false
True once the voice is gone.
nametext
The voice that was deleted.
Example output
{
  "deleted": true,
  "name": "Support line greeting"
}

Get a conversation recording

Save the audio of a conversation as a file. Hume rebuilds the recording after the conversation ends, which takes a minute or two, so check 'is_ready' and try again after a Wait step if it is still being put together.

Inputs

Conversationconversation_idtextRequired
The conversation's id, as given back by 'List conversations'.

Outputs

content_typetext
The file's type.
conversation_idtext
The conversation the recording is of.
document_reftext
The saved file's reference.
documentslist
The saved recording, or nothing at all while it is not ready.
filenametext
The file's name.
is_readytrue/false
True when the recording was saved, false while Hume is still putting it together.
size_bytesnumber
The file's size.
statustext
What Hume says about the recording.
urltext
Where the recording can be played.
Example output
{
  "content_type": "audio/mp4",
  "conversation_id": "470a49f6-1dec-4afe-8b61-035d3b2d63b0",
  "document_ref": "doc_01HZX8Q2F7",
  "documents": [
    {
      "content_type": "audio/mp4",
      "document_ref": "doc_01HZX8Q2F7",
      "filename": "hume-conversation.mp4",
      "size_bytes": 512044,
      "url": "/actions/core/serve-document/doc_01HZX8Q2F7"
    }
  ],
  "filename": "hume-conversation.mp4",
  "is_ready": true,
  "size_bytes": 512044,
  "status": "COMPLETE",
  "url": "/actions/core/serve-document/doc_01HZX8Q2F7"
}

Get a conversation transcript

Read back everything said in one conversation, turn by turn, with the three strongest expressions heard in each one. It also comes back as plain text, ready for an AI step to summarise.

Inputs

Conversationconversation_idtextRequired
The conversation's id, as given back by 'List conversations'.
Include behind-the-scenes eventsinclude_system_eventstrue/false
Also return the instructions the agent was given, the tools it called and the pauses in between. Off by default, so the transcript reads as a conversation.Default: false.

Outputs

duration_secondsnumber
How long it ran, in seconds.
ended_attext
When it ended.
idtext
The conversation's id.
message_countnumber
How many turns were returned.
messageslist
Every turn in order, with who spoke, what they said, when, and the three strongest expressions heard in their voice.
started_attext
When it started.
statustext
How the conversation ended.
thread_idtext
The thread this conversation belongs to.
transcripttext
The whole conversation as plain text, ready to summarise.
turn_countnumber
How many events Hume recorded.
voice_agent_idtext
The voice agent that answered.
Example output
{
  "duration_seconds": 18,
  "ended_at": "2026-05-20T21:22:38Z",
  "id": "470a49f6-1dec-4afe-8b61-035d3b2d63b0",
  "message_count": 1,
  "messages": [
    {
      "conversation_id": "470a49f6-1dec-4afe-8b61-035d3b2d63b0",
      "expressions": [
        {
          "name": "Joy",
          "score": 0.2964
        },
        {
          "name": "Surprise (positive)",
          "score": 0.2161
        },
        {
          "name": "Interest",
          "score": 0.2142
        }
      ],
      "said_at": "2026-05-20T21:22:36Z",
      "speaker": "Person",
      "text": "Hello.",
      "type": "USER_MESSAGE"
    }
  ],
  "started_at": "2026-05-20T21:22:20Z",
  "status": "USER_ENDED",
  "thread_id": "9fc18597-3567-42d5-94d6-935bde84bf2f",
  "transcript": "Person: Hello.",
  "turn_count": 6,
  "voice_agent_id": "1b60e1a0-cc59-424a-8d2c-189d354db3f3"
}

Get a thread transcript

Read everything said across every conversation in a thread, in order, with the expressions heard in each turn. Use it to catch up on someone's whole history in one step.

Inputs

Threadthread_idtextRequired
The thread's id, as given back by 'List conversation threads'.
Include behind-the-scenes eventsinclude_system_eventstrue/false
Also return the instructions the agent was given, the tools it called and the pauses in between. Off by default, so the transcript reads as a conversation.Default: false.

Outputs

message_countnumber
How many turns were returned.
messageslist
Every turn in order, with who spoke, what they said, when, and the three strongest expressions heard in their voice.
thread_idtext
The thread that was read.
transcripttext
The whole conversation as plain text, ready to summarise.
Example output
{
  "message_count": 1,
  "messages": [
    {
      "conversation_id": "470a49f6-1dec-4afe-8b61-035d3b2d63b0",
      "expressions": [
        {
          "name": "Joy",
          "score": 0.2964
        },
        {
          "name": "Surprise (positive)",
          "score": 0.2161
        },
        {
          "name": "Interest",
          "score": 0.2142
        }
      ],
      "said_at": "2026-05-20T21:22:36Z",
      "speaker": "Person",
      "text": "Hello.",
      "type": "USER_MESSAGE"
    }
  ],
  "thread_id": "9fc18597-3567-42d5-94d6-935bde84bf2f",
  "transcript": "Person: Hello."
}

Get a voice agent

Read a voice agent's current settings: the voice it speaks in, the instructions it follows, how it greets people and what it is allowed to do.

Inputs

Voice agentvoice_agenttextRequired
The voice agent to read.

Outputs

created_attext
When it was created.
evi_versiontext
Which version of EVI it runs on.
greetingtext
What it says when a conversation starts.
idtext
The voice agent's id.
instructionstext
What it has been told to do.
language_modeltext
The model behind its answers.
nametext
Its name.
toolslist
What it is allowed to do during a call.
updated_attext
When it was last changed.
versionnumber
Which version of it this is.
voice_nametext
The voice it speaks in.
Example output
{
  "created_at": "2026-04-02T09:14:00Z",
  "evi_version": "3",
  "greeting": "Hi there, how can I help with the weather today?",
  "id": "1b60e1a0-cc59-424a-8d2c-189d354db3f3",
  "instructions": "You are an AI weather assistant.",
  "language_model": "claude-sonnet-4-5",
  "name": "Weather assistant",
  "tools": [
    "get_current_weather"
  ],
  "updated_at": "2026-05-19T16:40:12Z",
  "version": 2,
  "voice_name": "Ava Song"
}

List conversation threads

When someone picks up where they left off, Hume keeps the conversations together as a thread. This lists those threads, most recently active first, with how many conversations are in each.

Inputs

Voice agentvoice_agenttext
Only include threads with this voice agent. Leave empty for all of them.
Last spoken on or afterlast_talked_on_or_afterdate and time
Only include threads whose most recent conversation started at or after this time.
Last spoken on or beforelast_talked_on_or_beforedate and time
Only include threads whose most recent conversation started before this time.
How many to returnlimitnumber
The most results to return.From 1 to 200. Default: 25.

Outputs

thread_countnumber
How many threads were returned.
threadslist
One entry per thread.
Example output
{
  "thread_count": 1,
  "threads": [
    {
      "conversation_count": 3,
      "first_talked_at": "2026-05-18T14:02:11Z",
      "id": "9fc18597-3567-42d5-94d6-935bde84bf2f",
      "is_active": false,
      "last_talked_at": "2026-05-20T21:22:20Z",
      "most_recent_conversation_id": "470a49f6-1dec-4afe-8b61-035d3b2d63b0",
      "voice_agent_id": "1b60e1a0-cc59-424a-8d2c-189d354db3f3"
    }
  ]
}

List conversations

List the conversations people have had with this account's voice agents, newest first, with how each one ended and how long it ran.

Inputs

Voice agentvoice_agenttext
Only include conversations with this voice agent. Leave empty for all of them.
How it endedstatustext
Only include conversations that ended this way.One of: ACTIVE (Still going), USER_ENDED (The person hung up), USER_TIMEOUT (The person stopped responding), MAX_DURATION_TIMEOUT (Reached the time limit), INACTIVITY_TIMEOUT (Went quiet and timed out), ERROR (Ended with an error).
Started on or afterstarted_on_or_afterdate and time
Only include conversations from this time onwards.
Started on or beforestarted_on_or_beforedate and time
Only include conversations from before this time.
How many to returnlimitnumber
The most results to return.From 1 to 200. Default: 25.

Outputs

conversation_countnumber
How many conversations were returned.
conversationslist
One entry per conversation, newest first.
thread_idtext
The thread these conversations belong to.
Example output
{
  "conversation_count": 1,
  "conversations": [
    {
      "duration_seconds": 18,
      "ended_at": "2026-05-20T21:22:38Z",
      "id": "470a49f6-1dec-4afe-8b61-035d3b2d63b0",
      "started_at": "2026-05-20T21:22:20Z",
      "status": "USER_ENDED",
      "thread_id": "9fc18597-3567-42d5-94d6-935bde84bf2f",
      "turn_count": 6,
      "voice_agent_id": "1b60e1a0-cc59-424a-8d2c-189d354db3f3"
    }
  ]
}

List the conversations in a thread

List every conversation in one thread, newest first, so you can see how often someone came back and how each visit went.

Inputs

Threadthread_idtextRequired
The thread's id, as given back by 'List conversation threads'.
How it endedstatustext
Only include conversations that ended this way.One of: ACTIVE (Still going), USER_ENDED (The person hung up), USER_TIMEOUT (The person stopped responding), MAX_DURATION_TIMEOUT (Reached the time limit), INACTIVITY_TIMEOUT (Went quiet and timed out), ERROR (Ended with an error).
How many to returnlimitnumber
The most results to return.From 1 to 200. Default: 25.

Outputs

conversation_countnumber
How many conversations were returned.
conversationslist
One entry per conversation, newest first.
thread_idtext
The thread these conversations belong to.
Example output
{
  "conversation_count": 1,
  "conversations": [
    {
      "duration_seconds": 18,
      "ended_at": "2026-05-20T21:22:38Z",
      "id": "470a49f6-1dec-4afe-8b61-035d3b2d63b0",
      "started_at": "2026-05-20T21:22:20Z",
      "status": "USER_ENDED",
      "thread_id": "9fc18597-3567-42d5-94d6-935bde84bf2f",
      "turn_count": 6,
      "voice_agent_id": "1b60e1a0-cc59-424a-8d2c-189d354db3f3"
    }
  ],
  "thread_id": "9fc18597-3567-42d5-94d6-935bde84bf2f"
}

List voice agents

List the voice agents set up on this account, with the voice each one speaks in and when it was last changed.

Inputs

How many to returnlimitnumber
The most results to return.From 1 to 200. Default: 25.

Outputs

voice_agent_countnumber
How many voice agents were returned.
voice_agentslist
One entry per voice agent.
Example output
{
  "voice_agent_count": 1,
  "voice_agents": [
    {
      "created_at": "2026-04-02T09:14:00Z",
      "id": "1b60e1a0-cc59-424a-8d2c-189d354db3f3",
      "language_model": "claude-sonnet-4-5",
      "name": "Weather assistant",
      "updated_at": "2026-05-19T16:40:12Z",
      "version": 2,
      "voice_name": "Ava Song"
    }
  ]
}

List voices

List the voices this account can speak with: the ones saved in the account, or the ones in Hume's library. Each entry carries the value to put in a Voice field.

Inputs

Which voicessourcetext
Where to list voices from.One of: CUSTOM_VOICE (Your saved voices), HUME_AI (Hume's voice library). Default: CUSTOM_VOICE.
How many to returnlimitnumber
The most results to return.From 1 to 200. Default: 25.

Outputs

voice_countnumber
How many voices were returned.
voiceslist
One entry per voice.
Example output
{
  "voice_count": 1,
  "voices": [
    {
      "id": "c42352c0-4566-455d-b180-0f654b65b525",
      "library": "Your saved voices",
      "name": "Support line greeting",
      "value": "CUSTOM_VOICE:c42352c0-4566-455d-b180-0f654b65b525"
    }
  ]
}

Turn text into speech

Read text aloud in a voice you choose and save it as an audio file. Hume's Octave model reads for meaning, so a question sounds like a question and an apology sounds like one.

Inputs

What to saytexttextRequired
The words to speak. Punctuation guides the delivery, so write it the way you would want it read.
VoicevoicetextRequired
The voice to speak in. The list holds your own saved voices and every voice in Hume's library. You can also type the name of one of your saved voices.
How to say itacting_instructionstext
Direction for the delivery, such as 'warm and unhurried, like giving a friend good news'. Keep it under 100 characters. Leave empty for a natural read.
Speaking speedspeednumber
1 is the voice's natural pace. Below 1 is slower, above 1 is faster.From 0.75 to 1.5. Default: 1.0.
Audio file typeaudio_formattext
MP3 is small and plays anywhere. Choose WAV when the audio is going into editing software.One of: mp3 (MP3 (recommended)), wav (WAV (uncompressed)). Default: mp3.

Outputs

content_typetext
The file's type.
document_reftext
The saved file's reference.
documentslist
The saved audio file, ready for a later step to use.
duration_secondsnumber
How long the audio runs, in seconds.
filenametext
The file's name.
size_bytesnumber
The file's size.
spoken_texttext
The words as they were actually spoken.
urltext
Where the file can be played.
voicetext
The voice that spoke.
Example output
{
  "content_type": "audio/mpeg",
  "document_ref": "doc_01HZX8Q2F4",
  "documents": [
    {
      "content_type": "audio/mpeg",
      "document_ref": "doc_01HZX8Q2F4",
      "filename": "hume-speech.mp3",
      "size_bytes": 84213,
      "url": "/actions/core/serve-document/doc_01HZX8Q2F4"
    }
  ],
  "duration_seconds": 5.24,
  "filename": "hume-speech.mp3",
  "size_bytes": 84213,
  "spoken_text": "Your order shipped this morning.",
  "url": "/actions/core/serve-document/doc_01HZX8Q2F4",
  "voice": "c42352c0-4566-455d-b180-0f654b65b525"
}

On this page