Títulos, tags, privacidad y Shorts: upload YouTube video through API
Un solo POST autenticado te permite upload YouTube video through API con un título, hasta 20 tags, un estado de privacidad y el id de una playlist existente adjuntos. Aquí YouTube es solo video (nada de posts de Comunidad, ni de imagen ni de texto), así que el payload es pequeño y las reglas son estrictas.

Todas las opciones específicas de YouTube viven en un solo objeto
youtubeConfigs lleva postType, videoTitle, tags, categoryId, privacyStatus, playlistId y los flags de notificación, incrustación, público infantil y licencia, y viaja en la misma petición POST /social-posts que referencia el archivo subido.
Publica en todas tus plataformas a la vez
Comparte en Instagram, TikTok, YouTube, X y más con un clic. Cada post se adapta automáticamente.
Calendario visual de contenido
El calendario de AdaptlyPost muestra cada borrador, publicación programada y publicación ya salida por día, para que tus huecos de publicación no queden vacíos.
Analíticas de redes sociales en un solo lugar
AdaptlyPost sigue vistas, likes, compartidos y engagement de cada cuenta conectada en un único panel de analíticas.
Acceso API y skill OpenClaw
Conecta vía API o deja que tu agente OpenClaw gestione las publicaciones. Automatiza redes sociales con comandos en lenguaje natural.
Generador de imágenes con IA para redes sociales
Genera imágenes impactantes en segundos. Solo describe tu visión y deja que la IA la haga realidad.
Generador de captions con IA para cada plataforma
El copiloto de IA de AdaptlyPost escribe captions, los reescribe para cada plataforma y añade hashtags a partir de un solo prompt.
Planificador de contenido para redes sociales
AdaptlyPost mantiene borradores, publicaciones programadas y contenido publicado en una sola cola, para que veas qué sale y cuándo.
La Confianza de Creadores y Equipos
Descubre cómo creadores, marketers, agencias y pequeñas empresas usan AdaptlyPost para mantenerse constantes y ahorrar horas cada semana.
Por fin una herramienta de programación que lo hace bien
De todas las apps de programación de publicaciones que he probado, esta se lleva mis 5 tacos. La interfaz es excelente. Taras, el fundador, responde increíblemente rápido. Ayer hice dos peticiones para mejorar la experiencia, y las implementó en menos de 15 minutos. Recomiendo esta herramienta al 100 %.
Por fin un mejor gestor de redes sociales
Adaptly es SIMPLE: inicia sesión en tus redes, pega tu clave API y deja que la IA se encargue. Perfecto para cualquiera que use la IA como interfaz para todo. Que además cree imágenes es la guinda del pastel.
¡¡Simplemente WOW!!
Muy impresionado por lo fácil que es la configuración, la conexión, el uso y la publicación. Publicar 1 video en varias plataformas me habría llevado una hora. Lo publiqué en 4 plataformas en menos de 10 minutos. Muy satisfecho con esta compra.
gran herramienta de publicación (prometedora)
El proceso de publicación es práctico e intuitivo. Con otras herramientas me rendía tras un solo intento de crear un post, y aquí pude completar el proceso y programar una publicación en el calendario. También ofrece mejores opciones para YouTube, incluida la posibilidad de revisar los ajustes y añadir etiquetas. Y es compatible con MCP y webhooks.
La interfaz es limpia, la publicación ha sido fiable y ya nos ha ahorrado mucho tiempo
La plataforma facilita gestionar y programar contenido en varios canales sociales sin saltar entre distintas apps. El equipo también ha respondido a los comentarios durante el piloto, lo que dice mucho de la empresa. Muy recomendable.
Potente y súper fácil
Probé algunos otros, pero tenía que volver atrás constantemente, o había un error de envío que lo frenaba todo y era difícil de arreglar y volver a publicar. Con el MCP por fin tengo control total sobre mis cuentas.
De la terminal vacía a la subida publicada
Crea una key y luego busca el canal
Las keys se emiten en el panel, en Settings > API Tokens, y empiezan por adaptly_. Envíalas como `Authorization: Bearer <key>` contra https://post.adaptlypost.com/post/api/v1. El canal se conecta por OAuth en el panel (no hay ningún endpoint que conecte, desconecte o compruebe el estado de un canal de YouTube) y después `GET /social-accounts` devuelve su id, platform y displayName para referenciarlo en el post. Una llamada apunta a un canal de YouTube: un segundo canal es una segunda llamada, y enviar dos cuentas de YouTube en un mismo payload se rechaza con un 400.
Sube el archivo y luego haz POST /social-posts con youtubeConfigs
Solo se aceptan video/mp4 y video/quicktime, y `POST /upload-urls` rechaza de plano cualquier otro tipo mime, así que pide ahí URLs prefirmadas (1-20 archivos, válidas una hora), haz PUT del archivo y crea el post con `text`, `platforms: ["YOUTUBE"]`, `timezone` (IANA, p. ej. "Europe/Berlin"), `contentType: "VIDEO"` y un objeto `youtubeConfigs`. La lista de tipos de contenido soportados de YouTube es VIDEO y su máximo de imágenes por post es 0, así que un post IMAGE o TEXT que incluya YouTube nunca llega al canal. El cuerpo de la petición se valida de forma síncrona: un `videoTitle` de más de 100 caracteres, más de 20 `tags`, un campo obligatorio ausente o un tipo de contenido no soportado vuelven como un 400 en la propia llamada de creación, sin que se escriba ningún registro del post y sin nada que reintentar. `postType: "SHORTS"` requiere un archivo 9:16 de 60 segundos o menos, así que comprueba la relación de aspecto y la duración antes de llamar. Añade `scheduledAt` para programar en lugar de publicar de inmediato.
Lee platformPostId, o corrige y reintenta
`GET /social-posts/:id/results` devuelve la entrada de YouTube con `status`, `publishedAt`, `errorMessage` y `platformPostId`: el id de video de YouTube en bruto. Nunca se devuelve una URL de reproducción, así que construye tú el enlace a partir de ese id. Este endpoint reporta lo que hizo YouTube después de que aceptáramos y despacháramos la subida, no si el payload estaba bien formado: los payloads mal formados nunca llegan hasta aquí, porque fallaron con un 400 en la creación. Lo que aparece en `errorMessage` es del lado del canal: un `playlistId` que no existe en el canal conectado, una concesión de OAuth que el dueño del canal revocó, o una subida que YouTube rechazó o limitó durante su propio procesado. Corrige la causa de fondo y llama a `POST /social-posts/:id/retry` con los `platformIds` fallidos en vez de recrear el post. No hay sandbox en ninguna parte de la API, así que lo más parecido a una prueba en seco es publicar con `privacyStatus: "PRIVATE"` y cambiarlo después en YouTube Studio.
Precios simples y transparentes
Elige el plan perfecto para ti
30 cuentas sociales conectadas
Posts programados ilimitados
Colaboración en equipo
1 espacio de trabajo
150 créditos de IA/mes
Captions IA
Estudio de imágenes IA
API/MCP/CLI
Posts de imagen, video y carrusel
Direct Connector
Extensiones de navegador
Funciona con
Más popular
60 cuentas sociales conectadas
Posts programados ilimitados
3 miembros de equipo
3 espacios de trabajo
400 créditos de IA/mes
Captions IA
Estudio de imágenes IA
API/MCP/CLI
Posts de imagen, video y carrusel
Direct Connector
Extensiones de navegador
Funciona con
100 cuentas sociales conectadas
Posts programados ilimitados
10 miembros de equipo
10 espacios de trabajo
1000 créditos de IA/mes
Captions IA
Estudio de imágenes IA
API/MCP/CLI
Posts de imagen, video y carrusel
Direct Connector
Extensiones de navegador
Funciona con
Personalizado
Límites a medida, marca blanca y soporte prioritario
Personalizado
Cuentas sociales ilimitadas
Posts programados ilimitados
Miembros de equipo ilimitados
Espacios de trabajo ilimitados
Créditos de IA ilimitados
Captions IA
Estudio de imágenes IA
API/MCP/CLI
Posts de imagen, video y carrusel
Direct Connector
Extensiones de navegador
Funciona con
Todos los planes incluyen 7 días gratis
¿Quieres ver la comparación completa de funciones? Ver página de precios
Qué puedes configurar de verdad en una subida a YouTube
Subidas de formato largo con metadatos incluidos
`postType: "VIDEO"` publica una subida estándar. `videoTitle` define el título con un techo de 100 caracteres, `tags` acepta hasta 20 cadenas, `categoryId` toma el id numérico de categoría de YouTube, y el `text` del post viaja con el video como su texto descriptivo. Nada más allá de ese objeto es configurable: en esta API no hay campos de miniatura, capítulos, pantalla final, subtítulos ni estreno.
Shorts en el mismo endpoint
Cambia `postType` a `"SHORTS"` para subir YouTube Shorts vía API: mismo endpoint, mismo youtubeConfigs, misma tubería de upload-urls. La restricción decisiva son los medios, no el flag: un Short requiere una relación de aspecto 9:16 y una duración de 60 segundos o menos, así que valida dimensiones y duración antes de llamar, no después.
Privacidad, notificaciones y el flag de público
`privacyStatus` acepta PUBLIC, UNLISTED o PRIVATE. `notifySubscribers` decide si se avisa a los suscriptores del canal, `allowEmbedding` fija el permiso de incrustación, `madeForKids` lleva la designación de público, y `license` establece la licencia del video. Todos son por post, así que un lote de subidas de archivo puede salir en privado y sin ruido mientras un video de lanzamiento sale público y notifica.
Añadir la subida a una playlist existente
Define `playlistId` en youtubeConfigs y la subida terminada se archiva en esa playlist. Tiene que existir ya (la API puede añadir a una playlist, pero no crear, renombrar, reordenar ni listar ninguna), así que copia el id desde YouTube Studio (el valor `list=` de la URL de la playlist) y guárdalo en tu propia config. Si el id es incorrecto, eso aparece en la entrada de YouTube que devuelve `/results`.
Monta tu primera subida a YouTube
Crea una key en Settings > API Tokens, importa GET /openapi.json en tu cliente HTTP, en Make o en n8n, y la primera subida está a un POST de distancia. Prueba con privacyStatus PRIVATE antes de salir en público.