La API que además escribe el contenido
Publica en las principales redes sociales, sincroniza analíticas y recibe eventos en tiempo real con la misma API que usa nuestro panel. Y cuando el contenido no lo traes tú, lo genera ella: textos e imágenes, una semana entera por plan.
npm i planvortexEl cliente oficial para Node: tipado, con reintentos y verificación de webhooks. Referencia →pip install planvortexEl cliente oficial para Python: síncrono y asíncrono, tipado, la misma API. Referencia →npx -y planvortex-mcpEl servidor MCP oficial: tu asistente de IA publica, lee los comentarios y contesta los mensajes. Referencia →La API está en los cuatro planes, incluido el gratuito: 1 app en Free, 2 en Basic, 5 en Pro y 10 en Custom, con un límite de peticiones por minuto según el plan.
Otras APIs entregan la publicación.
Esta la escribe
Mandas una temática (o tus propias fotos, un artículo o el catálogo real de una tienda o una cuenta conectada) y PlanVortex devuelve la semana repartida por red: los textos escritos, las imágenes generadas y cada publicación en su hueco, como borradores que tu producto edita con los endpoints de publicaciones de siempre.
// 1. Encola el plan: devuelve el presupuesto, todavia no el contenido const { ai_plan } = await pv.aiPlans.create(client, org, { prompt: "Pan de masa madre, horno de leña, barrio", accounts: [instagram, linkedin], template: "from_images", // tus fotos: no gasta creditos de imagen source: { images }, }); // 2. Genera un job aparte: se sondea mientras siga pending o generating let plan = await pv.aiPlans.get(client, org, ai_plan._id); // 3. Validar pasa los borradores a listos, y ya publica el flujo de siempre await pv.aiPlans.validate(client, org, plan._id);
Ojo con el ciclo: crear no genera. Devuelve el plan en pending con su presupuesto, la generación la hace un job aparte y puede tardar minutos, así que se sondea hasta generated. Validar es lo que pasa los borradores a listos.
Cinco fuentes, no solo un prompt
El plan puede salir de una temática, de las fotos que suba tu usuario, de un artículo pegado o de su URL, de una cuenta atrás hacia una fecha o del catálogo real de una tienda WooCommerce o una cuenta conectada. Las dos que no inventan la imagen cuestan un 91 % menos: la misma semana son 519 créditos con imágenes generadas y 48 con las fotos del usuario.
El precio se sabe antes de generar
El coste lo calcula el servidor, nunca el modelo, y crear el plan lo devuelve en el presupuesto. Si lo imprescindible no cabe en los créditos disponibles, el plan se rechaza entero con el error 941 en vez de generarse a medias.
O trae tu propia clave
Configura tu proveedor y tu modelo por ámbito (orquestador, texto, imagen) y ese ámbito deja de consumir créditos. La clave viaja cifrada y es de solo escritura: la API devuelve el proveedor y el modelo, nunca la clave.
Los créditos de IA entran desde el plan Basic. El gratuito trae cero, así que estas rutas responden 941 hasta que se contraten.
Credenciales de cliente, sin sesión de usuario
Cada app que creas tiene su identificador y su secreto. Pides un token con el flujo de client credentials contra nuestro propio endpoint (el mismo dominio que el resto de la API) y llamas: sin cookies, sin usuario intermedio y sin renovar OAuth red por red.
curl -X POST "https://api.planvortex.com/v1.0.0/oauth/token" \ -d grant_type=client_credentials \ -d client_id=$APP_CLIENT_ID \ -d client_secret=$APP_SECRET
El token caduca. Ojo: la caducidad NO llega como un 401, llega como un 400 con el código 501 o 522 en el cuerpo. Pide otro con la misma llamada.
Con la librería de Node esta llamada no la escribes: la hace ella, cachea el token y lo renueva antes de que caduque.
Publicar en unas pocas líneas
Eliges la cuenta y la red de destino, mandas el texto y los ficheros que hayas subido antes, y PlanVortex se encarga del resto. Si añades una fecha de publicación, queda programada en vez de salir al momento. Desde Node, la librería oficial pone los tipos y resuelve el token, los reintentos y el multipart.
import { PlanVortex } from "planvortex"; const pv = new PlanVortex({ clientId, clientSecret }); const upload = await pv.uploads.create(org, { file: "./hogaza.jpg" }); const post = await pv.publications.create(org, account, { social_network: "instagram", text: "Nuevo horno, nuevas hogazas", files: [upload._id], publish_date: new Date("2026-09-01T10:00:00Z"), });
Tu asistente de IA, conectado a tus cuentas
El servidor MCP oficial pone la API entera al alcance de Claude Desktop, Claude Code, Cursor o VS Code: veintiocho herramientas para programar publicaciones, leer la bandeja de comentarios, contestar los mensajes directos de las redes que los tienen y pedirle a nuestra IA que escriba la semana. Se arranca con tus credenciales, en tu máquina, y quien lo usa no escribe una línea de código.
claude mcp add planvortex \ --env PLANVORTEX_CLIENT_ID=... \ --env PLANVORTEX_CLIENT_SECRET=... \ -- npx -y planvortex-mcp
Claude Desktop, Cursor y VS Code piden el mismo bloque en su fichero de servidores MCP. Y si no tienes Node, cada versión publica un paquete .mcpb que se instala de un doble clic.
Guía: publicar desde tu asistente de IA con MCP →Veintiocho herramientas
Diecinueve que leen y nueve que escriben, más tres prompts y cuatro recursos con los límites y las capacidades de cada red. Las diferencias entre redes viajan como datos, así que el modelo no tiene que adivinar qué deja hacer cada una.
Y la IA, con el interruptor en tu mano
El planificador también está aquí: tu asistente lee las plantillas con lo que cuesta cada una y te propone la semana. Generarla gasta créditos, así que esa herramienta (y solo esa) la enciendes tú con una línea en la configuración; apagada no aparece siquiera en la lista. Lo que sale son borradores: programarlos sigue siendo tuyo.
No borra nada
Ninguna herramienta borra una publicación, una cuenta ni un comentario, y no es un ajuste que se pueda encender: el código no existe. El servidor lee texto que escribieron desconocidos mientras el modelo puede publicar en tu nombre, así que el peor caso posible tiene que ser algo que ves y deshaces.
Corre en tu máquina
El client_secret vive en el proceso que arranca tu cliente de IA, nunca en un servidor nuestro. Y si prefieres alojarlo tú, el modo --http trae su Dockerfile, escucha solo en local y exige un token para atarse a cualquier otra cosa.
Para quién es
Pensada para quien ya construye algo propio y quiere que las redes sociales vivan dentro de ello.
Agencias
Centraliza la gestión de tus clientes en tu propio panel interno, sin que tengan que entrar a PlanVortex.
Plataformas y SaaS
Añade publicación y analíticas de redes sociales a tu producto sin construirlas desde cero.
Equipos de producto
Conecta PlanVortex a tu stack interno: BI, CRM, automatizaciones.
Casos de uso
Lo que ya se puede automatizar hoy con la API. El primero no lo hace ninguna otra API de publicación de las que hemos perfilado.
Generar el contenido
Pide una semana de publicaciones a partir de un tema, unas fotos o un catálogo, y recíbela en borradores que tu producto edita antes de publicar.
Publicar y programar
Crea, programa y publica contenido en las redes conectadas, por código.
Sincronizar analíticas
Trae las métricas de cada cuenta y publicación a tu propio panel.
Comentarios y mensajes
Lee la bandeja de comentarios y las conversaciones de las cuentas conectadas, y contesta desde tu propio producto.
Webhooks en tiempo real
Recibe eventos al momento cuando cambian cuentas, mensajes o publicaciones, sin hacer polling.
Conexión embebida
Deja que tus usuarios conecten sus redes sociales sin salir de tu producto.
Cómo empezar
De cero a tu primera llamada autenticada.
Crea una app
Desde tu panel de cliente, dale un nombre a tu app y actívala. En todos los planes, también en el gratuito.
Obtén tus credenciales
Un identificador de cliente y un secreto, que puedes rotar cuando quieras desde el panel.
Autentícate
Pides tu token de acceso con el flujo de credenciales de cliente. Con la librería de Node no tienes ni que hacerlo.
Explora la API
Consulta la documentación interactiva y revisa cada endpoint disponible.
Los endpoints que vas a usar el primer día
Todos cuelgan de la misma base y se autentican con la cabecera Authorization: Bearer. La referencia completa, con cada parámetro y sus respuestas de ejemplo, está en la documentación.
URL basehttps://api.planvortex.com/v1.0.0
| Método | Endpoint | Para qué |
|---|---|---|
| POST | /clients/{id_client}/apps | Crear una app dentro de tu cuenta de cliente. |
| GET | /clients/{id_client}/apps/{id_app}/secret | Consultar el secreto de la app para poder autenticarte. |
| GET | /organizations/{id_organization}/accounts | Listar las cuentas conectadas de una organización y su estado. |
| GET | /organizations/{id_organization}/connect_links | Generar los enlaces con los que tu usuario conecta sus redes sin salir de tu producto. |
| POST | /organizations/{id_organization}/uploads | Subir la imagen o el vídeo antes de publicarlo. |
| POST | /organizations/{id_organization}/accounts/{id_account}/publish | Publicar o programar en una cuenta concreta. |
| GET | /organizations/{id_organization}/publish | Consultar las publicaciones de la organización y en qué estado están. |
| GET | /organizations/{id_organization}/publish/{id_publication}/metrics | Métricas de una publicación concreta. |
| GET | /organizations/{id_organization}/accounts/{id_account}/metrics | Métricas de la cuenta. |
| GET | /organizations/{id_organization}/limits | Consumo y límites del plan en ese momento. |
Eventos que te enviamos
Pones una URL en tu app y PlanVortex hace un POST ahí cuando pasa algo en las cuentas conectadas. Cada envío va firmado con el secreto de la app, para que puedas comprobar que viene de nosotros.
Un usuario acaba de conectar una cuenta nueva.
Cambió el estado de una cuenta: se reconectó, caducó su token o dejó de estar disponible.
Entró un mensaje directo en una cuenta conectada.
Alguien ha comentado en una publicación tuya, o ha dejado una reseña en tu ficha de Google.
Versionado
La versión va en la ruta. Mientras siga ahí, lo que hoy te funciona seguirá funcionando igual.
Firma de los webhooks
Cada POST lleva las cabeceras x-hub-signature y x-hub-signature-256 calculadas con el secreto de tu app. Compruébalas antes de procesar el cuerpo.
Documentación interactiva
Referencia OpenAPI por áreas (cuentas, publicaciones, subidas, organizaciones, roles y planes de IA) con cada parámetro y su respuesta de ejemplo.
Factura en euros, empresa española
Los precios están en euros y factura una sociedad española con IVA español; con VAT intracomunitario válido, inversión del sujeto pasivo. El servicio corre en servidores propios en la UE y el contrato de encargado del tratamiento se descarga sin formulario.
Ver confianza y protección de datosToda la API, documentada
Cada endpoint con sus parámetros, sus respuestas de ejemplo y la petición lista para copiar en cURL, JavaScript y Python. Se lee entera sin crear cuenta.