aisplice

Per funzionalità

Video

I video vengono sempre eseguiti come task: invia, poi controlla più tardi o ricevi una callback. Clip più lunghe e più nitide costano di più.

#1. Scegli un modello

gemini-omni-1.1-flash$0.088 / richiestaLimiti e stato

13 modelli online per questa funzione. Se cambi modello, il codice qui sotto si aggiorna.

#2. Copia la richiesta

Sostituisci YOUR_API_KEY con la tua chiave, poi eseguila. Le opzioni mostrate sono quelle accettate da questo modello.

POSThttps://www.aisplice.store/v1/videosBearer API keyTask asincrono

OpzioniVengono mostrate solo le opzioni pubblicate per questo modello.

# Requires curl and jq
API_KEY="${API_KEY:-YOUR_API_KEY}"

# 1. Submit once
SUBMITTED=$(curl --fail-with-body -sS https://www.aisplice.store/v1/videos \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: model-docs-$(date +%s)-$$" \\
  -d '{
  "model": "Gemini Omni 1.1 Flash",
  "prompt": "A cinematic scene with careful composition",
  "resolution": "720p",
  "size": "16:9"
}')
TASK_ID=$(printf '%s' "$SUBMITTED" | jq -r '.task_id // .id // empty')
if [ -z "$TASK_ID" ]; then
  printf '%s\n' "$SUBMITTED" >&2
  exit 1
fi
echo "task_id=$TASK_ID"

# 2. Poll until terminal
while true; do
  STATUS_JSON=$(curl --fail-with-body -sS \
    "https://www.aisplice.store/v1/videos/$TASK_ID" \
    -H "Authorization: Bearer $API_KEY")
  STATUS=$(printf '%s' "$STATUS_JSON" | jq -r '.status // empty' | tr '[:upper:]' '[:lower:]')
  echo "status=$STATUS"
  case "$STATUS" in
    completed|succeeded|success) break ;;
    failed|failure|cancelled|canceled)
      printf '%s\n' "$STATUS_JSON" | jq .
      exit 1
      ;;
  esac
  sleep 5
done

# 3. Fetch the final result
curl --fail-with-body -sS \
  "https://www.aisplice.store/v1/videos/$TASK_ID/content" \
  -H "Authorization: Bearer $API_KEY" | jq .

Questo modello richiede URL pubblici per i media. Carica prima un file locale, poi inserisci public_url nella richiesta al modello. Evita corpi Base64 di grandi dimensioni.

Leggi la guida all'upload

Tutti i parametri

Tutti i campi accettati da questo modello, con i valori consentiti.

model
stringobbligatorio

Identificatore esatto del modello per questa richiesta.

gemini-omni-1.1-flash
prompt
stringfacoltativo

What to make, or for a picture or video what to animate or change. Describe pacing in words; there is no duration field.

resolution
stringfacoltativo

Output resolution; it sets the per-second rate.

360p720p1080p4k
size
stringfacoltativo

Forwarded as aspect_ratio. A video input keeps its own ratio.

16:99:16
images
string[]facoltativo

One public picture is the first frame. Several pictures, image_reference_mode=multi, or pictures beside a video are references (who or what appears). Up to 10 including frames.

metadata.video_urls
string[]facoltativo

URL pubblici HTTP(S) dei video di origine. Massimo 1 elementi.

Ciclo di vita della risposta

Stato del task, stati finali ed esempi di risposta con il risultato.

Invio
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "video",
  "model": "Gemini Omni 1.1 Flash",
  "status": "queued"
}

In attesa

queued · submitted · in_progress · processing

Successo

completed · succeeded · success

Errore

failed · failure · cancelled · canceled

Tutti i campi: /v1/videos nel riferimento API →

#3. Ottieni il risultato

La chiamata di invio risponde subito con un task_id. Controlla il task a intervalli di pochi secondi finché status non è completed, oppure passa webhook_url e ti chiameremo noi quando avrà finito.

GET https://www.aisplice.store/v1/videos/{task_id}

GET https://www.aisplice.store/v1/videos/{task_id}/content

Durata e risoluzione determinano la fascia di prezzo. Un task in esecuzione può essere annullato; vedi il riferimento API.

Addebitato solo in caso di successo

Un task fallito o annullato viene rimborsato automaticamente. Il registro delle richieste mostra il costo finale di ogni task.

Valori di stato e polling →Ricevi una callback invece di controllare →

#Quando qualcosa va storto

  • 400 con il nome di un campo: quell'opzione non è accettata da questo modello; usa i valori elencati al passaggio 2.
  • Immagine o video di riferimento rifiutato: deve essere un URL pubblico che il modello possa scaricare.
  • Contenuto rifiutato dal modello: riformula il prompt; le richieste rifiutate non vengono addebitate.
  • 402: il saldo non copre questa richiesta; ricarica in Portafoglio, poi riprova.
  • 429: rallenta e riprova dopo i secondi indicati da Retry-After.
  • 503 model_not_found: il nome del modello è errato o il modello è offline; scegline uno al passaggio 1.

Cerca qualsiasi altro errore →

#Primo e ultimo fotogramma, immagini e video di riferimento

I modelli che li accettano mostrano i campi al passaggio 2: primo fotogramma, ultimo fotogramma, immagini di riferimento o un video di riferimento. Passa URL pubblici; carica prima i file locali.

Come caricare un file locale →

Integrarlo nel tuo prodottoQuali opzioni mostrare per prime ai tuoi utenti e quali lasciare per dopo.
Quali opzioni mostrare per prime ai tuoi utentiInizia con il prompt e un solo parametro di prezzo; aggiungi il resto quando il flusso di base funziona.+

Intento creativo

Campi come prompt vanno nella UI perché l'utente capisce direttamente il risultato che modificano.

Moltiplicatore di costo

Campi come durata, risoluzione, dimensione e numero vanno introdotti solo quando il prezzo è già spiegabile.

Cambio di modalità

Campi come immagine, maschera o ID di continuazione cambiano il flusso stesso e dovrebbero comparire solo in modalità dedicate.

Infrastruttura di sistema

Campi come webhook_secret sono per gli integratori, non per i creator di tutti i giorni, quindi tienili fuori dalla UI predefinita.

  • prompt
    Quando mostrarlo
    Sempre. Definisce la scena o la direzione del movimento.
    Valore predefinito consigliato
    Obbligatorio nella UI.
    Perché conta
    Senza di esso, gli utenti non possono guidare l'intento della clip.
  • image / images
    Quando mostrarlo
    Mostralo solo per prodotti basati su riferimenti o da immagine a video.
    Valore predefinito consigliato
    Nascondilo nei flussi solo prompt.
    Perché conta
    Cambia la modalità di creazione e dovrebbe essere una scelta di prodotto consapevole.
  • duration
    Quando mostrarlo
    Mostralo quando il flusso asincrono di base è stabile e il prezzo è visibile.
    Valore predefinito consigliato
    Parti dalla durata più breve supportata.
    Perché conta
    È uno dei maggiori moltiplicatori di costo e latenza nella generazione video.
  • resolution
    Quando mostrarlo
    Mostralo quando i clienti confrontano esplicitamente output a 720p, 1080p o 4K.
    Valore predefinito consigliato
    Scegli una risoluzione consigliata lato server.
    Perché conta
    Una risoluzione più alta aumenta costo, tempo in coda e rischio di errore.
  • webhook_url / webhook_secret
    Quando mostrarlo
    Mostralo solo agli integratori backend, non ai normali utenti finali.
    Valore predefinito consigliato
    Nei prodotti con UI preferisci il polling.
    Perché conta
    Servono all'integrazione di sistema, non alla creatività dell'utente finale, quindi devono restare fuori dai controlli rivolti al pubblico.
recommended-rollout.txt
Phase 1
- prompt
- one size or one duration default
- submit -> poll -> content

Phase 2
- one quality or resolution selector
- clear pricing hint

Phase 3
- advanced controls such as reference media, continuation, webhook, or vendor-specific tuning

Una sola fonte di verità per i risultati

Quando un task termina, basa la tua app sull'URL della piattaforma restituito da /content. Così i dettagli del fornitore upstream restano nascosti e la riproduzione dello storico è stabile.

Non hai ancora risolto?

Inviaci l'ID richiesta o il messaggio di errore e verificheremo.