Programa una publicación en TikTok para un momento específico
El enfoque mas directo es establecer una fecha de publicacion exacta. Agrega el parametro scheduled_date (formato ISO-8601) y un timezone (formato IANA) a tu solicitud de subida. La API acepta fechas hasta 365 dias en el futuro.
Aqui tienes un ejemplo con cURL que programa un video de TikTok para el 22 de septiembre a las 10:00 AM hora de Nueva York, con privacidad publica y duetos desactivados:
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=Morning routine that changed everything #fyp #routine" \
-F "platform[]=tiktok" \
-F "scheduled_date=2025-09-22T10:00:00Z" \
-F "timezone=America/New_York" \
-F "privacy_level=PUBLIC" \
-F "disable_duet=false" \
-F "disable_comment=false" \
-F "disable_stitch=false"
Cuando la publicacion se programa correctamente, la API responde con un codigo de estado 202 y un job_id:
{
"success": true,
"job_id": "scheduler_job_abc123",
"scheduled_date": "2025-09-22T10:00:00Z"
}
Guarda ese job_id. Lo necesitaras para editar, reprogramar o cancelar la publicacion mas adelante. Tambien puedes listar todas tus publicaciones programadas pendientes en cualquier momento:
curl https://api.upload-post.com/api/uploadposts/schedule \
-H "Autorización: Apikey tu-clave-api-aquí"
Esto devuelve un array con todos los trabajos pendientes con su job_id, scheduled_date, detalles de la plataforma y una URL de vista previa del contenido. Para una guia mas detallada sobre programacion en todas las plataformas, consulta la guia general de programacion.
Usa la cola para programacion automatica
Elegir fechas exactas funciona cuando tienes pocas publicaciones. Pero si produces contenido en lote, elegir manualmente un horario para cada video se vuelve tedioso rapidamente. El sistema de cola resuelve esto. Defines tu calendario de publicacion preferido una vez, y luego cada pieza de contenido que agregas se asigna automaticamente al siguiente horario disponible.
Configura tu queue calendar
Primero, indica al sistema cuando quieres que salga el contenido. Este ejemplo configura tres horarios por dia, de lunes a viernes, en la zona horaria de Nueva York:
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": 8, "minute": 0 },
{ "hour": 12, "minute": 30 },
{ "hour": 18, "minute": 0 }
],
"days": [0, 1, 2, 3, 4]
}' Esto te da 15 horarios de TikTok por semana: 8:00 AM, 12:30 PM y 6:00 PM, de lunes a viernes. Puedes definir hasta 24 horarios por dia e incluir fines de semana agregando los dias 5 y 6.
Agrega contenido a la cola
Ahora, en lugar de pasar un scheduled_date, establece add_to_queue=true. El sistema llena el siguiente horario disponible automaticamente:
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=POV: you finally automated your TikTok posting #devlife" \
-F "platform[]=tiktok" \
-F "add_to_queue=true" \
-F "privacy_level=PUBLIC" Si es miercoles a las 2 PM, este video se asigna al horario de las 6:00 PM del mismo dia. Si todos los horarios del miercoles estan llenos, se mueve al jueves a las 8:00 AM. Puedes previsualizar los proximos horarios disponibles antes de agregar contenido:
curl https://api.upload-post.com/api/uploadposts/queue/preview?count=10 \
-H "Autorización: Apikey tu-clave-api-aquí" Esto devuelve los proximos 10 horarios disponibles con sus fechas y horas exactas, para que sepas exactamente cuando se publicara cada publicacion en cola.
Configuraciones específicas de TikTok que debes conocer
La API de TikTok expone varios parametros que otras plataformas no tienen. Algunos son opcionales, pero unos pocos son legalmente obligatorios en ciertas situaciones. Aqui tienes la referencia completa:
| Parámetro | Valores | Descripción |
|---|---|---|
privacy_level | "PÚBLICO", "FRIENDS", "PRIVATE" | Controla quién puede ver el video. Por defecto usa la configuración de tu cuenta de TikTok si se omite. |
disable_duet | true / false | Impide que otros usuarios creen duetos con tu video. |
disable_comment | true / false | Desactiva los comentarios en el video. |
disable_stitch | true / false | Impide que otros usuarios hagan stitch con tu video en los suyos. |
brand_content_toggle | true / false | Marca el video como colaboración pagada. Requerido por la FTC y las regulaciones de la UE cuando promocionas una marca por la que recibes pago. |
brand_organic_toggle | true / false | Marca el video como promoción de tu propio negocio. Usa esto cuando el contenido es sobre tu propio producto o servicio, no un patrocinio de terceros. |
is_aigc | true / false | Indica que el contenido fue generado o editado significativamente por IA. TikTok puede etiquetarlo para los espectadores. |
tiktok_title | string | Titulo/descripcion especifico de la plataforma. Util cuando tu descripcion de TikTok difiere del campo principal title enviado a otras plataformas. |
cover_timestamp | integer (ms) | Selecciona el fotograma del video en este milisegundo para usarlo como miniatura. Por ejemplo, 5000 selecciona el fotograma en el segundo 5. |
post_mode | "DRAFT", "PUBLISH" | Establece "DRAFT" para subir el video como borrador en TikTok (puedes revisarlo y publicarlo manualmente después). Por defecto es "PUBLISH." |
Una nota sobre contenido de marca: si estas creando contenido patrocinado, debes establecer brand_content_toggle=true. Esto no es opcional. Tanto la FTC en EE.UU. como las regulaciones equivalentes de la UE requieren una divulgacion clara de las colaboraciones pagadas. TikTok tambien lo aplica por su parte, por lo que no marcarlo correctamente puede resultar en la eliminacion del contenido. Si estas promocionando tu propio negocio (no una marca de terceros), usa brand_organic_toggle=true en su lugar.
Para contenido generado por IA, establecer is_aigc=true agrega una etiqueta de divulgacion visible para los espectadores. A medida que las regulaciones sobre contenido de IA evolucionan, marcar esto proactivamente es una buena practica.
Programa publicaciones en TikTok con Python
La guia de automatizacion con Python cubre el SDK en detalle. Aqui tienes un ejemplo practico para TikTok: programar en lote cada video de una carpeta, cada uno con una hora de diferencia, comenzando manana por la manana.
pip install upload-post import os
import glob
from datetime import datetime, timedelta
from upload_post import UploadPostClient
client = UploadPostClient(api_key="your-api-key-here")
video_folder = "/path/to/tiktok-videos"
videos = sorted(glob.glob(os.path.join(video_folder, "*.mp4")))
# Start scheduling from tomorrow at 9 AM Eastern
base_time = (datetime.now() + timedelta(days=1)).replace(
hour=9, minute=0, second=0, microsecond=0
)
print(f"Found {len(videos)} videos to schedule")
for i, video_path in enumerate(videos):
publish_time = base_time + timedelta(hours=i)
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"],
scheduled_date=publish_time.isoformat(),
timezone="America/New_York",
privacy_level="PÚBLICO",
disable_duet=False,
disable_comment=False,
cover_timestamp=3000,
async_upload=True
)
job_id = response.get("job_id", "pending")
print(f"[{i+1}/{len(videos)}] Scheduled {filename} for {publish_time} (Job: {job_id})")
except Exception as e:
print(f"[{i+1}/{len(videos)}] Failed: {filename} - {e}")
print("¡Todos los videos programados!")
Este script espacía cada video con una hora de diferencia. Puedes ajustar el timedelta para que coincida con tu cadencia preferida. Recuerda que TikTok tiene un limite diario de 15 subidas por ventana de 24 horas por cuenta. Si tienes mas de 15 videos, distribuyelos en varios dias o usa el sistema de cola, que gestiona los limites automaticamente.
Tambien puedes combinar esto con la API de FFmpeg para redimensionar o recortar videos antes de programarlos, o usar el calendario de fechas clave para redes sociales para alinear tus fechas de publicacion con temas en tendencia.
Sin código: Programar publicaciones en TikTok con n8n
Si prefieres la automatizacion visual en lugar de escribir codigo, n8n es una excelente opcion. La configuracion usa el nodo HTTP Request para llamar a la API de Upload-Post, y puedes activarlo desde Google Sheets, Google Drive, Airtable o un boton manual.
El flujo basico se ve asi:
- Nodo de activación: se ejecuta en un horario, una nueva fila en una hoja de calculo o un nuevo archivo en una carpeta en la nube.
- Nodo de Solicitud HTTP: envia un POST
multipart/form-dataahttps://api.upload-post.com/api/uploadcon tu clave API, archivo de video, titulo,platform[]=tiktokyadd_to_queue=true. - Opcional: una notificacion por Slack o email cuando la subida tenga exito o falle.
Tenemos una plantilla de subida de TikTok para n8n lista para usar que puedes importar con un solo clic. Explora todas las plantillas de n8n disponibles para mas ideas de automatizacion. Tambien puedes configurar esto con Make.com si esa es tu plataforma de automatizacion preferida.
Requisitos de video para TikTok
Antes de programar, asegurate de que tus videos cumplan con las especificaciones de TikTok. Subir un archivo que no cumpla estos requisitos resultara en una publicacion fallida.
| Requisito | Specification |
|---|---|
| Tamaño máximo de archivo | 4 GB |
| Formatos soportados | MP4, WebM, MOV |
| Relación de aspecto recomendada | 9:16 (vertical). 1:1 y 16:9 son aceptados pero pueden mostrarse con barras negras. |
| Resolución | 1080x1920 recomendada. Minimo 720p. |
| Duración | 1 segundo a 10 minutos |
| Códec | H.264 recomendado. H.265 (HEVC) tambien es soportado. |
| Límite diario de subidas | 15 videos por ventana de 24 horas por cuenta |
Si tus videos de origen estan en el formato o relacion de aspecto incorrectos, la API de FFmpeg puede gestionar la conversion en la nube antes de publicar. Tambien puedes reutilizar videos de YouTube en formato TikTok de forma automatica.
Preguntas frecuentes
¿Puedo programar publicaciones en TikTok gratis?
Si. Upload-Post incluye un plan gratuito con 10 subidas al mes, y la programacion esta disponible en todos los planes, incluyendo el gratuito. Puedes programar publicaciones con fechas exactas o usar el sistema de cola sin costo. Si necesitas mas volumen, los planes de pago comienzan a un precio accesible sin compromiso a largo plazo.
¿Que pasa si TikTok esta caido cuando mi publicacion esta programada?
Upload-Post reintenta automaticamente las subidas fallidas. Si la API de TikTok no esta disponible temporalmente en el horario programado, el sistema intentara publicar de nuevo durante los minutos siguientes. Si el problema persiste, recibiras una notificacion a traves de webhooks (si estan configurados) o puedes consultar el estado usando el endpoint GET /api/uploadposts/status?job_id=your_job_id. Tu contenido nunca se pierde.
¿Puedo programar en TikTok e Instagram al mismo tiempo?
Por supuesto. Solo pasa multiples plataformas en la misma solicitud: platform[]=tiktok y platform[]=instagram. El mismo video, titulo y fecha programada se aplican a todas las plataformas. Si necesitas diferentes descripciones por plataforma, usa el parametro tiktok_title para texto especifico de TikTok mientras el campo principal title se envia a las otras plataformas. Consulta nuestra guia sobre como subir videos en lote a varias plataformas para flujos de trabajo multiplataforma mas avanzados.
¿Con cuanta anticipacion puedo programar publicaciones en TikTok?
Hasta 365 dias. El parametro scheduled_date acepta cualquier fecha dentro del proximo ano. Combinado con el sistema de cola, teoricamente podrias llenar un ano entero de contenido en una sola sesion. La mayoria de los usuarios programan de una a cuatro semanas de anticipacion, lo cual es un buen equilibrio entre planificacion y flexibilidad. Nuestro calendario de fechas clave para redes sociales puede ayudarte a planificar contenido alrededor de fechas importantes durante todo el ano.