Decidiste automatizar las publicaciones de Instagram, con una herramienta o una integración propia. Y empiezan las preguntas que todas las landings responden con el mismo «soportamos todo»: ¿Publica Stories? ¿Pone música a un Reel? ¿Acepta PNG? ¿Corrige el caption después de publicar?

Las respuestas están repartidas por la documentación de Meta y cambian cada pocos meses. Resumen de 2026: qué soporta realmente la Instagram Content Publishing API, especificaciones exactas de archivo, cómo funciona la publicación por dentro, qué falta por diseño y cómo leer los errores. La diferencia entre la API oficial y las herramientas «grises» que piden contraseña está en la guía de autopublicación en Instagram; este artículo baja un nivel.

Quién puede usar la API y qué necesitas

Solo las cuentas profesionales, Business o Creator, publican vía API. Un perfil personal no se conecta; es restricción de Meta, no de la herramienta.

Hay dos formas de autorizar:

  • Instagram Login (desde 2024). La cuenta se conecta directamente, sin página de Facebook. Permisos: instagram_business_basic e instagram_business_content_publish.
  • Facebook Login. La vía clásica, con la cuenta vinculada a una página de Facebook. Permisos: instagram_basic e instagram_content_publish, más los de la página.

Para una integración propia necesitas una app en Meta for Developers. En modo desarrollo solo publican las cuentas con rol en la app: a una tienda o un estudio le basta, sin App Review. Una herramienta para clientes sí pasa revisión: semanas de idas y vueltas y un screencast.

Los tokens de acceso viven 60 días y hay que renovarlos. Una herramienta decente lo hace sola; si tu script casero «dejó de publicar» a los dos meses, caducó el token.

Cómo funciona: primero el contenedor, luego la publicación

Un post nunca va en una petición; son dos pasos:

  1. Crear el contenedor. POST /{ig-user-id}/media con el enlace al archivo, el caption y los parámetros; devuelve un ID de contenedor.
  2. Publicar. POST /{ig-user-id}/media_publish con ese ID. Solo entonces aparece el post en el feed.

Con fotos ambos pasos tardan segundos. Con video y Reels hay procesamiento en medio: el contenedor pasa por IN_PROGRESS y solo se publica en FINISHED, normalmente 30–120 segundos, más en Reels largos. ERROR y EXPIRED significan que no hay nada que publicar: un contenedor vive 24 horas, luego se empieza de cero.

La gran consecuencia práctica: no puedes subir un archivo directamente. La API solo acepta una URL pública: la imagen o el video deben estar en un servidor accesible por enlace directo; un «compartir» de Google Drive no sirve. Única excepción: los Reels admiten subida reanudable por fragmentos. Por eso toda herramienta copia primero tus medios a su almacenamiento y los sirve desde ahí; preguntar dónde se guardan y por cuánto tiempo es legítimo.

Qué se puede publicar y las especificaciones exactas

FormatoArchivoRequisitos
Foto en el feedsolo JPEGhasta 8 MB, proporción de 4:5 a 1.91:1, ancho 320–1440 px, sRGB
ReelsMP4 o MOVvideo H.264 o HEVC, audio AAC, 23–60 fps, de 3 segundos a 15 minutos, hasta 1 GB, 9:16 recomendado
Carrusel2–10 elementosfotos y videos se pueden mezclar; videos en carrusel hasta 60 segundos
Storiesfoto o videovideo hasta 60 segundos, vertical 9:16

Dos tropiezos habituales. Primero: PNG y HEIC se rechazan. Las fotos del iPhone salen en HEIC: las convierte la herramienta o las conviertes tú. Segundo: un cuadrado 1:1 pasa, pero un vertical 2:3 (el formato por defecto de la cámara) se recorta a 4:5.

Caption: hasta 2.200 caracteres, 30 hashtags, 20 menciones con @. Además, la API acepta:

  • texto alternativo para fotos (alt_text);
  • ubicación vía location_id (ID de la página de Facebook del lugar, no coordenadas);
  • etiquetas de personas en fotos con coordenadas x/y;
  • colaboradores (hasta 3 cuentas): reciben invitación en la app y el post aparece en su perfil al aceptar;
  • portada del Reel, con tu imagen (cover_url) o un fotograma al segundo que elijas (thumb_offset), más share_to_feed para dejar el Reel fuera del feed.

Si una herramienta promete «Reels» pero no deja elegir portada, compruébalo en el trial: esa portada decide si alguien toca el video un mes después.

Límites: 50 posts y 200 llamadas

50 posts publicados por cada 24 horas móviles por cuenta. «Móviles» es la clave: publica 50 veces entre las 10:00 y las 23:00 y la cuota no se reinicia a medianoche; cada hueco se libera cuando su post cumple 24 horas. Un carrusel es un post; las Stories entran en el mismo límite. La cuota restante la da GET /{ig-user-id}/content_publishing_limit, campo quota_usage. Para una cuenta, 50 al día es un techo que solo rozan los medios de noticias.

El límite de llamadas ronda las 200 peticiones por hora por usuario conectado. Para publicar apenas importa: un post son 2–3 llamadas (crear contenedor, consultar estado, publicar). Para analítica sí: una herramienta que refresca estadísticas de 30 posts cada cinco minutos choca con este límite antes que con el de publicación.

Lo que la API no hace y ninguna herramienta puede sortear

Lista honesta para 2026. Si un servicio promete algo de esto «vía API oficial», o lo hace a mano o no es vía API.

  • Stories interactivas. Sin encuestas, quizzes, sliders ni stickers de enlace, música o mención. Vía API una Story es solo imagen o video; el «desliza hacia arriba» va dentro del diseño.
  • Música de la biblioteca de Instagram en Reels. El audio va ya en el archivo, con sus derechos.
  • Filtros y efectos. Procesa el video antes de subirlo.
  • Editar y borrar. Un post publicado vía API no se edita ni se borra vía API, solo a mano en la app. Revisa el caption antes, no después.
  • La programación en sí. La API publica «ahora»; un post programado es una cola en la herramienta: si su servidor cae a las 19:00, tu post de las 19:00 no sale. Pregunta cómo reintenta y si te avisa.
  • Promocionar un post. Los anuncios viven en una Marketing API aparte, con otros permisos y revisión.

Lo que la API sí ofrece y se olvida: responder y ocultar comentarios, leer menciones y extraer estadísticas de posts y cuenta. Con eso se montan moderación y analítica, como en las herramientas del panorama de automatización SMM.

Errores frecuentes y qué significan

Los mensajes de la Graph API son escuetos; traducción de los más comunes:

  • «Media type is not supported»: enviaste PNG, HEIC, WebP o GIF. Convierte a JPEG (foto) o MP4 (video).
  • «The aspect ratio is not supported»: proporción fuera de 4:5–1.91:1. Recorta.
  • «Media URL is not accessible»: el enlace no es público o redirige. Ábrelo en incógnito: si la imagen no carga al instante, Instagram tampoco la verá.
  • Estado ERROR en video: casi siempre el códec (VP9, WebM), más de 60 fps o más de 25 Mbps. Recodifica a H.264 a 30 fps.
  • «Application request limit reached»: llegaste a 50 posts en 24 horas o al límite de llamadas. Consulta content_publishing_limit y espera.
  • «Invalid OAuth access token»: el token caducó o se revocó el acceso. Reconecta la cuenta.

Caso real: una cafetería de especialidad en Buenos Aires «perdió» un post de cada dos durante tres semanas: las fotos del iPhone llegaban en HEIC y la herramienta las descartaba sin avisar. Otra que convierte y explica el error lo resolvió en una tarde.

Checklist para elegir un programador de posts

Siete preguntas antes de pagar, o para probar en un plan gratuito:

  1. ¿Conecta vía OAuth, sin contraseña de Instagram? Si pide contraseña, no es la API.
  2. ¿Convierte HEIC/PNG a JPEG y recorta a 4:5 por su cuenta?
  3. ¿Puedes elegir la portada del Reel y desactivar la publicación en el feed?
  4. ¿Soporta carruseles con video y Stories?
  5. ¿Hay texto alternativo, ubicación y colaboradores?
  6. ¿Qué pasa si falla una publicación: reintento, notificación, dónde llega?
  7. ¿Se ve la cuota restante de 50 posts y avisa con antelación?

Cómo evitar un bloqueo incluso con la API oficial, qué son los checkpoints, qué señales Instagram considera sospechosas y cómo calentar una cuenta nueva: autopublicación en Instagram sin baneo.

Repost21 trabaja con Instagram solo vía Graph API oficial: fotos, videos, Reels con portada, carruseles y Stories. Los medios se convierten y alojan en el servicio, una publicación fallida avisa por el bot de Telegram y la asistente Luna ayuda con el caption antes de que sea ineditable. Detalles por plataforma en la documentación; puedes probarlo gratis.