SaidwireDevelopers

Guide · n8n

Saidwire speech-to-text in n8n

n8n's built-in OpenAI node can transcribe audio, and its OpenAI credential has a Base URL field. Point that field at Saidwire and the node's Transcribe a recording action runs on Saidwire with no other changes.

you need
n8nCloud or self-hosted, with a recent version whose OpenAI credential shows a Base URL field
Saidwire API keysk_live_... from saidwire.com/dev (120 free hours, no card)
Saidwire community node

In n8n, open Settings → Community Nodes and install n8n-nodes-saidwire. Self-hosted:

npm install n8n-nodes-saidwire

npm package · Source on GitHub · The steps below use n8n's built-in OpenAI node with our base URL and work too.

1. Create the credential

  1. In n8n, open Overview, click Create at the top-right, and choose Credential. (You can also create it from inside the node in step 2, under Credential to connect with.)
  2. Search for OpenAI and select it.
  3. Fill in the fields:
    fieldvalue
    API Keyyour Saidwire key, sk_live_...
    Organization ID (optional)leave blank
    Base URLhttps://api.saidwire.com/v1 (no trailing slash)
    Add Custom Headeroff
  4. Click the credential's name at the top and rename it to something like Saidwire, so it is not confused with an OpenAI key.
  5. Click Save. n8n tests the credential by listing models, and Saidwire answers with saidwire-en, so the test passes when the key is valid.

2. Add the transcription step

  1. Start with a node that outputs an audio file as binary data, for example Read/Write Files from Disk, an HTTP Request that downloads a file (Response Format: File), a Form trigger with a file field, or a Telegram trigger set to download voice messages.
  2. Click + after it, search for OpenAI, and in its list of actions choose Transcribe a recording (under the audio actions).
  3. Set the parameters:
    parametervalue
    Credential to connect withthe Saidwire credential from step 1
    ResourceAudio
    OperationTranscribe a Recording
    Input Data Field Namethe binary field holding the audio, usually data
    Options → Language of the Audio Fileen (optional; other languages are rejected)
    Options → Output Randomness (Temperature)leave unset (it has no effect)
  4. Click Execute step. The output is {"text": "...", "usage": {"type": "duration", "seconds": ...}}. Use {{ $json.text }} in the next node.

The node always sends model=whisper-1. Saidwire accepts any model name, so this is fine.

Timestamps or subtitles: use HTTP Request

The OpenAI node returns plain text only. For word timestamps, segments, or an SRT/VTT file, call the endpoint with an HTTP Request node and reuse the same credential:

parametervalue
MethodPOST
URLhttps://api.saidwire.com/v1/audio/transcriptions
AuthenticationPredefined Credential Type
Credential TypeOpenAI, then pick the Saidwire credential
Send Bodyon
Body Content TypeForm-Data
Body field 1Type n8n Binary File, Name file, Input Data Field Name data
Body field 2Type Form Data, Name model, Value saidwire-en
Body field 3Type Form Data, Name response_format, Value verbose_json (or srt, vtt, text)
Body field 4 (optional)Type Form Data, Name timestamp_granularities[], Value word

For srt, vtt and text, set Options → Response → Response Format to Text. The full list of fields and formats is in the API docs.

Troubleshooting

you seefix
Credential test fails, or 404Base URL must be exactly https://api.saidwire.com/v1, with no trailing slash.
401 Incorrect API key providedThe key is wrong, revoked or has a stray space.
400 ... languageSaidwire transcribes English only. Remove the language option or set en.
400 ... fileThe binary field is empty or not audio. Check Input Data Field Name against the previous node's output.
429Too many files at once for your key (trial keys allow 4), or your free hours are used up. Lower the batch size, or check the message.

Good to know

Stuck? Email support@saidwire.com with the x-request-id from the failed call.

OpenAI is a trademark of OpenAI. Open WebUI, n8n, LiteLLM, Dify, Flowise, Vercel and the AI SDK belong to their respective owners. Saidwire is not affiliated with OpenAI or with these projects.