mediatranscriber

n8n Nodes für die MediaTranscriber API: Audio/Video (Datei oder URL) mit WhisperX transkribieren (JSON, TXT, SRT)

Documentation

@marcmeese/n8n-nodes-mediatranscriber

n8n Community Nodes für die MediaTranscriber API: Audio und Video (Datei oder URL) mit WhisperX transkribieren – als JSON mit Segmenten/Sprechern, TXT oder SRT.

Voraussetzung: MediaTranscriber mit GET /v1/auth/check und language pro Job (Phase 11, T44/T45).

Credential „MediaTranscriber API“

Feld Beschreibung
Base URL Root-URL der API ohne /v1, z. B. http://mediatranscriber_server:8000 oder der UI-Proxy http://host:8080/api
API Key Wird als Header X-API-Key gesendet

Der Credential-Test ruft GET /v1/auth/check auf.

Nodes

Node Funktion
(MediaTranscriber) Transcribe Datei oder URL transkribieren. Wartet standardmäßig und gibt das Transkript aus.
(MediaTranscriber) Get Job Status, erkannte Sprache und Dauer eines Jobs
(MediaTranscriber) Get Transcript Transkript eines fertigen Jobs als JSON (im Item), TXT oder SRT (Binary)
(MediaTranscriber) Delete Job Job samt Transkript auf dem Server löschen

Transcribe

  • Eingabe: Binary-Property (Standard data), lokaler Pfad im n8n-Container oder URL (serverseitig per yt-dlp, z. B. YouTube).
  • Language: ISO-639-1-Code (de, en, …); leer = Server-Default WHISPER_LANGUAGE. Ungültige Codes lehnt die API mit 422 ab.
  • Optionen: Diarization (kann serverseitig nur abgeschaltet werden), Callback URL.
  • Wait for Result (Standard an): fragt den Status ab, bis der Job done ist, und holt die gewählten Output Formats:
    • json → Item-Feld transcript (text, language, duration, segments[])
    • txt → Binary transcript_txt, srt → Binary transcript_srt (Dateiname wie die Quelle)
    • Status error → Fehler mit error_reason/error_detail; Timeout → Fehler mit Job-ID, der Job läuft weiter.
    • Delete Job After Download räumt den Job danach auf dem Server weg.
  • Wait for Result aus: gibt sofort { job_id, status: "queued" } zurück. Die anderen Nodes übernehmen {{ $json.job_id }} automatisch.

Entwicklung

npm install
npm run build   # tsc + Icons
npm test        # node --test gegen dist/
npm run lint

Veröffentlicht wird über .github/workflows/n8n-mediatranscriber.yml, sobald die Version in package.json erhöht und auf main gepusht wird.

Discussion