Las dos formas de programar contenido
Upload-Post te ofrece dos enfoques para programar. Puedes establecer una fecha y hora exacta con el parametro scheduled_date, o dejar que el sistema decida el mejor momento usando el sistema de cola. Ambos funcionan en cualquier endpoint: subida de videos, subida de fotos y publicaciones de texto.
Opción A: Programar para una fecha y hora específica
Agrega el parametro scheduled_date a cualquier peticion de subida. El formato es ISO-8601 y puedes programar hasta 365 dias de anticipacion.
curl -X POST https://api.upload-post.com/api/upload \
-H "Autorización: Apikey tu-clave-api-aquí" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=Coming soon... stay tuned!" \
-F "platform[]=tiktok" \
-F "platform[]=instagram" \
-F "scheduled_date=2025-09-22T10:00:00Z" \
-F "timezone=Europe/Madrid"
Un par de detalles importantes aqui. La fecha esta en UTC por defecto, pero puedes pasar un parametro timezone usando el formato IANA (como America/New_York, Europe/London, Asia/Tokio) para que la publicacion se haga a la hora local correcta. Esto te ahorra hacer calculos de zonas horarias por tu cuenta.
Cuando una publicacion se programa correctamente, la API responde con un estado 202 e incluye un job_id:
{
"success": true,
"job_id": "scheduler_job_abc123",
"scheduled_date": "2025-09-22T10:00:00Z"
}
Guarda ese job_id porque lo necesitaras si quieres editar o cancelar la publicacion despues.
Opción B: Usar el sistema de cola
La cola es perfecta cuando quieres publicar de forma consistente sin elegir horarios exactos. En lugar de elegir una fecha, configuras add_to_queue=true y Upload-Post asigna el siguiente horario disponible segun tu programacion configurada.
Configura tu queue
Primero, configura los ajustes de tu cola. Defines que dias y que franjas horarias quieres:
curl -X POST https://api.upload-post.com/api/uploadposts/queue/settings \
-H "Autorización: Apikey tu-clave-api-aquí" \
-H "Tipo de Contenido: application/json" \
-d '{
"timezone": "America/New_York",
"slots": [
{ "hour": 9, "minute": 0 },
{ "hour": 12, "minute": 30 },
{ "hour": 17, "minute": 0 }
],
"days": [0, 1, 2, 3, 4]
}' Este ejemplo publica a las 9:00 AM, 12:30 PM y 5:00 PM (hora de Nueva York), de lunes a viernes. Puedes definir hasta 24 franjas horarias por dia.
Agregar contenido a la cola
curl -X POST https://api.upload-post.com/api/upload \
-H "Autorización: Apikey tu-clave-api-aquí" \
-F "[email protected]" \
-F "user=mybrand" \
-F "title=Monday motivation" \
-F "platform[]=tiktok" \
-F "platform[]=instagram" \
-F "add_to_queue=true" Upload-Post asignara automaticamente esta publicacion al siguiente horario disponible. Si es miercoles a las 2 PM, la publicacion se programara para las 5:00 PM ese mismo dia. Si todas las franjas del miercoles estan llenas, se mueve al jueves a las 9:00 AM.
Previsualizar los horarios de la cola
Quieres ver que horarios estan disponibles antes de agregar contenido a la cola? Usa el endpoint de preview:
curl https://api.upload-post.com/api/uploadposts/queue/preview?count=10 \
-H "Autorización: Apikey tu-clave-api-aquí" Esto devuelve las proximas 10 franjas disponibles con sus fechas y horas exactas. Puedes solicitar hasta 50 a la vez.
Gestionar publicaciones programadas
Una vez que el contenido esta programado, tienes control total sobre el a traves de la API.
Listar todas las publicaciones programadas
curl https://api.upload-post.com/api/uploadposts/schedule \
-H "Autorización: Apikey tu-clave-api-aquí"
Devuelve un array de trabajos pendientes con su job_id, scheduled_date, detalles de la plataforma y una URL de previsualizacion del contenido.
Editar una publicación programada
Necesitas cambiar la fecha de publicacion o actualizar el caption? Usa una peticion PATCH:
curl -X PATCH https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
-H "Autorización: Apikey tu-clave-api-aquí" \
-H "Tipo de Contenido: application/json" \
-d '{
"scheduled_date": "2025-09-25T14:00:00Z",
"title": "Título actualizado con mejores hashtags"
}' Cancelar una publicación programada
curl -X DELETE https://api.upload-post.com/api/uploadposts/schedule/scheduler_job_abc123 \
-H "Autorización: Apikey tu-clave-api-aquí" La publicacion y sus archivos subidos se eliminan inmediatamente.
Construir un calendario de contenido con la cola
Este es un flujo de trabajo practico que usan muchas agencias. Produces contenido en lote los lunes, subes todo a la cola, y el sistema lo distribuye a lo largo de la semana automaticamente. No necesitas estar conectado a las 9 AM del miercoles para darle al boton de publicar.
Esto es especialmente potente cuando se combina con herramientas como n8n o Make.com. Por ejemplo, puedes configurar un workflow donde los nuevos archivos en una carpeta de Google Drive se agregan automaticamente a la cola. Mira nuestra plantilla de programacion con Google Sheets para n8n para una configuracion lista para usar.
Nuestro calendario de fechas importantes para redes sociales tambien es util para planificar contenido alrededor de fechas clave durante todo el ano.
Programar con Python
from upload_post import UploadPostClient
from datetime import datetime, timedelta
client = UploadPostClient(api_key="your-api-key-here")
# Schedule a video for tomorrow at 10 AM Madrid time
publish_date = (datetime.now() + timedelta(days=1)).replace(
hour=10, minute=0, second=0
)
response = client.upload_video(
video_path="/path/to/video.mp4",
title="Programado desde Python",
user="mybrand",
platforms=["tiktok", "instagram", "youtube"],
scheduled_date=publish_date.isoformat(),
timezone="Europe/Madrid"
)
print(f"¡Programado! ID de trabajo: {response['job_id']}") Límites diarios de subida por plataforma
Cuando programas mucho contenido, ten en cuenta que cada plataforma impone limites diarios. Son ventanas rodantes de 24 horas por cuenta conectada:
| Platform | Límite diario |
|---|---|
| TikTok | 15 subidas |
| YouTube | 10 subidas |
| 20 subidas | |
| 25 subidas | |
| 40 subidas | |
| 50 subidas | |
| X (Twitter) | 50 subidas |
| Threads | 50 subidas |
| Bluesky | 50 subidas |
| 150 subidas |
El sistema de cola respeta estos limites automaticamente y no sobreprogramara para ninguna plataforma.
Preguntas frecuentes
¿Puedo programar el mismo contenido en horarios diferentes para distintas plataformas?
No en una sola peticion, pero puedes enviar peticiones separadas para cada plataforma con valores de scheduled_date diferentes. O usar el sistema de cola, que distribuye automaticamente.
¿Qué pasa si una publicación programada falla?
Recibiras una notificacion a traves de webhooks (si los tienes configurados) con los detalles del error. Tambien puedes consultar el estado con el endpoint GET /api/uploadposts/status?job_id=your_job_id.
¿Puedo combinar la programación con herramientas sin código?
Por supuesto. Tanto n8n como Make.com pueden enviar los parametros scheduled_date o add_to_queue a traves del modulo de peticiones HTTP. Esto significa que puedes crear un workflow visual que lea desde una hoja de calculo y programe todo automaticamente.