The problem
I am using ElevenLabs API with my paid plan to generate an audio file with some text and parameters.
Calling the API works and I get an answer but the audio file should be in response, and for now I can’t get the file in the answer for the next part of the workflow.
That is the only thing I get :
[
{
"response":
[
{
"headers":
{
"date":
"Wed, 13 Aug 2025 12:12:12 GMT",
"server":
"uvicorn",
"request-id":
"4Xjmq63aGXafqoACTjJt",
"access-control-expose-headers":
"request-id, history-item-id, character-cost, regeneration-count, generation-info, current-concurrent-requests, maximum-concurrent-requests",
"history-item-id":
"3ugJ4JAErJR0PftPAs3V",
"current-concurrent-requests":
"1",
"maximum-concurrent-requests":
"2",
"character-cost":
"4",
"tts-latency-ms":
"622",
"content-type":
"audio/mpeg",
"access-control-allow-origin":
"*",
"access-control-allow-headers":
"*",
"access-control-allow-methods":
"POST, PATCH, OPTIONS, DELETE, GET, PUT",
"access-control-max-age":
"600",
"strict-transport-security":
"max-age=31536000; includeSubDomains",
"x-trace-id":
"fcd34d89280724951ca411a07eb31def",
"x-region":
"us-central1",
"vary":
"Accept-Encoding",
"via":
"1.1 google, 1.1 google",
"alt-svc":
"h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000",
"connection":
"close",
"transfer-encoding":
"chunked"
},
"statusCode":
200,
"statusMessage":
"OK"
}
]
}
]
There should be a audio file in the data field of the response from the API. When I try the exact same request with Postman or any other tool I get the audio file in the response without any problem.
My workflow
This is the two tools for ElevenLabs API. The first request for getting the list of all available voices works as expected.
{
“nodes”: [
{
“parameters”: {
“toolDescription”: “Makes an HTTP request to ElevenLabs to get all the available voices for audio generation.”,
“url”: “https://api.elevenlabs.io/v2/voices”,
“authentication”: “genericCredentialType”,
“genericAuthType”: “httpHeaderAuth”,
“options”: {}
},
“type”: “n8n-nodes-base.httpRequestTool”,
“typeVersion”: 4.2,
“position”: [
128,
-176
],
“id”: “ea560a98-fdbb-460d-80a1-a6d81f4bf00e”,
“name”: “Get ElevenLabs Voices list”,
“credentials”: {
“httpHeaderAuth”: {
“id”: “DsYzQ5f6br03wN0W”,
“name”: “Header xi-api-key ElevenLabs”
}
}
},
{
“parameters”: {
“toolDescription”: “Makes an HTTP request to ElevenLabs API to generate the audio for a given text and returns the generated audio file. You should complete the url for the request by giving the right elevenlabs voice_id for {voice_id} in the url.\n\nYou have to always make one request for each word/sentence of the list and another one for their translation separately.”,
“method”: “POST”,
“url”: “={{ /n8n-auto-generated-fromAI-override/ $fromAI(‘URL’, `URL to use: https://api.elevenlabs.io/v1/text-to-speech/{voice_id}\\\\n\\\\nYou have to provide the voice_id of the selected voice in the URL ({voice_id}).`, ‘string’) }}”,
“authentication”: “genericCredentialType”,
“genericAuthType”: “httpHeaderAuth”,
“sendBody”: true,
“bodyParameters”: {
“parameters”: [
{
“name”: “text”,
“value”: “={{ /n8n-auto-generated-fromAI-override/ $fromAI(‘parameters0_Value’, `The text you will give for generating the audio file. You have to always make one request for each word/sentence of the list and another one for their translation separately.`, ‘string’) }}”
},
{
“name”: “model_id”,
“value”: “eleven_multilingual_v2”
}
]
},
“options”: {
“response”: {
“response”: {
“fullResponse”: true,
“responseFormat”: “file”,
“outputPropertyName”: “={{ /n8n-auto-generated-fromAI-override/ $fromAI(‘Put_Output_in_Field’, ``, ‘string’) }}”
}
}
}
},
“type”: “n8n-nodes-base.httpRequestTool”,
“typeVersion”: 4.2,
“position”: [
272,
-176
],
“id”: “d355f57f-1c5d-4f4d-8663-1e10fba803dc”,
“name”: “ElevenLabs Text to Speech audio Generation request”,
“credentials”: {
“httpHeaderAuth”: {
“id”: “DsYzQ5f6br03wN0W”,
“name”: “Header xi-api-key ElevenLabs”
}
}
}
],
“connections”: {
“Get ElevenLabs Voices list”: {
“ai_tool”: [
]
},
“ElevenLabs Text to Speech audio Generation request”: {
“ai_tool”: [
]
}
},
“pinData”: {},
“meta”: {
“instanceId”: “43e2077acc9bbde49c11f1271f7b72c3d32917d94521b9096cd5ebb8ea76c2fb”
}
}
Can someone help me to get my audio file in the answer of the request so that my AI Agent can upload it in my Google Drive ?
Thank you in advance for the help, I am pretty new with n8n automations.
Information on your n8n setup
- n8n version: 1.105.3
- Database (default: SQLite): Supabase (Postgresql)
- n8n EXECUTIONS_PROCESS setting (default: own, main):
- Running n8n via (Docker, npm, n8n cloud, desktop app): Installed with Coolify Panel
- Operating system: Linux (VPS)
