n8n-Node

Poste auf Instagram, TikTok, YouTube, X, Facebook, LinkedIn und Bluesky aus jedem n8n-Workflow.

n8n-nodes-chat33
npm

1. Installieren

Öffne in deiner n8n-Instanz Settings → Community Nodes → Install und gib den Paketnamen ein:

Paketname
n8n-nodes-chat33

Voraussetzung: n8n mit aktivierten Community-Nodes (selbst gehostet oder n8n Cloud mit verifizierten Community-Nodes).

2. Credential erstellen

  1. Öffne in Chat33 Einstellungen → API Keys und erstelle einen Key (die Standard-Scopes genügen: accounts:read, posts:read, posts:write, media:write).
  2. Füge in n8n ein Chat33 API-Credential hinzu: Lass die Base URL auf https://chat33.io und füge den API-Key ein.
  3. Klicke auf Test. Es prüft den Key gegen GET /api/v1/accounts.

3. Ressourcen und Operationen

RessourceOperationenHinweise
KontoGet ManyListet deine verbundenen Kanäle auf; speist auch die Konto-Dropdowns
PostCreate, Validate, Get, Get Many, Delete, Duplicate, Get LogsCreate/Validate wählen Konten aus einem Live-Dropdown; Validate ist ein Testlauf (nichts wird veröffentlicht)
MediaUploadBinärdatei aus dem Workflow (bis 500 MB) oder Einlesen über eine öffentliche URL (Videos bis 4 GB für TikTok; YouTube 2 GB, X 512 MB, Instagram/Facebook 1 GB, LinkedIn 200 MB, Bluesky 300 MB)

Configure Platform Settings (Node 0.2.0+): Das Konto-Dropdown speichert Kanal-IDs, der Node kann also nicht wissen, welche Plattformen du gewählt hast. Hake sie hier an, und nur diese Sammlungen erscheinen. Jede Plattform nimmt außerdem eine Caption, die den gemeinsamen Text nur für dieses Netzwerk überschreibt, sodass ein Node an jedes eine andere Nachricht senden kann.

YouTube Settings: Hake YouTube bei jedem YouTube-Beitrag an. Made for Kids ist von YouTube/FTC vorgeschrieben, und der Beitrag wird ohne die Angabe abgelehnt. Privacy steht standardmäßig auf public, stelle es um, wenn du „Nicht gelistet“ oder privat willst. Enthält außerdem Titel, Beschreibung, Tags, Kategorie und Abonnenten-Benachrichtigung. Geplante Beiträge ignorieren die Privacy-Wahl: Sie werden als privat hochgeladen, und YouTube schaltet sie zur geplanten Zeit um.

TikTok Settings: Lässt du TikTok nicht angehakt, landet das Video in den Entwürfen des Kontos, statt zu veröffentlichen. Stelle Publish Mode auf Direct Post, um zu veröffentlichen, was auch eine Privacy-Stufe verlangt. Optionen, die du nicht setzt, bleiben unberührt, Kommentare, Duette und Stitches bleiben also aktiv, solange du sie nicht ausschaltest. Kommerzielle Offenlegung und das KI-Label werden für dich auf die Compliance-Felder der TikTok Content Posting API abgebildet.

Instagram Settings: First Comment wird direkt nach dem Veröffentlichen gepostet, dort stehen meist die Hashtags, damit sie aus dem Beitragstext bleiben.

X Settings: Post as Thread teilt den Text an einem Trennzeichen und verkettet jeden Abschnitt als Antwort, dazu Antwortberechtigungen.

LinkedIn Settings: Sichtbarkeit (alle auf LinkedIn oder nur Kontakte), eine Artikel-URL zum Teilen als Link-Karte sowie Medientitel/-beschreibung. Beiträge gehen auf das eigene Profil der Person. Unternehmensseiten werden noch nicht unterstützt.

Jede Option, die die API akzeptiert, hat jetzt ein typisiertes Feld, Additional Options → Platform Config (JSON) brauchst du also nur für alles, was der API nach dem Node hinzugefügt wurde; Schema im OpenAPI-Explorer.

4. Beispiel: ein Video aus einem Webhook veröffentlichen

Drei Nodes: Webhook → Chat33 (Media Upload) → Chat33 (Post Create).

  1. Webhook: Methode POST, empfängt JSON { "videoUrl": "...", "caption": "..." }.
  2. Chat33 → Media → Upload: Input Type URL, File URL ={{ $json.body.videoUrl }}. Gibt eine gehostete Medien-URL zurück.
  3. Chat33 → Post → Create: Wähle Konten im Dropdown, Text ={{ $('Webhook').item.json.body.caption }}, Media URLs ={{ $json.url }}, Additional Options → Media Type video, dazu bei Bedarf TikTok-/YouTube-Einstellungen.

Auslösen:

bash
curl -X POST https://your-n8n.example.com/webhook/my-path \
  -H "Content-Type: application/json" \
  -d '{"videoUrl": "https://example.com/video.mp4", "caption": "Hello from n8n 🚀"}'

Die Response enthält die erstellten Beiträge mit Status QUEUED. Chat33 veröffentlicht innerhalb einer Minute. Füge einen Post → Get-Node hinzu oder setze eine callbackUrl, um den Endstatus zu verfolgen.

Medienlimits

  • Videos: bis zu 4 GB beim Einlesen über URL für TikTok (mp4, mov, webm); andere Plattformen begrenzen beim Veröffentlichen niedriger: YouTube 2 GB, X 512 MB, Instagram/Facebook 1 GB, LinkedIn 200 MB, Bluesky 300 MB
  • Dateien über 500 MB für TikTok werden automatisch in Teilen hochgeladen, ohne URL/Domain, das Veröffentlichen dauert nur länger.
  • Bilder: bis zu 20 MB (jpeg, png, webp, gif). Instagram/Facebook begrenzen auf 8 MB, LinkedIn auf 10 MB, X auf 5 MB, Bluesky auf 2 MB
  • Binär-Uploads aus dem Workflow selbst: bis zu 500 MB (Node 0.1.2+, der direkt in den Speicher statt über die API hochlädt). Darüber hostest du die Datei irgendwo öffentlich (https) und nutzt den URL-Modus.
  • Geplante Beiträge behalten eine Kopie. Wenn du einen Beitrag planst, dessen Medien auf deinem eigenen Host liegen, kopiert Chat33 die Datei kurz nach dem Erstellen des Beitrags in den eigenen Speicher, sodass ein Beitrag, der Wochen später geplant ist, auch dann erscheint, wenn dein Original-Link abläuft oder die Datei gelöscht wird. Sofortige Beiträge überspringen das: Sie werden innerhalb von etwa zwei Minuten veröffentlicht, der Link wird also abgerufen, solange die Datei sicher noch da ist.

Fehlerbehebung

Insufficient scope: erstelle den API-Key mit den Standard-Scopes neu oder füge den fehlenden Scope unter Einstellungen → API Keys hinzu.

TikTok DIRECT_POST requires a privacy level: füge TikTok Settings am Post-Create-Node hinzu und wähle eine Privacy-Stufe, die das Konto erlaubt.

File too large: siehe Medienlimits oben; komprimiere das Video oder nutze den URL-Modus.