Hai un’immagine fissa approvata, vuoi qualche secondo di video che inizi da quella e devi sapere a quale API inviarla. SpicyAPI offre quattro famiglie da immagine a video senza censura, adatte ai contenuti per adulti: Wan 2.7 Spicy, Seedance 2.5 Spicy, MiniMax H3 Spicy e Vidu Q3 Spicy. Tutte e quattro animano un’immagine iniziale. Nessuna offre la generazione da testo a video o un ingresso separato per un insieme di immagini di riferimento del soggetto o della scena.
In breve. Parti da Wan o Seedance se la priorità è conservare abiti e ambientazione. I nostri test di settembre e ottobre 2026 mostrano anche differenze nette di costo e controllo creativo:
- Il modo più economico per provare un’immagine e un’idea di movimento: MiniMax H3 Spicy. Cinque secondi a 480p costano $0.19 e, come Seedance e Vidu, richiede solo l’immagine, senza prompt.
- Audio nel file o una tua traccia: Wan 2.7 Spicy. Cinque secondi a 720p costano $0.6175. È l’unico che accetta un file audio e un prompt negativo.
- Un clip più lungo di 16 secondi o un file 4K: Seedance 2.5 Spicy, fino a 30 secondi. Cinque secondi a 480p costano $1.08; il suo 4K è un rendering 1080p ingrandito.
- Loop di un secondo o un controllo sull’ampiezza del movimento: Vidu Q3 Spicy. Cinque secondi a 540p costano $0.3325.
Il nostro confronto del ritratto sulle quattro famiglie è costato $2.22. Wan e Seedance sono rimasti più vicini alla richiesta; H3 e Vidu hanno cambiato gli abiti senza che fosse richiesto.
Le quattro a confronto
I prezzi sono per secondo di output in dollari USA; gli importi per 5 secondi sono preventivi per una richiesta con solo image_url, duration_seconds e resolution impostati, più un prompt di una riga per Wan 2.7 Spicy, che lo richiede.
| Wan 2.7 Spicy | Seedance 2.5 Spicy | MiniMax H3 Spicy | Vidu Q3 Spicy | |
|---|---|---|---|---|
| ID modello | alibaba/wan-2.7-spicy/image-to-video | bytedance/seedance-2.5-spicy/image-to-video | minimax/h3-spicy/image-to-video | vidu/q3-spicy/image-to-video |
| Campi obbligatori | image_url, prompt | image_url | image_url | image_url |
| Durata del clip | 2 a 15 s | 4 a 30 s | 3 a 15 s | 1 a 16 s |
| Risoluzioni | 720p, 1080p | 480p, 720p, 1080p, 4K | 480p, 540p, 768p, 1080p | 540p, 720p, 1080p |
| Risoluzione predefinita | 720p | 720p | 480p | 720p |
Fotogramma finale (last_image_url) | No | Sì | Sì | No |
| Audio nel file | Generato o la tua traccia (audio_url) | Generato (generate_audio) | Il clip può includere audio generato; nessun interruttore né ingresso per la tua traccia | Generato (generate_audio), con un interruttore musicale separato (bgm) |
| Prompt negativo | Sì | No | No | No |
| Seed | Sì | Sì | Sì | No |
| Altro controllo | enable_prompt_expansion (attivo per default) | nessuno | nessuno | movement_amplitude: auto, small, medium, large |
| Attesa tipica (mediana di lavori reali recenti) | 2.0 min | 5.0 min | 89 s | 2.1 min |
| Prezzo al secondo | $0.1235 (720p), $0.19 (1080p) | $0.216 (480p), $0.432 (720p), $1.08 (1080p), $2.16 (4K) | $0.038 (480p), $0.057 (540p), $0.084 (768p), $0.152 (1080p) | $0.0665 (540p), $0.1425 (720p), $0.152 (1080p) |
| 5 s, livello più economico | $0.6175 (720p) | $1.08 (480p) | $0.19 (480p) | $0.3325 (540p) |
| 5 s a circa 720p | $0.6175 | $2.16 | $0.42 (768p) | $0.7125 |
Nessuna delle quattro ha un campo aspect_ratio. Ritaglia l’immagine nel formato desiderato prima di inviarla. Le attese sono mediane di lavori recenti. Variano anche i controlli sugli input che falliscono prima dell’addebito: Seedance richiede tra 300 e 6 000 pixel per lato; Wan tra 240 e 8 000, un rapporto tra 1:8 e 8:1 e, per audio_url, un WAV o MP3 da 2 a 30 secondi; Vidu richiede un rapporto tra 1:4 e 4:1. Il flusso di caricamento limita le immagini a 10 MiB.
Quale modello per quale lavoro

Molte immagini e bozze economiche: MiniMax H3 Spicy. A $0.114 per tre secondi puoi produrre una dozzina di varianti di un’immagine e renderizzare di nuovo quella scelta. Accetta un fotogramma finale. Non ha un interruttore audio né un prompt negativo; la risoluzione nativa è 768p, quindi 1080p ingrandisce la stessa immagine. Limita il prompt al movimento: descrivere una scena non presente nell’immagine può far allontanare il clip dall’originale.
Audio legato al clip: Wan 2.7 Spicy o Seedance 2.5 Spicy. Wan genera audio per impostazione predefinita e costruisce il clip sulla tua traccia se passi audio_url: è la via per la sincronizzazione labiale o un attacco musicale che deve cadere su un fotogramma. Lascia generate_audio attivo o la traccia viene ignorata. Seedance genera audio senza costi aggiuntivi. H3 Spicy può restituire audio generato, ma non ha un controllo per disattivarlo né un ingresso per la tua traccia: silenzialo in montaggio quando serve. Vidu offre audio generato e un interruttore separato per la musica di sottofondo. Wan è anche la scelta per escludere qualcosa: il suo prompt negativo accetta fino a 500 caratteri.
Guidare il finale con un’immagine: Seedance 2.5 Spicy o MiniMax H3 Spicy. Solo questi due accettano un’immagine finale desiderata insieme a quella iniziale; verifica il finale consegnato prima di usarlo come inquadratura successiva. Con Wan o Vidu, concatena i clip usando l’ultimo fotogramma come nuova immagine: la guida ai video più lunghi illustra il metodo.
Una ripresa oltre 16 secondi: Seedance 2.5 Spicy. Arriva a 30 secondi ed è il più caro e lento: 30 secondi a 720p costano $12.96 e un clip richiede normalmente circa cinque minuti. Le note di Wan segnalano variazioni in mani e tessuti oltre dieci secondi: una ripresa lunga non è automaticamente buona.
Loop brevissimi o controllo sull’ampiezza del movimento: Vidu Q3 Spicy. Parte da un secondo ($0.0665 a 540p). movement_amplitude richiede movimento piccolo, medio o ampio; l’impostazione predefinita auto interpreta l’immagine. Non ha seed: due richieste identiche restituiscono riprese diverse. Non ha neppure un fotogramma finale.
Le formulazioni su Seedance 2.5 Spicy. Il suo livello interno rifiuta una gamma ristretta di formulazioni, soprattutto i baci, mentre un sussurro all’orecchio o fronti che si toccano passano. Metti quel momento nell’immagine, non nella frase.
Un seed fisso (Wan, Seedance, H3 Spicy) aiuta a confrontare le tue modifiche nella stessa famiglia; non promette fotogrammi identici, e lo stesso numero su due famiglie non indica la stessa condizione. Ogni endpoint rifiuta campi non elencati: costruisci ogni richiesta dalla colonna di quella famiglia.
Gamma dei contenuti
Tutti e quattro hanno coperto la nostra scala di cinque livelli, da L1 Allusivo a L4 Intenso ed entrambe le categorie L5 Estremo, con rare eccezioni: Seedance 2.5 Spicy ha una volta tenuto fuori campo il contenuto richiesto, H3 Spicy ha una volta suggerito una scena e Vidu Q3 Spicy ha una volta attenuato un clip. La gamma dei contenuti non li distingue. Risultati per modello: Wan 2.7 Spicy, Seedance 2.5 Spicy, MiniMax H3 Spicy, Vidu Q3 Spicy.
A volte mostrano più di quanto chiesto nel prompt; la classifica di otto modelli lo ha rilevato in varie versioni Spicy. Controlla ogni clip prima della consegna. Un clip attenuato viene addebitato come qualsiasi altro. «Senza censura» significa che non viene aggiunto un filtro ai contenuti, non che diritti e consenso sull’immagine originale smettano di contare: usa adulti, soggetti consenzienti e immagini con diritti autorizzati.
Lo stesso ritratto su quattro famiglie
Abbiamo usato un ritratto in un bar e chiesto un lento avvicinamento della camera, una lieve rotazione della testa e un piccolo sorriso, senza cambiare lo sfondo. Ogni famiglia ha prodotto una ripresa di cinque secondi alla risoluzione minima; su Wan l’espansione del prompt era attiva.
| Famiglia | Risultato della ripresa del ritratto | Scelta per questo tipo di richiesta |
|---|---|---|
| Wan 2.7 Spicy | Ha mantenuto maglione e bar, terminando con un piccolo sorriso in primo piano | Un punto di partenza utile per un ritratto misurato, soprattutto con il tuo audio |
| Seedance 2.5 Spicy | Ha mantenuto abiti, bar e movimento misurato | Da considerare quando lo stile originale conta più del prezzo minimo |
| MiniMax H3 Spicy | Ha cambiato gli abiti senza richiesta; l’output aveva anche una traccia audio | Le bozze economiche possono essere inadatte se la continuità degli abiti è essenziale |
| Vidu Q3 Spicy | Ha aggiunto un movimento in avanti più ampio, cambiando inquadratura e abiti | Il prezzo basso non ha compensato lo scostamento dalla richiesta |
Per un ritratto vestito come questo, parti da Wan o Seedance. Esplicita i requisiti di abiti e movimento quando prepari un’inquadratura simile.
Un primo test per circa $2.20
Scegli un’immagine che sei autorizzato a usare. Preparala come il fotogramma che consegnerai davvero: già ritagliata nel formato finale, con il soggetto distante dai bordi. Un’immagine poco nitida produce un clip poco nitido. Elimina anche il movimento implicito: mosso, polvere, una posa a metà passo o scie direzionali spingono verso un movimento che il prompt può contraddire.
Scrivi un prompt con un’azione del soggetto, un’indicazione di camera e un finale, per esempio: "She turns her head toward the window, the curtain lifts once, slow push-in, then hold." Descrivi solo ciò che cambia. Wan richiede un prompt, quindi usa lo stesso per tutti e quattro, con questi controlli:
| Controllo | Impostazione per un primo giro equo |
|---|---|
| Durata | 5 secondi su tutti e quattro |
| Risoluzione | Livello minimo: Wan 720p, Seedance 480p, H3 Spicy 480p, Vidu 540p; impostalo tu, perché Seedance usa 720p per default ($2.16 per cinque secondi) |
| Audio | Disattivato per valutare prima l’immagine: generate_audio false su Wan, Seedance e Vidu, più bgm false su Vidu. H3 Spicy non ha interruttore: ignora la traccia nel giudicare l’immagine. Prova il suono separatamente |
| Espansione del prompt | enable_prompt_expansion disattivato su Wan |
| Seed | Fisso dove disponibile |
| Fotogramma finale | Non usato; provalo separatamente su Seedance e H3 Spicy |
Le quattro prove al livello minimo costano $0.19 + $0.3325 + $0.6175 + $1.08 = $2.22. A circa 720p ciascuna (H3 Spicy a 768p), il totale è $3.91.
Dai un punteggio a ogni clip
Controlla il primo fotogramma, quello centrale e l’ultimo alla dimensione di pubblicazione. Assegna a ciascuno un punteggio da 0 a 5:
| Criterio | Cosa significa 0 | Cosa significa 3 | Cosa significa 5 |
|---|---|---|---|
| Fedeltà iniziale | Il soggetto o la disposizione si perde | Il soggetto principale resta, ma il ritaglio va migliorato | La composizione regge il ritaglio finale |
| Leggibilità del movimento | Non si capisce cosa doveva succedere | L’azione si legge, ma il ritmo è irregolare | Un’azione si legge chiaramente alla dimensione finale |
| Stabilità temporale | Mani, bordi, tessuti o testo si deformano | Piccola instabilità a un esame ravvicinato | I dettagli ripetuti restano coerenti per il tuo uso |
| Rispetto della richiesta | Camera o finale differiscono sensibilmente | La maggior parte dei requisiti verificabili è rispettata | Azione, camera e finale corrispondono al prompt |
Controlla anche che il clip resti sulla tua immagine e non mostri più di quanto chiesto. Decidi per ogni prova: tenere, scartare o riprovare con un’unica modifica specificata.
Cosa cambiare quando un clip non funziona
| Cosa osservi | Cambia una di queste cose |
|---|---|
| Il clip taglia verso un’altra stanza o scena | Riscrivi il prompt per descrivere solo movimento nell’immagine. Vale anche la pena provare una durata maggiore |
| Un’istruzione «non fare» ha congelato l’azione | Indica invece l’inquadratura voluta ("held tight on the face the whole time"). Su Seedance 2.5 Spicy, un prompt pieno di divieti può cambiare scena e poi muoversi appena |
| Il soggetto cambia o mani e tessuti si deformano | Riduci il prompt a un’azione, accorcia il clip e renderizza di nuovo l’immagine al livello minimo prima di pagare per uno superiore |
| Il movimento contrasta con l’immagine | Cerca il movimento implicito nell’immagine ed eliminalo, oppure cambia ciò che chiedi nel prompt |
| Il clip mostra più di quanto scritto | Restringi il prompt e controlla prima di pubblicare |
| Il formato è sbagliato | Ritaglia l’immagine e riprova |
| Una famiglia vince per l’immagine ma manca un requisito obbligatorio | Fissa il requisito (finale, audio, durata, prezzo) e scegli tra le famiglie che lo soddisfano |
Quando un clip funziona, passa la stessa immagine e lo stesso prompt al livello successivo, uno alla volta. Su H3 Spicy, 1080p ingrandisce soltanto 768p.
Prova il Playground, poi collega l’API
- Apri H3 Spicy da immagine a video, resta nella scheda Playground e aggiungi l’immagine approvata in Input image.
- Scrivi una richiesta di movimento in Prompt, imposta Duration su 5 e Resolution su 480p, poi premi Run model. Per confrontare le famiglie, usa la stessa richiesta e durata nelle altre tre pagine dei modelli.
- Scegli il risultato che conserva i requisiti dell’inquadratura, quindi collega quel modello alla tua app.
Imposta SPICY_API_KEY nell’ambiente e SPICY_IMAGE_URI sull’URL HTTPS pubblico dell’immagine iniziale, oppure su una URI spicy:// ottenuta con spicyapi files upload <path> per un file locale (documentazione dei media). Questo esempio Python 3 invia una nuova inquadratura dopo la tua conferma del prezzo.
import json
import os
import urllib.request
import uuid
base = "https://api.spicyapi.ai/api/v1"
headers = {"Authorization": "Bearer " + os.environ["SPICY_API_KEY"],
"Content-Type": "application/json", "User-Agent": "SpicyAPI-Blog/1.0"}
settings = {
"image_url": os.environ["SPICY_IMAGE_URI"],
"prompt": "A slow camera push toward the subject. Keep the setting and clothing unchanged. One continuous shot.",
"duration_seconds": 5,
"resolution": "480p",
}
payload = {"model": "minimax/h3-spicy/image-to-video", "input": settings}
def post(path, body):
request = urllib.request.Request(base + path, json.dumps(body).encode(), headers)
with urllib.request.urlopen(request, timeout=60) as response:
result = json.load(response)
if result.get("code") != 200:
raise RuntimeError(result)
return result["data"]
quote = post("/jobs/quote", payload)
if input(f"Maximum charge ${quote['maxCharge']}. Type yes to generate: ") != "yes":
raise SystemExit("Stopped before generation")
headers["Idempotency-Key"] = str(uuid.uuid4())
print("Request key:", headers["Idempotency-Key"], flush=True)
task = post("/jobs/createTask", {**payload, "quoteId": quote["quoteId"],
"expectedCost": quote["estimatedCost"]})
print("Task ID:", task["taskId"])Conserva la chiave di richiesta stampata per recuperare quella stessa richiesta; una nuova inquadratura riceve una nuova chiave. Il link del risultato dura circa 20 minuti e i file generati vengono conservati al massimo per circa 14 giorni: copia il video nel tuo archivio (guida alla conservazione). La documentazione dell’API delle attività spiega consegna e recupero dei risultati.
Per inquadrature ripetute, lascia che un Agent usi un file di input approvato: CLI spicyapi tasks create --model minimax/h3-spicy/image-to-video --input-file input.json --wait; MCP chiedigli di chiamare spicyapi_task_create con quel modello e quell’input; Skill chiedi “Use the spicyapi Skill to generate this approved shot and return the result.” CLI e MCP mostrano il prezzo prima della creazione. Consulta la documentazione di integrazione Agent.
Da quale iniziare
Traccia audio tua: Wan. Fotogramma finale: H3 Spicy, oppure Seedance se l’inquadratura deve superare 15 secondi. Oltre 16 secondi: Seedance. Loop di un secondo o controllo sul movimento: Vidu. Per conservare gli abiti con movimento misurato, parti da Wan o Seedance; se entrambi soddisfano la richiesta, confrontali alla risoluzione di consegna. Senza un requisito fisso, esegui il test da $2.22 su un’immagine e, se due famiglie vanno bene, parti dalla più economica alla risoluzione finale.
Domande frequenti
Qual è il miglior generatore IA da immagine a video senza censura?
Per un movimento misurato nei ritratti, parti da Wan o Seedance. H3 Spicy è più economico, ma nella nostra ripresa ha cambiato gli abiti; Vidu è adatto ai loop molto brevi quando la sua interpretazione del movimento rispetta la richiesta.
Serve un modello video per un’immagine fissa con voce fuori campo?
No. Se l’immagine resta invariata durante l’audio, uniscili in un editor video o FFmpeg. Queste quattro API generano movimento: pagare quel passaggio non aggiunge valore a un video statico con voce fuori campo.
Posso inviare un URL pubblico di un’immagine?
Sì, se il link HTTPS restituisce direttamente il file immagine. Una pagina di condivisione cloud o social fallisce con invalid_asset; per i file locali, carica prima con spicyapi files upload <path>.
Posso inviare lo stesso corpo della richiesta a ogni famiglia?
No. Wan richiede un prompt, le altre no; audio_url esiste solo su Wan, movement_amplitude solo su Vidu e last_image_url solo su Seedance e H3 Spicy.
Pago per un clip che arriva attenuato?
Sì, viene addebitato come qualsiasi altro: controlla l’output, non solo lo stato dell’attività. Un’attività rifiutata o fallita confermata dal servizio libera l’importo riservato senza addebito per la generazione. Controlla settled e cost per confermare il saldo finale; un clip completato ma attenuato è un caso diverso.









