Arabic text to speech in n8n: turn any workflow into a Gulf Arabic voice

No community node to install and no code step. One HTTP Request node, one credential, and every n8n workflow can speak Arabic — in a Gulf voice, not a newsreader's.

nutq teamPublished 3 min read

An ultrawide monitor showing an automation workflow of connected nodes, beside wireless earbuds on a walnut desk at night.

n8n is where a lot of Gulf businesses glue their tools together: a new order, a form submission, a daily report. Adding a voice to those flows used to mean English-only services or a broadcast-MSA voice nobody in Dubai talks like. This guide shows how to add Arabic text to speech in n8n with the built-in HTTP Request node — no community node, no code.

What will the workflow do?

A typical flow:

  1. Trigger — a webhook, a schedule, a new row in a sheet.
  2. Text — build the Arabic sentence, from a template or a language model.
  3. HTTP Request — send it to nutq, get a WAV back.
  4. Deliver — post the audio to Telegram, send it by email, or save it to storage.

Step 3 is the only new part.

How do you set up the credential?

In n8n, create a credential of type Header Auth:

FieldValue
NameAuthorization
ValueBearer nutq_… (your key from the dashboard)

Store it as a credential and select it in the node. Never paste the key inline: exported workflows and screenshots leak inline values.

How do you configure the HTTP Request node?

SettingValue
MethodPOST
URLhttps://nutq.dev/v1/speech
AuthenticationGeneric credential → Header Auth → the credential above
Send BodyOn, content type JSON
Response formatFile

The JSON body:

{
  "text": "{{ $json.message }}",
  "voice": "rashid"
}

voice is any Arabic voice from GET /v1/voices, or one you saved on your account. The node's output is a binary file — a WAV — that the next node can attach or upload. Usage comes back in the response headers (X-Nutq-Characters, X-Nutq-Cost-USD), so you can log what each run cost.

Can the workflow use several voices and pauses?

Yes, in the same request. Open a line with a voice name in square brackets and that voice speaks until the next one; [pause] adds a gap:

[Rashid] شحالك؟
[Mariam] بخير الحمد لله
أهلا بكم [pause:800] ونبدأ

A bare [pause] is 500 ms, [pause:2s] is two seconds, and silence is not billed. Each line is generated on its own and joined, so it sounds like two people reading lines rather than an unscripted conversation — right for announcements and short dialogues.

How do you get the pronunciation right?

Arabic is written without short vowels, so an ambiguous word is a guess. If a word comes out wrong, add diacritics to that word only — marking every word makes the delivery slow and formal. The details, with examples, are in Arabic text to speech with voice cloning.

How do you handle errors in the workflow?

Turn on the node's Continue on fail or add an error branch, and route on the status code. Errors come back as a sentence that names the problem, so you can pass it straight to a Slack or email alert:

StatusMeaningWhat the workflow should do
400A field is missing or wrongFix the body; the message names the field
401The key is missing or revokedCheck the credential
402The balance is spentTop up, then retry the same run
413Text over 5,000 charactersSplit it across two requests
503Speech is temporarily unavailableRetry after a short wait

None of these is billed: a request that fails costs nothing, so a retry never charges twice.

Workflow ideas

TriggerVoice output
New order in the storeA Gulf Arabic confirmation voice note to the customer
Daily sales reportA 30-second spoken summary for the team channel
New blog postAn audio version of the article
Appointment tomorrowA spoken reminder in the customer's language

For the reverse direction — voice notes coming in — see transcribing Arabic voice notes.

What does it cost?

Price$0.05 per 1,000 characters
Per requestUp to 5,000 characters
Free credit$5 at sign-up, no card
Failed requestsNot billed

A 200-character reminder costs one cent. The full request reference, including other languages and saved voices, is in the API reference.

Questions people ask

Is there an n8n node for Arabic text to speech?

You do not need one. The built-in HTTP Request node calls nutq's /v1/speech endpoint directly and returns the audio as a file.

How do I store the API key safely in n8n?

Create a Header Auth credential with the name Authorization and the value Bearer followed by your key, and select it in the node. Do not paste the key into the node itself.

Can one request contain two speakers?

Yes. Start a line with a voice name in square brackets, such as [Rashid], and that voice speaks until the next one. [pause] inserts a gap. The result is a single file.

What does it cost to run in a workflow?

$0.05 per 1,000 characters, up to 5,000 characters per request. Failed requests are not billed, and silence from pauses is not billed.

ShareXLinkedInWhatsApp

Written by nutq team. nutq is an Arabic speech API built in the UAE: speech to text that keeps Gulf dialect, and Arabic text to speech with voice cloning.

اقرأ بالعربية

Hear it on your own audio.

$5 of credit to start — about 33 hours of transcription. No card.

All articles