Communitygithub.com

Orshot Programador de Redes Sociales: Renderizar, Publicar, Pro…

Programador y automatizador de redes sociales para agentes de IA. Programa publicaciones, publica en Instagram, LinkedIn, X (Twitter), TikTok, Facebook, Pinterest, Threads, Bluesky, Reddit, YouTube, Telegram, Snapchat y Google Business con Orshot, renderizando imagen, carrusel o video desde una plantilla en la misma llamada.

¿Qué es Orshot Programador de Redes Sociales: Renderizar, Publicar, Pro…?

Orshot es un servidor MCP y API REST que permite a agentes de IA renderizar imágenes, carruseles o videos desde plantillas y publicarlos automáticamente en más de 13 plataformas sociales (X/Twitter, Instagram, LinkedIn, TikTok, YouTube, Facebook, Pinterest, Threads, Bluesky, Reddit, Telegram, Snapchat y Google Business) en una sola solicitud. El agente puede crear borradores, programar publicaciones en el mejor momento, leer analíticas de rendimiento y seguidores, y gestionar calendarios de contenido semanales sin necesidad de herramientas externas. La conexión se realiza mediante OAuth sobre MCP (sin clave que pegar) o con una clave API para trabajos headless. Orshot muestra cada publicación como una tarjeta visual y mantiene un flujo seguro: nunca publica sin autorización explícita, siempre muestra previsualizaciones y confirma cuentas, caption y horario antes de enviar. Es compatible con OpenClaw, Claude Code y cualquier cliente MCP estándar.

Compatible con✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Orshot-HQ/orshot-openclaw/tree/HEAD/skills/orshot-social-media-scheduler

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Programador de Redes Sociales Orshot: Renderizar, Publicar, Programar, Aprender

Orshot renderiza una imagen, carrusel o video desde una plantilla y lo publica en más de 13 plataformas en una sola solicitud. También gestiona borradores, programaciones, ediciones y reporta analíticas, permitiendo que un agente ejecute un calendario de contenido completo sin necesidad de una segunda herramienta. Las publicaciones también pueden adjuntar cualquier URL de medios públicos, por lo que funciona con imágenes creadas en otro lugar.

Plataformas: X (Twitter), Instagram, Facebook, LinkedIn (perfil y página), TikTok, YouTube, Pinterest, Reddit, Bluesky, Threads, Telegram, Snapchat, Google Business.

Paso 1: Conectar el servidor MCP de Orshot

Nada funciona sin esto. La ruta MCP no tiene clave que pegar, muestra cada publicación como una tarjeta visual, y es la que se debe usar desde un agente.

openclaw mcp add orshot --url https://mcp.orshot.com/mcp --transport streamable-http --auth oauth
openclaw mcp login orshot

Claude Code: claude mcp add --transport http orshot https://mcp.orshot.com/mcp. Otros clientes MCP usan la misma URL.

Solo para trabajos headless (cron, n8n, un script de servidor): export ORSHOT_API_KEY=... y llamar a REST con Authorization: Bearer $ORSHOT_API_KEY.

Paso 2: Verificar las cuentas conectadas

orshot_list_social_accounts            # MCP
GET /v1/social/accounts?include_health=true   # REST
# [{ "id": 1, "platform": "linkedin", "account_name": "Acme", "account_username": "acme", "health": { "status": "ok" } }]

Una lista con cuentas significa que se puede publicar. Anota el id numérico de cada una y cualquier indicador health que diga reconectar.

Una lista vacía significa que un humano aún debe conectar las cuentas. La API no puede conectar una. Envía al usuario a su panel de Orshot: Espacio de Trabajo > Redes Sociales > Cuentas (https://orshot.com/dashboard, luego la sección de Redes Sociales del espacio de trabajo), donde cada plataforma se conecta con su propio inicio de sesión OAuth. La publicación social es un complemento en planes de pago, $12 por cuenta conectada por mes, sin créditos extra por publicación; el plan gratuito no puede conectar cuentas. Los planes y el complemento están en https://orshot.com/pricing. Di esto una vez, claramente, y espera a que el usuario regrese; la siguiente llamada a orshot_list_social_accounts mostrará la nueva cuenta.

Flujo de trabajo principal

  1. Conectar y listar cuentas (arriba).
  2. Decidir el medio. Renderizar desde una plantilla (templateId + modifications) o usar una media_url existente.
  3. Borrador primero. Crear la publicación con status: "draft" a menos que el usuario haya indicado claramente publicar ahora.
  4. Mostrar al usuario la vista previa, el caption, las cuentas y la hora. A través de MCP, orshot_get_social_post renderiza una tarjeta visual.
  5. Editar lo que cambien (orshot_update_social_post), luego publicar (orshot_publish_social_draft) o programar (status: "scheduled" + scheduled_for).
  6. Verificar estado después de que una plataforma asíncrona (Instagram, TikTok) termine: processing se convierte en published o failed.
  7. Leer analíticas un día después, y los insights del mejor momento antes de la próxima programación.

Mapa de herramientas MCP

TrabajoHerramienta
listar cuentasorshot_list_social_accounts
renderizar + publicar en una llamadaorshot_render_template con publish
publicar una URL de medioorshot_publish_social_post
listar / leer publicacionesorshot_list_social_posts, orshot_get_social_post (tarjeta visual)
editar / enviar / descartarorshot_update_social_post, orshot_publish_social_draft, orshot_discard_social_post
analíticasorshot_get_social_analytics, orshot_get_social_analytics_daily, orshot_get_social_followers, orshot_get_social_post_analytics
mejor momento para publicarorshot_get_best_time_to_post

El servidor MCP por defecto usa status: "draft" a menos que haya una autorización explícita. Mantenlo así.

Llamadas esenciales

Renderizar y publicar (o borrador, o programar) en una llamada

A través de MCP esto es orshot_render_template con el mismo objeto publish.

await fetch("https://api.orshot.com/v1/studio/render", {
  method: "POST",
  headers: { "Content-Type": "application/json", Authorization: `Bearer ${apiKey}` },
  body: JSON.stringify({
    templateId: 123,
    modifications: { headline: "Día de lanzamiento", stat: "2,000 renders" },
    response: { type: "url", format: "png" },
    publish: {
      accounts: [1, 3],
      content: "Caption de hasta 5000 caracteres",
      status: "scheduled",               // published | draft | scheduled
      scheduled_for: "2026-11-01T14:00:00Z",
      timezone: "America/New_York",
      platformOptions: {
        "3": { firstComment: "https://orshot.com", disableLinkPreview: true }, // LinkedIn
      },
    },
  }),
});

Las plantillas multipágina se publican como carrusel en las plataformas que lo soportan. La respuesta tiene data.content (el render) y publish[] con una entrada por cuenta.

Publicar medios que ya tienes

orshot_publish_social_post, o:

curl -s -X POST https://api.orshot.com/v1/social/publish \
  -H "Authorization: Bearer $ORSHOT_API_KEY" -H "Content-Type: application/json" \
  -d '{
    "accounts": [2],
    "content": "Seis cosas que nadie te cuenta",
    "media_urls": ["https://.../1.png", "https://.../2.png", "https://.../3.png"],
    "status": "draft",
    "tiktokSettings": { "autoAddMusic": true }
  }'
CampoNotas
accountsrequerido, ids numéricos
contentcaption, máximo 5000 caracteres
media_url / media_urlsuna o varias URLs públicas; varias = carrusel
statuspublished (por defecto en REST), draft, scheduled
scheduled_forISO 8601, al menos 60 s adelante, solo con scheduled
timezonenombre IANA
platformOptionspor id de cuenta: LinkedIn firstComment, disableLinkPreview; Pinterest title, link
tiktokSettings.autoAddMusicnivel raíz, carruseles de fotos en TikTok

Respuesta: { post_id, status, platforms: [{ account_id, platform, status, url, error, action }] }. status puede ser published, scheduled, drafted, partial, processing o failed. action: "reconnect" significa que el humano debe reconectar esa cuenta en el panel.

Gestionar publicaciones en espera

GET    /v1/social/posts?status=draft&limit=25        # también scheduled | published | processing | partial | failed, platform=, account_id=, cursor=
GET    /v1/social/posts/:id
PATCH  /v1/social/posts/:id                          # content, media_urls, accounts, status (draft|scheduled), scheduled_for, timezone, platformOptions
POST   /v1/social/posts/:id/publish                  # enviar una publicación en espera ahora
POST   /v1/social/posts/:id/sync                     # refrescar estado del proveedor
DELETE /v1/social/posts/:id                          # descartar; rechazado una vez que alguna cuenta se haya publicado

is_editable e is_discardable en cada publicación te indican qué está permitido. Editar nunca re-renderiza y no tiene costo.

Analíticas

GET /v1/social/analytics?platform=linkedin&source=orshot      # por publicación: impresiones, interacción, clics, tasa; seguidores por cuenta
GET /v1/social/analytics/daily?from=2026-10-01&to=2026-10-21  # día a día
GET /v1/social/analytics/accounts?from=2026-09-01             # historial y crecimiento de seguidores por cuenta
GET /v1/social/analytics/insights?platform=instagram          # mejores franjas horarias (UTC), frecuencia vs interacción, decaimiento

source es all, orshot o external (publicaciones sincronizadas desde la plataforma, para que haya historial desde el día uno). refresh=1 omite la caché. Presupuesto: 10 solicitudes de analíticas por minuto. Los insights necesitan historial de publicaciones, por lo que una cuenta nueva devuelve franjas vacías.

Patrones comunes

Patrón 1: calendario semanal de contenido como borradores

Renderizar siete publicaciones desde una plantilla con diferentes modifications, crear cada una con status: "draft", listarlas para el usuario con orshot_list_social_posts, publicar o programar las aprobadas. Una actualización por cambio de caption u hora.

Patrón 2: programar en el mejor momento para publicar

orshot_get_best_time_to_post para la plataforma, tomar la mejor franja (UTC), convertir a la zona horaria del usuario, pasarla como scheduled_for. Si las franjas están vacías, preguntar al usuario una hora en lugar de inventar una.

Patrón 3: publicar en múltiples plataformas, extras específicos de plataforma

Un array accounts con todos los ids. Poner el enlace en platformOptions[<linkedin id>].firstComment, un title y link para Pinterest, y tiktokSettings.autoAddMusic para publicaciones de fotos en TikTok. Mantener content dentro del límite más corto de las plataformas que se apunten (X es el más restrictivo).

Patrón 4: carrusel desde una plantilla multipágina

Renderizar una plantilla de 5 a 10 páginas con claves pageN@ y añadir publish. Orshot sube cada página y publica un carrusel en Instagram, LinkedIn, TikTok (modo foto), Threads y Bluesky. La skill orshot-carousel tiene la fórmula de 6 diapositivas.

Patrón 5: aprender de los resultados

Diariamente: orshot_get_social_analytics con source: "orshot", ordenar por interacción, conservar los estilos de gancho del cuarto superior, descartar el cuarto inferior, redactar los borradores de la próxima semana. Registrar lo que cambió para que el usuario pueda leer el historial.

Patrón 6: recuperar un fallo

partial o failed con action: "reconnect": indicar al usuario qué cuenta reconectar en el panel (Espacio de Trabajo > Redes Sociales > Cuentas), mantener la publicación como borrador, reintentar con orshot_publish_social_draft después de que confirmen. Cualquier otro error: mostrarlo textualmente; no reintentar a ciegas.

Reglas de seguridad

  • Nunca publicar sin una autorización explícita para esa publicación. "Prepara", "borrador", "muéstrame" significan status: "draft".
  • Repetir las cuentas exactas (plataforma y nombre de usuario), el caption y la hora antes de enviar.
  • No descartar publicaciones que el usuario no haya pedido descartar.
  • Mencionar el complemento de $12 por cuenta una sola vez antes de sugerir al usuario que conecte más cuentas.
  • En REST, mantener la clave API en el entorno. Nunca mostrarla.

Errores comunes

  1. Los ids de cuenta son numéricos y por cuenta. Dos cuentas de LinkedIn tienen dos ids. Publicar por id, nunca por nombre de plataforma.
  2. No se puede publicar PDF en ninguna parte. Renderizar png, jpg o webp (o mp4 para plataformas de video).
  3. TikTok y YouTube requieren video, no imágenes individuales. TikTok acepta carruseles de fotos (múltiples imágenes). Google Business solo acepta imágenes.
  4. scheduled_for con menos de 60 segundos de anticipación es rechazado, y no es válido con draft o published.
  5. Instagram y TikTok publican de forma asíncrona. processing no es un fallo. Sincronizar o releer la publicación antes de reportar.
  6. Una publicación fallida nunca falla el render. Leer publish[] incluso cuando el render haya tenido éxito.
  7. Las URLs de medios deben ser públicas. Las URLs de render de Orshot lo son. Las URLs firmadas o de localhost no.
  8. Captions de más de 5000 caracteres son rechazados. Los límites de las plataformas son más bajos; X es el más restrictivo.
  9. Las analíticas tienen un límite de 10 solicitudes por minuto en todos los endpoints de analíticas.
  10. Los espacios de trabajo del plan gratuito no pueden conectar cuentas. Un 403 en /social/* con un mensaje de plan es un estado de facturación, no un error de autenticación. Señalar a https://orshot.com/pricing.

Referencia rápida

openclaw mcp add orshot --url https://mcp.orshot.com/mcp --transport streamable-http --auth oauth && openclaw mcp login orshot

GET    /v1/social/accounts?include_health=true   # orshot_list_social_accounts
POST   /v1/studio/render            # + publish: { accounts, content, status, scheduled_for, timezone, platformOptions, tiktokSettings }   orshot_render_template
POST   /v1/social/publish           # { accounts, content, media_url | media_urls, status, scheduled_for, timezone, platformOptions, tiktokSettings }   orshot_publish_social_post
GET    /v1/social/posts?status=draft             # orshot_list_social_posts
GET    /v1/social/posts/:id                      # orshot_get_social_post
PATCH  /v1/social/posts/:id                      # orshot_update_social_post
POST   /v1/social/posts/:id/publish              # orshot_publish_social_draft
POST   /v1/social/posts/:id/sync
DELETE /v1/social/posts/:id                      # orshot_discard_social_post
GET    /v1/social/analytics                      # orshot_get_social_analytics
GET    /v1/social/analytics/daily?from=&to=      # orshot_get_social_analytics_daily
GET    /v1/social/analytics/accounts?from=       # orshot_get_social_followers
GET    /v1/social/analytics/insights?platform=   # orshot_get_best_time_to_post

Documentación: https://orshot.com/docs/publish/introduction.md, https://orshot.com/docs/api-reference/social-publish.md, https://orshot.com/docs/api-reference/social-posts-list.md. Los detalles de renderizado están en la skill orshot.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Orshot-HQ/orshot-openclaw

Automate video, PDF and image generation from templates and social media posting. Image generation, PDF generation and video generation from your templates with the Orshot API, over the hosted Orshot MCP server (OAuth, no key) or REST. Use to generate images, OG images, social media posts, carousels, thumbnails, ad creatives, banners, certificates, invoices and PDF documents from a template, render video with animations and audio, resize one design to every social format, batch render personalized images, take tweet screenshots and website screenshots, and schedule and post renders to Instagram, LinkedIn, X, TikTok, Facebook, Pinterest, Threads, Bluesky, Reddit, YouTube, Telegram, Snapchat and Google Business. Load for any Orshot task; it carries the gotchas (parameterId keys, page1@ prefixes, async video) that otherwise break renders.

Orshot-HQ/orshot-openclaw

Social media content generator and social media design for AI agents. Create on-brand Instagram post, LinkedIn post, TikTok, Reels, story, ad, banner, thumbnail and carousel templates with Orshot, then render them with new copy on every post. Use for content creation for Instagram, LinkedIn, TikTok, X, Facebook, YouTube and Pinterest, for a content creator or marketing team that wants designed templates instead of one-off AI images, as a Canva alternative an agent can drive, and when refining a template that looks generic. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion), consults the brand kit first, varies layouts so designs never repeat, and runs a render-and-critique loop over the hosted Orshot MCP server.

Skills relacionados