2Slides Logo
Automatizza i Carousel Social con l'API AI di 2Slides (2026)
2Slides Team
17 min read

Automatizza i Carousel Social Media con un'API AI per Slide (2026)

Per automatizzare i carousel social media, tieni i tuoi argomenti in un Google Sheet, database Notion o base Airtable, lascia che Claude o OpenAI trasformino ogni nuova riga in una scaletta di 7 slide più didascalie, e fai in modo che n8n o Make chiamino l'endpoint API 2Slides create-pdf-slides con aspectRatio: "4:5" o "9:16". Interroga jobs/{id}, poi scarica il PDF e i PNG per pagina. Un carousel da 7 pagine in 2K costa 710 crediti, circa $1,42-$1,78, e la ricetta è adatta a team di contenuti che pubblicano diversi carousel a settimana senza un designer coinvolto.

Punti chiave

  • Una chiamata a create-pdf-slides produce un carousel di 7 pagine in PDF più PNG per pagina a 2K per 710 crediti (10 crediti di pianificazione + 100 crediti per pagina).
  • aspectRatio accetta qualsiasi stringa w:h: 4:5 per il feed LinkedIn e Instagram, 9:16 per Stories, Reels e TikTok, 1:1 per post quadrati.
  • create-like-this prende un referenceImageUrl di una slide brand e ne deriva l’intero sistema di design, così ogni carousel di una serie resta coerente.
  • La narrazione vocale aggiunge 210 crediti per pagina, e l’Esportazione Workspace → Genera Video produce un MP4 H.264 1080×1920 per 20 crediti a pagina.
  • Ogni chiave API è limitata a 6 richieste al minuto, quindi batch con più di 6 argomenti necessitano di un nodo Wait e una coda.

A chi è rivolto

Questa ricetta è per content marketer e ingegneri marketing ops che già usano n8n, Make o Zapier, hanno da 30 a 300 idee per carousel in un foglio di calcolo e perdono giorni di tempo designer ogni mese per trasformarle in slide. Va bene anche per agenzie che producono carousel per diversi brand clienti e vogliono che ogni brand mantenga il proprio look.

Non usarlo se ogni carousel richiede screenshot prodotto posizionati a mano o grafici modificati da un designer in Figma. In quel caso l’automazione ti salva al massimo la prima bozza, e un PPTX modificabile da Fast PPT è il punto di partenza migliore.

Il flusso di lavoro a colpo d’occhio

PassoStrumentoCosa succedeEndpoint 2Slides / crediti
1Google Sheets, Notion o AirtableNuova riga con topic, channel (LinkedIn, Instagram, Stories), status = queuedNessuno
2Nodo Claude o OpenAIScrive una scaletta di 7 slide (hook, 5 slide corpo, CTA) più didascalia e hashtag in JSONNessuno
3Nodo HTTP RequestInvia la scaletta con aspectRatio "4:5" o "9:16", page: 7, resolution: "2K", mode: "async"POST /api/v1/slides/create-pdf-slides, 710 crediti per deck 7 pagine
4Nodo Wait + HTTP RequestInterroga ogni 8 secondi finché status è success o failedGET /api/v1/jobs/{id}, gratuito, 10 req/min
5Nodo HTTP RequestScarica il PDF da downloadUrl e lo ZIP PNG per paginaPOST /api/v1/slides/download-slides-pages-voices, gratuito
6OpzionaleAggiunge voce narrante, poi genera un MP4 9:16 nel Workspacegenerate-narration, 210 crediti per pagina; esportazione video 20 crediti per pagina
7Google Drive, SlackCarica asset, posta per revisione, scrive link e status = ready nella rigaNessuno

2Slides espone due modi per creare slide via API. generate (Fast PPT) riempie un template progettato e restituisce un PPTX modificabile in circa 30 secondi. create-pdf-slides (la pipeline Nano Banana con immagini progettate) disegna ogni pagina dal tuo prompt e restituisce un PDF più immagini per pagina.

I carousel necessitano della seconda pipeline per tre motivi. Accetta un aspectRatio personalizzato, cosa che Fast PPT non fa. Restituisce PNG per pagina, che LinkedIn e Instagram usano. E i suoi job possono essere narrati e trasformati in MP4, cosa che i job Fast PPT non possono.

Prima di collegare tutto, prova due o tre prompt a mano sulla pagina prodotto Nano Banana. Espone la stessa casella prompt e controllo numero pagine usati dall’API, così puoi definire il tuo designStyle con un umano in loop e solo dopo automatizzare.

Pagina prodotto 2Slides Nano Banana con casella prompt e controllo numero pagine
Figura 1: Pagina prodotto Nano Banana. Prova il prompt di design e il numero di pagine qui prima di inserirli in un workflow n8n.

Per un confronto equo: la documentazione sviluppatori di Gamma pubblica una ricetta simile Make + Claude, ma le sue chiavi API richiedono un piano Pro, mentre le chiavi 2Slides funzionano su qualsiasi account, anche uno nuovo con 500 crediti gratis. 2Slides è il nostro prodotto, quindi testa entrambi con il tuo brand e budget.

Passo 2: Trasforma ogni riga della lista argomenti in scaletta e didascalie

Il passo LLM è dove avviene la trasformazione lista argomenti → carousel. Chiedi a Claude o OpenAI un JSON strutturato, non prosa, così il nodo successivo lo legge senza regex:

Scrivi carousel LinkedIn e Instagram per {{brand}}. Argomento: {{topic}} Pubblico: {{audience}} Restituisci solo JSON: { "slides": [ { "n": 1, "title": "<hook, max 8 parole>", "body": "<una riga>" }, ... esattamente 7 slide; la slide 7 è la call to action ... ], "caption": "<120-200 parole, senza hashtag>", "hashtags": ["<5-8 tag>"] } Regole: un’idea per slide, niente elenchi puntati dentro una slide, linguaggio semplice.

Poi appiattisci le slide nella stringa userInput che 2Slides si aspetta. Mantieni ogni slide con un titolo e una riga di supporto; 7 slide dense a 4:5 diventano subito strette. Imposta contentDetail: "concise" per lo stesso motivo.

// Nodo Code n8n (o qualsiasi script Node 20): costruisci il payload 2Slides dal JSON LLM const plan = JSON.parse($json.llmOutput); const userInput = plan.slides .map((s) => `Slide ${s.n}: ${s.title}\n${s.body}`) .join("\n\n"); const aspectRatio = $json.channel === "Stories" ? "9:16" : "4:5"; return [{ json: { userInput, aspectRatio, caption: plan.caption, hashtags: plan.hashtags } }];

Salva caption e hashtags nella riga; chi programma il post li deve avere accanto ai PNG.

Passo 3: Configura la chiamata API 2Slides

Crea una chiave API su 2slides.com/api nella scheda API Keys. I nuovi account partono con 500 crediti gratis. Metti la chiave nello store credenziali del tuo tool di automazione e inviala come Authorization: Bearer $SLIDES_API_KEY. Mai inserirla in uno script lato browser o in una cella pubblica di Sheet.

Riferimento API 2Slides con parametri endpoint e lingue output supportate
Figura 2: Il riferimento API elenca tutti i parametri e le oltre 20 lingue di output. Passa un nome lingua come "Spanish" in responseLanguage, non un codice.

La chiamata di invio per un carousel feed LinkedIn è così. designStyle è testo libero; sii specifico su sfondo, colore accento, tipografia e cosa evitare.

curl -X POST https://2slides.com/api/v1/slides/create-pdf-slides \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Slide 1: 5 email onboarding che ogni SaaS dovrebbe inviare\nLa maggior parte delle prove termina entro il giorno 3. Queste cinque lo evitano.\n\nSlide 2: Giorno 0, il benvenuto\nUn solo compito: portarli al primo momento aha.\n\nSlide 3: Giorno 1, la vittoria rapida\nMostra una funzione, un risultato, un bottone.\n\nSlide 4: Giorno 3, la prova sociale\nUna citazione cliente e un numero.\n\nSlide 5: Giorno 5, il controllo ostacoli\nChiedi cosa li ha fermati. Rispondi personalmente.\n\nSlide 6: Giorno 7, la decisione\nRibadisci il valore, poi il prezzo.\n\nSlide 7: Salva questo carousel\nSegui per i template della sequenza completa.", "designStyle": "Carousel editoriale audace per LinkedIn. Sfondo bianco sporco, un accento blu navy profondo, titolo serif sovradimensionato su ogni slide, linea corpo sans-serif piccola, contatore pagina sottile in alto a destra, marchio brand in basso a sinistra. No foto stock, no gradienti.", "aspectRatio": "4:5", "resolution": "2K", "page": 7, "contentDetail": "concise", "imageModel": "gemini-3-pro-image", "responseLanguage": "English", "mode": "async" }'

La risposta è { "jobId": "..." }. Per una versione Stories o TikTok, cambia aspectRatio in "9:16" e chiedi il titolo più in alto in designStyle così l’UI della piattaforma non lo copre. resolution: "2K" è default e costa 100 crediti per pagina come 512px e 1K; 4K raddoppia a 200 crediti per pagina.

In n8n il flusso completo è di otto nodi. La stessa struttura funziona in Make con i moduli HTTP e Sleep (vedi help center Make), e la documentazione n8n copre le credenziali HTTP Request.

  • Trigger: trigger Google Sheets, Notion o Airtable su nuova riga, o Schedule Trigger che legge righe con status = queued
  • Nodo Claude o OpenAI: prompt dal Passo 2, output JSON
  • Nodo Code: costruisce userInput, sceglie aspectRatio dalla colonna channel
  • Nodo HTTP Request: POST /api/v1/slides/create-pdf-slides con mode: "async", salva jobId nella riga
  • Nodo Wait: 8 secondi
  • Nodo HTTP Request: GET /api/v1/jobs/{jobId}; un nodo IF fa il loop al Wait finché status è pending o processing
  • Nodo HTTP Request: scarica PDF da downloadUrl, poi POST /api/v1/slides/download-slides-pages-voices per ZIP PNG
  • Deliver: carica su Google Drive, posta didascalia su Slack, imposta status = ready

Se preferisci gestire il loop in codice, ecco la stessa sequenza come script Node 20 senza dipendenze.

// Node 20+. Esegui server-side; la chiave non lascia mai l’ambiente. import { writeFile } from "node:fs/promises"; const BASE = "https://2slides.com"; const headers = { Authorization: `Bearer ${process.env.SLIDES_API_KEY}`, "Content-Type": "application/json", }; const sleep = (ms) => new Promise((r) => setTimeout(r, ms)); async function submitCarousel(row) { const res = await fetch(`${BASE}/api/v1/slides/create-pdf-slides`, { method: "POST", headers, body: JSON.stringify({ userInput: row.userInput, designStyle: row.designStyle, aspectRatio: row.aspectRatio, // "4:5" o "9:16" resolution: "2K", page: 7, contentDetail: "concise", responseLanguage: "English", mode: "async", }), }); if (!res.ok) throw new Error(`submit failed: ${res.status} ${await res.text()}`); const { jobId } = await res.json(); return jobId; } async function waitForJob(jobId) { for (;;) { const res = await fetch(`${BASE}/api/v1/jobs/${jobId}`, { headers }); const job = await res.json(); if (job.status === "success") return job; if (job.status === "failed") throw new Error(`job ${jobId} failed`); await sleep(8000); // 5-10 s per restare sotto 10 req/min su jobs/{id} } } async function downloadAssets(jobId, job, slug) { const pdf = await fetch(job.downloadUrl); await writeFile(`${slug}.pdf`, Buffer.from(await pdf.arrayBuffer())); const zip = await fetch(`${BASE}/api/v1/slides/download-slides-pages-voices`, { method: "POST", headers, body: JSON.stringify({ jobId }), }); await writeFile(`${slug}-pages.zip`, Buffer.from(await zip.arrayBuffer())); } // le righe arrivano dall’export Sheet/Notion/Airtable dopo il passo LLM for (const row of rows) { const jobId = await submitCarousel(row); const job = await waitForJob(jobId); await downloadAssets(jobId, job, row.slug); await sleep(10_000); // resta sotto 6 submission al minuto per chiave }

Estrai lo ZIP delle pagine e avrai 7 PNG al rapporto 4:5 o 9:16 richiesto. Sono i file da caricare, in ordine, nel post documento LinkedIn o nel post multi-immagine Instagram.

Passo 5: Video narrato 9:16 opzionale per Reels, Stories e TikTok

Lo stesso job che ha prodotto il carousel può essere narrato. generate-narration accetta il jobId da create-pdf-slides o create-like-this e scrive uno script più traccia vocale per ogni pagina. Scegli una delle 30 voci (Zephyr, Puck, Charon, Kore, Aoede, Leda) e mantieni contentMode: "concise" così ogni pagina dura pochi secondi.

curl -X POST https://2slides.com/api/v1/slides/generate-narration \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "jobId": "JOB_ID_FROM_STEP_3", "mode": "single", "speakerName": "Host", "voice": "Kore", "contentMode": "concise", "includeIntro": false }'

La narrazione è solo async, quindi interroga jobs/{id} come prima. Quando finisce, download-slides-pages-voices restituisce uno ZIP con PNG per pagina e WAV per pagina, che un passaggio FFmpeg può unire in un video verticale. Se non vuoi usare FFmpeg, apri il job nel Workspace 2Slides e usa Esporta → Genera Video, che produce un MP4 1080×1920 H.264 nel browser per 20 crediti a pagina.

Per ritmo, hook e tempistiche didascalia nel video verticale, leggi il faceless educational shorts playbook e il post sulle best practice per narrazione e video.

Il testo designStyle ti avvicina a un look brand, ma il testo è ambiguo. Se il tuo team ha una slide che tutti concordano sia giusta, passa la submission a create-like-this e inviala come referenceImageUrl. 2Slides deriva tutto il sistema di design (palette, scala tipografica, griglia layout) dalla referenza, così il carousel 40 corrisponde al 1. Costi e limiti sono identici a create-pdf-slides.

curl -X POST https://2slides.com/api/v1/slides/create-like-this \ -H "Authorization: Bearer $SLIDES_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "userInput": "Slide 1: 5 email onboarding che ogni SaaS dovrebbe inviare ... Slide 7: Salva questo carousel", "referenceImageUrl": "https://assets.yourbrand.com/carousel-style-reference.png", "aspectRatio": "4:5", "resolution": "2K", "page": 7, "contentDetail": "concise", "mode": "async" }'

La referenza deve essere un URL pubblico: il tuo CDN, un bucket S3 o R2 con lettura pubblica, o un link condiviso che si risolve senza login. Tieni una referenza per brand in una colonna del foglio argomenti così il nodo Code la sceglie per riga.

Se non hai ancora una slide brand, la Galleria 2Slides ospita deck reali che puoi usare come ispirazione di design o passare direttamente come referenceImageUrl. Le immagini sotto vengono da due di quei deck Galleria. Non sono output API da questo workflow; sono lo stile sorgente a cui potresti puntare l’API.

Deck di riferimento Eventbrite social study dalla Galleria 2Slides, usato come stile carousel
Figura 3: Copertina del deck Eventbrite social study nella Galleria 2Slides. Tipografia ad alto contrasto e un colore accento si traducono bene in carousel 4:5.

Deck di riferimento Eventbrite social study dalla Galleria 2Slides, usato come stile carousel
Figura 4: Una slide interna dello stesso deck Galleria. Passa una slide contenuto come questa, non solo la copertina, così le pagine corpo ereditano il layout.

Slide di riferimento Adobe Creative Trends 2026 dalla Galleria 2Slides
Figura 5: Una slide dal deck Adobe Creative Trends 2026 nella Galleria, uno stile editoriale più denso adatto a carousel basati su dati.

Scegli una referenza con un titolo chiaro, sfondo semplice e marchio brand visibile. Referenze affollate di foto e grafici producono carousel difficili da leggere su telefono.

Quanto costa

Ogni carousel 7 pagine a 2K costa 10 crediti pianificazione + 7 × 100 = 710 crediti. I crediti costano $0,0025 ciascuno nel pacchetto da $5 (2.000 crediti) e $0,002 nel pacchetto da $80 (40.000 crediti). Download PNG e polling sono gratuiti.

VolumeCrediti al mesePacchetto adattoUSD al meseUSD per carousel
20 carousel, 7 pagine, 2K, senza narrazione14.200$42,50 per 20.000 crediti≈ $30,18≈ $1,51
500 carousel, 7 pagine, 2K, senza narrazione355.0009 × $80 per 40.000 crediti≈ $710 a $0,002 per credito≈ $1,42
Aggiungi narrazione a un carousel 7 pagine+1.470≈ $2,94-$3,68
Aggiungi esportazione video Workspace a un carousel 7 pagine+140≈ $0,28-$0,35

L’abbonamento Pro opzionale include 10.000 crediti al mese ($12,50 al mese in promo, $25 listino), coprendo 14 carousel al mese. I 500 crediti gratis di iscrizione non bastano per un deck completo da 7 pagine, quindi testa prima con un run da 3 pagine (310 crediti). Vedi il batch playbook per team marketing se dimensioni per più brand.

Fast PPT o slide image-designed per questo caso d’uso?

EsigenzaUsaPerché
Output 4:5 o 9:16, PNG per pagina, narrazione, MP4create-pdf-slides o create-like-thisLa pipeline image-designed accetta aspectRatio e può essere narrata; Fast PPT no
PPTX modificabile per webinar o deck sales sullo stesso temagenerate (Fast PPT)10 crediti per pagina, PPTX nativo da 1.500+ template via themes/search
Un look brand bloccato su centinaia di carouselcreate-like-this con referenceImageUrlDeriva il sistema di design da un’immagine invece di interpretare testo
Bozza interna veloce prima della revisione designcreate-pdf-slides a resolution: "512px"Stessi 100 crediti per pagina di 2K; rigenera a 2K una volta approvato

Errori comuni

  • Inviare 30 righe insieme e ricevere 429. Ogni chiave è limitata a 6 richieste al minuto sugli endpoint generazione e 10 al minuto su jobs/{id}. Metti un nodo Wait tra le submission e interroga non più spesso di ogni 5 secondi.
  • Conservare la chiave API nel Sheet o in uno script client-side. La chiave consuma i tuoi crediti. Tienila nelle credenziali n8n o Make o in una variabile ambiente server, e ruotala se mai arriva in un browser.
  • Provare a narrare un job Fast PPT. generate-narration rifiuta job da generate. Solo job create-pdf-slides e create-like-this possono essere narrati o esportati in MP4.
  • Passare page: 0 aspettandosi 7 slide. page: 0 significa auto-detect dal contenuto, che può restituire 4 o 12 pagine. Imposta page: 7 esplicitamente così costi e layout sono prevedibili.
  • Inviare un codice lingua. responseLanguage prende un nome lingua come "Spanish" o "Simplified Chinese", non "es" o "zh-CN".
  • Dare come userInput un articolo da 2.000 parole. Il modello immagine cercherà di adattarlo. Fai ridurre il passo LLM a 7 titoli con una riga ciascuno prima di inviare.

Domande Frequenti

Posso automatizzare i carousel social media senza un designer?

Sì, per la prima bozza e per la maggior parte dei formati ricorrenti. Un LLM scrive la scaletta di 7 slide, create-pdf-slides disegna le slide nel tuo designStyle o da un referenceImageUrl, e n8n consegna i PNG a un canale di revisione. Una persona approva ancora ogni carousel prima della pubblicazione, ma il lavoro di design e layout è fatto quando lo vede.

Quale rapporto d’aspetto usare per carousel LinkedIn vs Instagram?

Usa aspectRatio: "4:5" per il feed LinkedIn e il carousel feed Instagram, perché entrambi mostrano card verticali a quel rapporto. Usa "9:16" per Instagram Stories, copertine Reels e slideshow TikTok. "1:1" funziona se ti serve un set quadrato per ogni piattaforma. Il parametro accetta qualsiasi stringa w:h, così puoi aggiungere rapporti dopo senza cambiare il workflow.

Quanto costa una chiamata API AI carousel per carousel?

Un carousel 7 pagine a risoluzione 2K costa 710 crediti: 10 crediti pianificazione più 100 crediti per pagina. Circa $1,78 nel pacchetto da $5 e $1,42 nel pacchetto da $80. Polling e download PNG sono gratuiti. La narrazione aggiunge 210 crediti per pagina, e il rendering video nel Workspace 20 crediti per pagina.

Il workflow può produrre una versione video narrata del carousel?

Sì. Chiama generate-narration con il jobId del carousel, scegli una delle 30 voci e interroga finché ha successo. Poi scarica lo ZIP PNG e WAV da download-slides-pages-voices e uniscili con FFmpeg, oppure apri il job nel Workspace 2Slides e usa Esporta → Genera Video per un MP4 1080×1920. La narrazione funziona solo su job create-pdf-slides e create-like-this.

L’automazione carousel Instagram funziona con Make o Zapier invece di n8n?

Sì. Ogni passo è una chiamata HTTPS semplice con token Bearer, quindi il modulo HTTP di Make e l’azione Webhooks di Zapier possono inviare, interrogare e scaricare allo stesso modo. L’unico requisito è un loop che aspetta 5-10 secondi tra i controlli jobs/{id}. n8n e Make lo gestiscono nativamente; in Zapier potresti preferire un Delay step e un secondo Zap per il polling.

Prossimi passi

About 2Slides

Create stunning AI-powered presentations in seconds. Transform your ideas into professional slides with 2slides AI Agent.

Try For Free