Vai al contenuto

Se arrivi da fal, Replicateo WaveSpeed

Spostare le chiamate a Seedance 2.0 e Qwen-Image su /v1: autenticazione, id dei modelli, ogni campo, lavori asincroni e webhook, e cosa non si trasferisce.

Verifica della loro documentazione2026-10-22OpenAPIllms.txt

Non basta cambiare l'URL di base

Cambiare l'URL di base e la chiave non basta su nessuna delle tre. Ogni richiesta cambia anche in questi punti:

  • La chiave: Authorization: Bearer con una chiave che inizia con sk_test_ o sk_live_.
  • L'id del modello va nel corpo come model, e un solo id copre testo, primo fotogramma e riferimenti.
  • Un header Idempotency-Key in ogni richiesta di generazione.
  • Un tetto di prezzo: max_credits, oppure un quote_id da POST /v1/quotes.
  • Il risultato è un lavoro: interroga GET /v1/jobs/{id} o ricevi il nostro webhook firmato.
fal
La più simile alla nostra API: la maggior parte dei nomi dei campi di Seedance sono quelli di fal. Rinomina anche image_urls in reference_image_urls, invia duration come numero e sposta fal_webhook nel corpo come webhook_url.
Replicate
Togli i campi da input. Rinomina anche image in image_url, reference_images in reference_image_urls e webhook in webhook_url.
WaveSpeed
Rinomina anche image in image_url e reference_images in reference_image_urls, e sposta standard_webhook nel corpo come webhook_url. Leggi i risultati da GET /v1/jobs/{id}.

Autenticazione

Dove vanno le richieste e come vengono firmate.

PiattaformaURL di baseHeader di autenticazione
Pershothttps://api.pershot.app/v1Authorization: Bearer $API_KEY
falhttps://queue.fal.runAuthorization: Key $FAL_KEY
Replicatehttps://api.replicate.com/v1Authorization: Bearer $REPLICATE_API_TOKEN
WaveSpeedhttps://api.wavespeed.ai/api/v3Authorization: Bearer $WAVESPEED_API_KEY

L'accesso all'API per sviluppatori è su richiesta: chiedilo nello studio, in Chiavi API. La chiave viene mostrata una sola volta. Una chiave sviluppatore spende il saldo API sviluppatori, e la stessa chiave funziona come header Bearer sul server MCP.

Id dei modelli

I loro vanno nell'URL; il nostro va nel corpo come model. Un nostro id copre testo, primo fotogramma e riferimenti: decidono i campi che invii.

Id dei modelli su ogni piattaforma
NoifalReplicateWaveSpeedNote
seedance-2.0-fastbytedance/seedance-2.0/fast/text-to-videobytedance/seedance-2.0/fast/image-to-videobytedance/seedance-2.0/fast/reference-to-videobytedance/seedance-2.0-fastbytedance/seedance-2.0-fast/text-to-videobytedance/seedance-2.0-fast/image-to-videoUn solo id per testo, primo fotogramma e immagini di riferimento.
seedance-2.0-minibytedance/seedance-2.0/mini/text-to-videobytedance/seedance-2.0/mini/image-to-videobytedance/seedance-2.0/mini/reference-to-videobytedance/seedance-2.0-minibytedance/seedance-2.0-mini/text-to-videoUn solo id per testo, primo fotogramma e immagini di riferimento.
qwen-image-2512fal-ai/qwen-image-2512qwen/qwen-image-2512wavespeed-ai/qwen-image/text-to-image-2512Gli stessi pesi aperti.
qwen-image-2512-lightningfal-ai/qwen-image-2512/loranessunonessunoIl nostro livello Lightning a 4 passaggi. fal lo esegue come LoRA sul suo endpoint /lora; non abbiamo trovato un modello Lightning pronto all'uso su Replicate o WaveSpeed.
qwen-image-edit-2511fal-ai/qwen-image-edit-2511qwen/qwen-image-edit-2511wavespeed-ai/qwen-image/edit-2511Gli stessi pesi aperti.
qwen-image-edit-2511-lightningfal-ai/qwen-image-edit-2511/loranessunonessunoIl nostro livello Lightning a 4 passaggi. fal lo esegue come LoRA sul suo endpoint /lora; non abbiamo trovato un modello Lightning pronto all'uso su Replicate o WaveSpeed.
Per gli agenti IA
Testo semplice per gli agenti IA: input, valori ammessi, ogni prezzo e un esempio di richiestaseedance-2.0-fastseedance-2.0-miniqwen-image-2512-lightningqwen-image-2512qwen-image-edit-2511-lightningqwen-image-edit-2511

Seedance 2.0, campo per campo

I nostri nomi seguono quelli di fal quando fal ha il campo, e le note indicano dove differiscono. I campi stanno al primo livello del corpo JSON; Replicate li racchiude in input.

Campi della richiesta di Seedance 2.0 su ogni piattaforma
NoifalReplicateWaveSpeedNote
modelnell'URLnell'URLnell'URLUn solo id nel corpo per testo, primo fotogramma e riferimenti. Il loro è nell'URL.
promptpromptpromptpromptLo stesso testo si riusa così com'è.
durationdurationdurationdurationUn numero intero, da 4 a 15, predefinito 5. fal invia una stringa e offre auto; Replicate usa -1 per la durata automatica. Qui non c'è durata automatica.
resolutionresolutionresolutionresolution480p o 720p, predefinito 720p. WaveSpeed elenca anche 1080p e 4k; qui le risoluzioni più alte sono il passaggio separato enhance.
aspect_ratioaspect_ratioaspect_ratioaspect_ratio16:9, 9:16 o 1:1, predefinito 16:9. Niente auto, adaptive, 4:3, 3:4 o 21:9.
generate_audiogenerate_audiogenerate_audiogenerate_audioStesso significato, attivo per impostazione predefinita. Il prezzo è lo stesso, attivo o disattivato.
image_urlimage_urlimageimageIl primo fotogramma. Stesso nome di fal; Replicate e WaveSpeed lo chiamano image. Non insieme alle immagini di riferimento.
reference_image_urlsimage_urlsreference_imagesreference_imagesFino a 9 immagini, richiamate nel prompt come @image1, @image2. Diverso da fal, che lo chiama image_urls.
seednessunoseednessunoAccettato e non usato: Seedance 2.0 non accetta un seed. fal e WaveSpeed non lo prevedono.
quote_idnessunonessunonessunoNuovo: invia esattamente uno tra quote_id e max_credits. Un lavoro non costa mai di più.
max_creditsnessunonessunonessunoNuovo: invia esattamente uno tra quote_id e max_credits. Un lavoro non costa mai di più.
webhook_urlfal_webhookstringa di querywebhookstandard_webhookstringa di queryNel corpo. Diverso da fal, che accetta fal_webhook nella stringa di query.
end_user_idend_user_idnessunonessunoLo stesso nome di fal. Per gli account sviluppatore approvati (accesso su richiesta): il tuo ID utente, mostrato nell'utilizzo.
project_idnessunonessunonessunoSolo da noi, facoltativo: progetti e instradamento verso i fornitori.
shot_idnessunonessunonessunoSolo da noi, facoltativo: progetti e instradamento verso i fornitori.
routing_preferencenessunonessunonessunoSolo da noi, facoltativo: progetti e instradamento verso i fornitori.
enhancenessunonessunonessunoSolo da noi, facoltativo: un aumento di risoluzione con l'IA dopo il rendering, etichettato AI Enhanced.
Idempotency-KeyheadernessunonessunonessunoNuovo e obbligatorio: la stessa chiave entro 24 ore restituisce lo stesso lavoro.

I loro campi di Seedance senza un corrispettivo qui. Se li invii così come sono, vengono rifiutati come campi sconosciuti (400 invalid_request).

fal
end_image_urlvideo_urlsaudio_urlsbitrate_modecodec
Replicate
last_frame_imagereference_videosreference_audios
WaveSpeed
last_imagereference_videosreference_audiosenable_web_search

Qwen-Image, campo per campo

Il nostro corpo per le immagini è più ridotto del loro: dimensione e proporzioni invece di pixel liberi, un'immagine per lavoro e nessuna impostazione del sampler.

Campi della richiesta di Qwen-Image su ogni piattaforma
NoifalReplicateWaveSpeedNote
modelnell'URLnell'URLnell'URLQuattro id nel corpo: Image Mini e Image Fast, ognuno per generazione e modifica.
promptpromptpromptpromptLo stesso testo si riusa così com'è.
sizeimage_sizenessunosize1K o 2K, predefinito 1K. Insieme alle proporzioni stabilisce una dimensione fissa, al massimo 2048 px per lato. Niente larghezza e altezza libere.
aspect_ratioimage_sizeaspect_ratiosize16:9, 9:16 o 1:1, predefinito 1:1. Non cambia il prezzo.
image_urlimage_urlsimageimagesSolo modelli di modifica: esattamente un'immagine di partenza, come URL. I loro accettano un elenco.
seedseedseedseedStesso significato.
quote_idnessunonessunonessunoNuovo: invia esattamente uno tra quote_id e max_credits. Un lavoro non costa mai di più.
max_creditsnessunonessunonessunoNuovo: invia esattamente uno tra quote_id e max_credits. Un lavoro non costa mai di più.
webhook_urlfal_webhookstringa di querywebhookstandard_webhookstringa di queryNel corpo. Diverso da fal, che accetta fal_webhook nella stringa di query.
end_user_idnessunonessunonessunoSolo da noi, facoltativo, per gli account sviluppatore approvati (accesso su richiesta): il tuo ID utente, mostrato nell'utilizzo.
project_idnessunonessunonessunoSolo da noi, facoltativo: progetti e instradamento verso i fornitori.
shot_idnessunonessunonessunoSolo da noi, facoltativo: progetti e instradamento verso i fornitori.
routing_preferencenessunonessunonessunoSolo da noi, facoltativo: progetti e instradamento verso i fornitori.
Idempotency-KeyheadernessunonessunonessunoNuovo e obbligatorio: la stessa chiave entro 24 ore restituisce lo stesso lavoro.

I loro campi di Qwen-Image senza un corrispettivo qui. Se li invii così come sono, vengono rifiutati come campi sconosciuti (400 invalid_request).

fal
negative_promptnum_inference_stepsguidance_scalenum_imagesoutput_formataccelerationenable_safety_checkersync_modeloras
Replicate
negative_promptstrengthwidthheightguidancenum_inference_stepsgo_fastoutput_formatoutput_qualitydisable_safety_checkerlora_weightslora_scale
WaveSpeed
widthheightoutput_formatenable_base64_outputenable_sync_mode

Lavori asincroni e webhook

Tutte e quattro eseguono i lavori in background. Come ognuna chiama i passaggi:

Lavori e webhook su ogni piattaforma
PassaggioPershotfalReplicateWaveSpeed
CreazionePOST /v1/videos/generationsPOST /v1/images/generations202 → { id: "job_…" }POST https://queue.fal.run/<endpoint id>→ request_id, status_url, response_urlPOST /v1/models/{owner}/{name}/predictions{ "input": { … } }POST /api/v3/<model id>→ data.id
InterrogazioneGET /v1/jobs/{id}GET status_urlGET response_urlGET /v1/predictions/{id}GET /api/v3/predictions/{id}/result
StatiqueuedprocessingsucceededfailedcancelledunknownIN_QUEUEIN_PROGRESSCOMPLETEDstartingprocessingsucceededfailedcanceledcreatedcompletedfailedcancelledtimeoutdeleted
Webhookwebhook_url (body)?fal_webhook=…webhook (body)webhook_events_filter?standard_webhook=…?webhook=… (legacy)
FirmaX-Signature: t=…,v1=…HMAC-SHA256, whsec_…X-Event-IdX-Fal-Webhook-SignatureED25519, JWKSwebhook-idwebhook-timestampwebhook-signaturewebhook-idwebhook-timestampwebhook-signature
Nuovi tentativi di consegnaDopo 1 min, 5 min, 30 min, 2 h e 6 h. Una risposta 2xx entro 10 secondi vale come consegnata.Fino a 31 nuovi tentativi, finché il risultato salvato non scade.Può ritentare: gestisci i duplicati.Fino a 3 nuovi tentativi.
File dei risultatiLink firmati validi per 24 ore; richiedi di nuovo il lavoro per averne uno nuovo. I file vengono conservati per 12 mesi.Seguono le tue impostazioni di scadenza dei media.Rimossi dopo un'ora per le previsioni create tramite l'API.Conservati fino a 7 giorni.
Attesa in una sola chiamataNessuna: ogni lavoro è asincrono. Via MCP, wait_for_job attende fino a 60 secondi.POST https://fal.run/<endpoint id>Prefer: wait=nenable_sync_mode

Il corpo del nostro webhook è il lavoro stesso, e la firma è la nostra: il codice che verifica i loro webhook rifiuterà i nostri. Come verificare i nostri

Idempotenza

Ogni richiesta di generazione richiede un header Idempotency-Key, da 1 a 255 caratteri ASCII visibili. La stessa chiave entro 24 ore restituisce lo stesso lavoro con HTTP 200, quindi un nuovo tentativo dopo un timeout non crea né addebita mai un secondo lavoro.

Nessuna delle tre documenta una chiave di idempotenza per creare un lavoro (2026-10-22): fal suggerisce di eliminare i webhook duplicati in base a request_id, e WaveSpeed chiede di inviare una sola volta e di cercare il task prima di reinviarlo. Dai a ogni lavoro una chiave e riusala a ogni nuovo tentativo.

Cosa non è compatibile

Se li invii così come sono, questi elementi non funzionano o vengono rifiutati qui:

  • Le loro librerie client (fal_client, replicate, wavespeed) non chiamano /v1. Usa HTTP semplice, il documento OpenAPI o il server MCP.
  • Le loro strutture di risposta: qui un lavoro è un Job con outputs[].url, non un risultato di fal, una previsione di Replicate o un wrapper data di WaveSpeed.
  • Ultimi fotogrammi: fal end_image_url, Replicate last_frame_image, WaveSpeed last_image.
  • Video e audio di riferimento: fal video_urls e audio_urls, Replicate e WaveSpeed reference_videos e reference_audios.
  • Durata o proporzioni automatiche, le proporzioni 4:3, 3:4 e 21:9, e i rendering a 1080p o 4K. Qui le risoluzioni più alte sono un passaggio separato, enhance, etichettato AI Enhanced.
  • Un primo fotogramma insieme a immagini di riferimento. Anche Replicate lo rifiuta.
  • Attendere il risultato in una sola chiamata (fal.run, Prefer: wait di Replicate, enable_sync_mode di WaveSpeed): qui ogni lavoro è asincrono.
  • Più immagini per lavoro, output PNG o WebP, larghezza e altezza libere, più immagini di partenza per una modifica, LoRA e impostazioni del sampler.
  • La loro verifica dei webhook: le nostre consegne portano X-Signature, un HMAC-SHA256 con il tuo segreto whsec_, non la firma ED25519 di fal né l'header webhook-signature.
  • Pagare dopo l'uso: i crediti sono prepagati, ogni lavoro ha un tetto, e un lavoro sopra max_credits viene rifiutato, non addebitato.
  • Link ai risultati di lunga durata: i nostri durano 24 ore. Richiedi di nuovo il lavoro per averne uno nuovo.

Prima e dopo

La stessa richiesta a Seedance 2.0 Fast con un primo fotogramma, come la documenta ogni piattaforma, poi su /v1. Il tetto di prezzo viene dal nostro motore dei prezzi.

Prima
curl -X POST https://queue.fal.run/bytedance/seedance-2.0/fast/image-to-video \
  -H "Authorization: Key $FAL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Slow dolly-in on a ceramic mug on a wooden table, morning window light",
    "image_url": "https://example.com/first-frame.jpg",
    "duration": "5",
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true
  }'
Dopo: /v1
curl https://api.pershot.app/v1/videos/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0-fast",
    "prompt": "Slow dolly-in on a ceramic mug on a wooden table, morning window light",
    "image_url": "https://example.com/first-frame.jpg",
    "duration": 5,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "generate_audio": true,
    "max_credits": 34
  }'

I prezzi sono i nostri

Ogni lavoro ha un preventivo in crediti prima dell'esecuzione (1 US$ = 100 crediti) e non costa mai più del suo preventivo o di max_credits.

Quanto fanno pagare fal, Replicate e WaveSpeed è indicato sulle loro pagine. Le nostre pagine di confronto riportano i loro prezzi pubblicati per Seedance 2.0, ognuno con la data in cui è stato letto.

Le nostre tariffe API per secondo fatturato
Modello480p, al secondo720p, al secondo
Seedance 2.0 Fastseedance-2.0-fast0,031 $0,067 $
Seedance 2.0 Miniseedance-2.0-mini0,020 $0,042 $
I nostri crediti per immagine
Modello1K, per immagine2K, per immagine
Qwen-Image-2512 · Lightning 4-stepqwen-image-2512-lightning1 cr3 cr
Qwen-Image-2512qwen-image-25122 cr6 cr
Qwen-Image-Edit-2511 · Lightningqwen-image-edit-2511-lightning2 cr4 cr
Qwen-Image-Edit-2511qwen-image-edit-25113 cr10 cr

Fonti

I nomi dei loro campi e il loro comportamento come li mostravano le loro pagine pubbliche il 2026-10-22. Controlla la loro documentazione prima di migrare: