Guia

Como subir videos de forma masiva a redes sociales

Tienes 50 videos en una carpeta. Tal vez son demos de producto, reels para clientes o clips generados con IA. Subirlos uno por uno a cada plataforma te llevaria horas. Aqui te mostramos como hacerlo en minutos usando un script, el sistema de cola o herramientas de automatizacion visual.

El enfoque: recorrer, subir, encolar

La idea es sencilla. Tomas una lista de archivos de video, los recorres en un bucle y envias cada uno a la API de redes sociales. Para evitar bombardear a tu audiencia con 50 publicaciones de golpe, usas el sistema de cola para que se distribuyan a lo largo de la semana en los mejores horarios.

Hay tres formas de hacer esto dependiendo de tu nivel tecnico:

  1. Un script en Python o Bash para control total
  2. n8n con Google Drive para un workflow visual, sin codigo
  3. Make.com para automatizacion similar con una interfaz diferente

Vamos a ver las tres opciones.

Método 1: Script de subida en lote con Python

Esta es la opcion mas flexible. Apuntas el script a una carpeta de videos y sube cada uno con la cola habilitada. Primero instala el SDK:

pip install upload-post

Luego ejecuta este script:

import os
import glob
from upload_post import UploadPostClient

client = UploadPostClient(api_key="your-api-key-here")

video_folder = "/path/to/your/videos"
videos = glob.glob(os.path.join(video_folder, "*.mp4"))

print(f"Encontrados {len(videos)} videos para subir.")

for i, video_path in enumerate(videos):
    filename = os.path.basename(video_path)
    title = filename.replace(".mp4", "").replace("-", " ").replace("_", " ")

    try:
        response = client.upload_video(
            video_path=video_path,
            title=title,
            user="mybrand",
            platforms=["tiktok", "instagram", "youtube"],
            add_to_queue=True,
            async_upload=True
        )
        job_id = response.get("job_id", "async")
        print(f"[{i+1}/{len(videos)}] Queued: {filename} (Job: {job_id})")
    except Exception as e:
        print(f"[{i+1}/{len(videos)}] Failed: {filename} - {e}")

print("¡Todos los videos en cola!")

Algunas cosas a tener en cuenta sobre este script. El flag add_to_queue=True hace que cada video se asigne al siguiente horario disponible en tu programacion de cola. Y async_upload=True hace que cada llamada retorne inmediatamente en lugar de esperar a que todas las plataformas terminen de procesar. Esto es importante para operaciones en lote porque una subida sincrona que tarda mas de 59 segundos cambiara automaticamente a asincrona de todas formas.

Método 1b: Script Bash con cURL

Si prefieres la linea de comandos y no quieres instalar Python, un bucle simple en Bash hace lo mismo:

#!/bin/bash
API_KEY="your-api-key-here"
VIDEO_DIR="/path/to/your/videos"

for video in "$VIDEO_DIR"/*.mp4; do
    filename=$(basename "$video" .mp4)
    echo "Uploading: $filename"

    curl -s -X POST https://api.upload-post.com/api/upload \
      -H "Autorización: Apikey $API_KEY" \
      -F "video=@$video" \
      -F "user=mybrand" \
      -F "title=$filename" \
      -F "platform[]=tiktok" \
      -F "platform[]=instagram" \
      -F "add_to_queue=true" \
      -F "async_upload=true"

    echo ""
done

echo "¡Hecho! Todos los videos en cola."

Método 2: n8n con Google Drive (sin código)

Esta es la mejor opcion si quieres un workflow visual que se ejecute automaticamente cada vez que aparecen nuevos videos en una carpeta. El flujo es: Google Drive detecta un nuevo archivo, lo descarga, lo envia a Upload-Post y lo encola para publicacion.

Tenemos una plantilla lista de Google Drive a redes sociales que puedes importar en tu instancia de n8n con un clic. Tambien hay una version mas avanzada que usa descripciones generadas con IA y seguimiento en Airtable.

Si quieres construirlo tu mismo, revisa la guia de integracion con n8n para la configuracion paso a paso. La clave es configurar el nodo HTTP Request con datos multipart form y pasar el archivo binario desde el nodo de Google Drive.

Para contenido potenciado con IA, incluso hay una plantilla que publica videos automaticamente con captions generados por IA de forma masiva.

Método 3: Automatización con Make.com

Make.com (antes Integromat) funciona de forma similar. Creas un escenario con un trigger de Google Drive o Dropbox, lo conectas a un modulo HTTP configurado para la API de Upload-Post, y lo configuras para que se ejecute en un horario o cuando se detecten nuevos archivos.

El modulo HTTP necesita estar configurado con tipo de contenido multipart/form-data, con tu API key como header personalizado. Mira nuestras plantillas de Make.com para escenarios preconfigurados.

Procesar videos antes de subirlos

A veces tus videos de origen no estan en el formato correcto. Tal vez son demasiado largos, tienen la relacion de aspecto equivocada o estan codificados en un codec que TikTok no acepta. En lugar de procesarlos localmente, puedes usar la API de editor FFmpeg de Upload-Post para transformar videos en la nube antes de publicar.

Por ejemplo, puedes recortar un video horizontal a vertical 9:16, cortarlo a 60 segundos para YouTube Shorts, o recodificar a H.264 para maxima compatibilidad:

curl -X POST https://api.upload-post.com/api/uploadposts/ffmpeg/jobs/upload \
  -H "Autorización: Apikey tu-clave-api-aquí" \
  -F "[email protected]" \
  -F 'full_command=ffmpeg -i {input} -vf "crop=ih*9/16:ih,scale=1080:1920" -c:v libx264 -preset medium -t 60 {output}' \
  -F "output_extension=mp4"

La API de FFmpeg esta incluida en todos los planes (30 minutos gratuitos al mes en el plan gratuito, hasta 10.000 minutos en Business).

Monitorear tus subidas masivas

Cuando estas subiendo docenas de videos, necesitas rastrear que se proceso correctamente y que fallo. Hay dos formas:

Consultar el endpoint de estado

curl https://api.upload-post.com/api/uploadposts/status?request_id=abc123 \
  -H "Autorización: Apikey tu-clave-api-aquí"

La respuesta incluye contadores de completed y total para que puedas ver el progreso en tiempo real.

Configurar webhooks

Para un enfoque sin intervencion manual, configura una URL de webhook y Upload-Post notificara a tu servidor cada vez que una subida de plataforma termine. Cada notificacion incluye la plataforma, URL del post y estado de exito/error.

Upload history

Tambien puedes revisar todo lo que se ha subido con el endpoint de historial:

curl "https://api.upload-post.com/api/uploadposts/history?page=1&limit=50" \
  -H "Autorización: Apikey tu-clave-api-aquí"

Cada entrada muestra la plataforma, timestamp, estado de exito, URL del post, tamano del archivo y cualquier mensaje de error. Esto es genial para generar reportes o auditar tus subidas.

Consejos para subidas masivas a gran escala

  • Siempre usa async_upload=true para operaciones en lote. Las subidas sincronas funcionan bien para publicaciones individuales, pero no quieres esperar a que 10 plataformas procesen antes de enviar el siguiente archivo.
  • Usa la cola en lugar de fechas fijas a menos que tengas requisitos de timing especificos. La cola distribuye el contenido de forma uniforme y respeta los limites diarios de cada plataforma.
  • Vigila los límites diarios. TikTok permite 15 subidas por dia por cuenta, YouTube permite 10. Si encolas 50 videos de TikTok, se repartiran en multiples dias automaticamente.
  • Nombra tus archivos de forma descriptiva. Si usas el nombre del archivo como titulo del post (como en los scripts de arriba), "summer-collection-lookbook.mp4" queda mucho mejor que "VID_20250615_001.mp4".
  • Usa titulos especificos por plataforma cuando los captions necesiten ser diferentes. Configura tiktok_title para un caption mas corto y youtube_description para uno mas largo con keywords SEO.

Preguntas frecuentes

¿Hay un límite de cuántos videos puedo subir a la vez?

No hay un limite fijo en cuantas peticiones API puedes enviar. Sin embargo, cada plataforma tiene limites de subida diarios (15 para TikTok, 10 para YouTube, etc.). El sistema de cola gestiona esto automaticamente repartiendo los posts entre varios dias.

¿Puedo subir videos desde una URL en lugar de un archivo local?

Si. En lugar de pasar un archivo con -F "[email protected]", puedes pasar una URL publica como parametro de video. Upload-Post lo descargara y procesara por ti.

¿Cuál es el tamaño máximo de archivo?

Depende de la plataforma. YouTube acepta hasta 256GB, TikTok hasta 4GB e Instagram hasta 300MB. Consulta la pagina de requisitos de video para el desglose completo.

Sube todos tus videos de una vez

Deja de perder horas en subidas manuales. Prepara tu contenido en lote, lanza la API y deja que la cola se encargue del resto. La configuracion tarda 5 minutos.

Sin tarjeta de crédito. 10 subidas gratuitas incluidas.