L\'approccio: cicla, carica, metti in coda
L\'idea e semplice. Prendi una lista di file video, li cicli e invii ciascuno all'API per social media. Per evitare di inondare il tuo pubblico con 50 post contemporaneamente, usi il sistema di code in modo che vengano distribuiti durante la settimana nei momenti migliori.
Ci sono tre modi per farlo, a seconda del tuo livello di competenza tecnica:
- A Python or Bash script per il massimo controllo
- n8n con Google Drive per un workflow visuale senza codice
- Make.com per un\'automazione simile con un\'interfaccia diversa
Vediamoli tutti e tre.
Metodo 1: Python script for bulk upload
Questa e l\'opzione piu flessibile. Punti lo script a una cartella di video e questo carica ciascuno con la coda abilitata. Installa prima l\'SDK:
pip install upload-post Poi esegui questo 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"Trovati {len(videos)} video da caricare")
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("Tutti i video in coda!")
Alcune cose da notare su questo script. Il flag add_to_queue=True significa che ogni video viene assegnato al prossimo slot disponibile nella tua pianificazione della coda. E async_upload=True fa si che ogni chiamata restituisca immediatamente invece di aspettare che tutte le piattaforme finiscano l\'elaborazione. Questo e importante per le operazioni massive perche un upload sincrono che dura piu di 59 secondi passera automaticamente alla modalita asincrona comunque.
Metodo 1b: Bash script with cURL
Se preferisci la riga di comando e non vuoi installare Python, un semplice ciclo Bash fa la stessa cosa:
#!/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 "Autorizzazione: 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 "Fatto! Tutti i video in coda." Metodo 2: n8n with Google Drive (no code)
Questa e l\'opzione migliore se vuoi un workflow visuale che si attiva automaticamente quando nuovi video appaiono in una cartella. Il flusso e: Google Drive rileva un nuovo file, lo scarica, lo invia a Upload-Post e lo mette in coda per la pubblicazione.
Abbiamo un template pronto da Google Drive ai social media che puoi importare nella tua istanza n8n con un click. C\'e anche una versione piu avanzata che usa descrizioni generate dall\'AI e tracking con Airtable.
Se vuoi costruirlo da zero, consulta la guida all\'integrazione con n8n per la configurazione passo passo. La chiave e configurare il nodo HTTP Request con dati multipart form e passare il file binario dal nodo Google Drive.
Per contenuti potenziati dall\'AI, c\'e anche un template che pubblica automaticamente video con didascalie generate dall\'AI in blocco.
Metodo 3: Automazione con Make.com
Make.com (ex Integromat) funziona in modo simile. Crei uno scenario con un trigger Google Drive o Dropbox, lo colleghi a un modulo HTTP configurato per l\'API di Upload-Post e lo imposti per eseguire a intervalli o quando vengono rilevati nuovi file.
Il modulo HTTP deve essere impostato con il content type multipart/form-data, con la tua API key come header personalizzato. Sfoglia i nostri modello per Make.com per scenari pronti all\'uso.
Elaborare i video prima dell\'upload
A volte i tuoi video di partenza non sono nel formato giusto. Magari sono troppo lunghi, hanno l\'aspect ratio sbagliato o sono codificati con un codec che TikTok non accetta. Invece di elaborarli localmente, puoi usare l'API FFmpeg editor di Upload-Post per trasformare i video nel cloud prima della pubblicazione.
Per esempio, puoi ritagliare un video orizzontale in verticale 9:16, tagliarlo a 60 secondi per YouTube Shorts o ricodificarlo in H.264 per la massima compatibilita:
curl -X POST https://api.upload-post.com/api/uploadposts/ffmpeg/jobs/upload \
-H "Autorizzazione: Apikey your-api-key-here" \
-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" L\'API FFmpeg e inclusa in tutti i piani (30 minuti gratuiti al mese nel piano free, fino a 10.000 minuti nel piano Business).
Monitorare gli upload massivi
Quando carichi decine di video, hai bisogno di tracciare cosa e andato a buon fine e cosa ha fallito. Ci sono due modi:
Interrogare l\'endpoint di stato
curl https://api.upload-post.com/api/uploadposts/status?request_id=abc123 \
-H "Autorizzazione: Apikey your-api-key-here"
La risposta include i conteggi completed e total in modo che tu possa vedere i progressi in tempo reale.
Configurare i webhook
Per un approccio completamente autonomo, configura un URL webhook e Upload-Post notifichera il tuo server ogni volta che un upload su una piattaforma e completato. Ogni notifica include la piattaforma, l\'URL del post e lo stato di successo/errore.
Storico degli upload
Puoi anche rivedere tutto ciò che è stato caricato con l\''endpoint della cronologia:
curl "https://api.upload-post.com/api/uploadposts/history?page=1&limit=50" \
-H "Autorizzazione: Apikey your-api-key-here" Ogni voce mostra la piattaforma, il timestamp, lo stato di successo, l\'URL del post, la dimensione del file e qualsiasi messaggio di errore. Ottimo per creare report o fare audit degli upload.
Consigli per l\''upload massivo su larga scala
- Usa sempre
async_upload=trueper operazioni massive. Gli upload sincroni vanno bene per singoli post, ma non vuoi aspettare che 10 piattaforme elaborino prima di inviare il prossimo file. - Usa la coda invece di date fisse a meno che non hai requisiti di tempistica specifici. La coda distribuisce i contenuti in modo uniforme e rispetta i limiti giornalieri delle piattaforme.
- Controlla i limiti giornalieri. TikTok consente 15 upload al giorno per account, YouTube 10. Se metti in coda 50 video per TikTok, verranno distribuiti su piu giorni automaticamente.
- Dai nomi descrittivi ai file. Se usi il nome del file come titolo del post (come negli script sopra), "summer-collection-lookbook.mp4" rende molto meglio di "VID_20250615_001.mp4".
- Usa titoli specifici per piattaforma quando le didascalie devono differire. Imposta
tiktok_titleper una didascalia piu breve eyoutube_descriptionper una piu lunga con parole chiave SEO.
Domande frequenti
C\'è un limite a quanti video posso caricare contemporaneamente?
Non c\'e un limite rigido su quante richieste API puoi inviare. Tuttavia, ogni piattaforma ha limiti di upload giornalieri (15 per TikTok, 10 per YouTube, ecc.). Il sistema di code gestisce questo automaticamente distribuendo i post su piu giorni.
Posso caricare video da un URL invece che da un file locale?
Si. Invece di passare un file con -F "[email protected]", puoi passare un URL pubblico come parametro video. Upload-Post lo scarichera e lo elaborera per te.
Qual è la dimensione massima del file?
Dipende dalla piattaforma. YouTube accetta fino a 256GB, TikTok fino a 4GB e Instagram fino a 300MB. Consulta la pagina dei requisiti video per tutti i dettagli.