Nodo de n8n
Publica en Instagram, TikTok, YouTube, X, Facebook, LinkedIn y Bluesky desde cualquier flujo de trabajo de n8n.
1. Instala
En tu instancia de n8n ve a Settings → Community Nodes → Install e ingresa el nombre del paquete:
n8n-nodes-chat33Requiere n8n con nodos de la comunidad habilitados (autoalojado o n8n Cloud con nodos de la comunidad verificados).
2. Crea la credencial
- En Chat33, abre Configuración → Claves de API y crea una clave (los permisos por defecto bastan: accounts:read, posts:read, posts:write, media:write).
- En n8n, agrega una credencial Chat33 API: deja Base URL como https://chat33.io y pega la clave de API.
- Haz clic en Test. Verifica la clave con GET /api/v1/accounts.
3. Recursos y operaciones
| Recurso | Operaciones | Notas |
|---|---|---|
| Cuenta | Get Many | Lista tus canales conectados; también alimenta los menús desplegables de cuentas |
| Publicación | Create, Validate, Get, Get Many, Delete, Duplicate, Get Logs | Create y Validate eligen las cuentas desde un menú desplegable en vivo; Validate es una prueba en seco (no se publica nada) |
| Multimedia | Upload | Archivo binario del flujo de trabajo (hasta 500 MB) o importación desde una URL pública (videos de hasta 4 GB en TikTok; YouTube 2 GB, X 512 MB, Instagram/Facebook 1 GB, LinkedIn 200 MB, Bluesky 300 MB) |
Configure Platform Settings (nodo 0.2.0+): el menú de cuentas guarda IDs de canal, así que el nodo no puede saber qué plataformas elegiste. Márcalas aquí y solo aparecen esas colecciones. Cada plataforma también acepta un Caption que reemplaza el texto compartido solo para esa red, de modo que un solo nodo puede enviar un mensaje distinto a cada una.
YouTube Settings: marca YouTube en cada publicación de YouTube. Made for Kids lo exigen YouTube y la FTC, y la publicación se rechaza sin él. La privacidad por defecto es public, así que defínela si quieres no listado o privado. También incluye título, descripción, etiquetas, categoría y notificación a suscriptores. Las publicaciones programadas ignoran la privacidad elegida: se suben como privadas y YouTube las cambia a la hora programada.
TikTok Settings: si dejas TikTok sin marcar, el video llega a los borradores de la cuenta en lugar de publicarse. Cambia Publish Mode a Direct Post para publicar, lo que además exige un nivel de privacidad. Las opciones que no definas se dejan como están, así que los comentarios, dúos y stitches siguen habilitados a menos que los desactives. La divulgación comercial y la etiqueta de contenido generado con IA se asignan por ti a los campos de cumplimiento de la Content Posting API de TikTok.
Instagram Settings: First Comment se publica justo después de publicar, donde suelen ir los hashtags para que no queden en la descripción.
X Settings: Post as Thread divide el texto por un separador y encadena cada parte como respuesta, además de los permisos de respuesta.
LinkedIn Settings: visibilidad (cualquier persona en LinkedIn o solo contactos), una URL de artículo para compartir como tarjeta de enlace y título y descripción del contenido multimedia. Las publicaciones van al perfil propio del miembro. Las páginas de empresa aún no son compatibles.
Cada opción que acepta la API ahora tiene un campo con tipo, así que Additional Options → Platform Config (JSON) solo hace falta para lo que se agregue a la API después del nodo; el esquema está en el explorador de OpenAPI.
4. Ejemplo: publicar un video desde un webhook
Tres nodos: Webhook → Chat33 (Media Upload) → Chat33 (Post Create).
- Webhook: método POST, recibe el JSON { "videoUrl": "...", "caption": "..." }.
- Chat33 → Media → Upload: Input Type URL, File URL ={{ $json.body.videoUrl }}. Devuelve una URL de multimedia alojada.
- Chat33 → Post → Create: elige las cuentas del menú desplegable, Text ={{ $('Webhook').item.json.body.caption }}, Media URLs ={{ $json.url }}, Additional Options → Media Type video, más los ajustes de TikTok/YouTube que necesites.
Actívalo:
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 🚀"}'La respuesta contiene las publicaciones creadas con estado QUEUED. Chat33 publica en menos de un minuto. Agrega un nodo Post → Get o define un callbackUrl para seguir el estado final.
Límites de multimedia
- Videos: hasta 4 GB por importación desde URL en TikTok (mp4, mov, webm); las demás plataformas tienen un tope menor al publicar: YouTube 2 GB, X 512 MB, Instagram/Facebook 1 GB, LinkedIn 200 MB, Bluesky 300 MB
- Los archivos de más de 500 MB para TikTok se suben automáticamente por transferencia en fragmentos, sin URL ni dominio de por medio, solo con una publicación más lenta.
- Imágenes: hasta 20 MB (jpeg, png, webp, gif). Instagram/Facebook tienen tope de 8 MB, LinkedIn de 10 MB, X de 5 MB y Bluesky de 2 MB
- Subidas binarias desde el propio flujo de trabajo: hasta 500 MB (nodo 0.1.2+, que sube directo al almacenamiento en lugar de pasar por la API). Por encima de eso, aloja el archivo en cualquier lugar público (https) y usa el modo URL.
- Las publicaciones programadas guardan una copia. Cuando programas una publicación cuyo archivo está en tu propio host, Chat33 copia el archivo a su almacenamiento poco después de crear la publicación, así que una publicación programada para dentro de semanas se publica aunque tu enlace original venza o el archivo se elimine. Las publicaciones inmediatas se saltan este paso: se publican en unos dos minutos, así que el enlace se descarga cuando seguro todavía existe.
Solución de problemas
Insufficient scope: vuelve a crear la clave de API con los permisos por defecto o agrega el permiso que falta en Configuración → Claves de API.
TikTok DIRECT_POST requires a privacy level: agrega TikTok Settings en el nodo Post Create y elige un nivel de privacidad que permita la cuenta.
File too large: consulta los límites de multimedia de arriba; comprime el video o usa el modo URL.