modelli

Vidu Q1

Markdown · JSON

Vidu Q1

Vidu Q1 crea un video di cinque secondi con testo e guida tramite immagini facoltativa. Ailoot espone output 1080p, formato e opzioni movement_amplitude per l’inquadratura.

Informazioni sul modello

Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.

Usa vidu-q1 con model e prompt in /v1/videos. Questa richiesta fornisce una durata di cinque secondi e una risoluzione 1080p. Scegli aspect_ratio 16:9, 1:1 o 9:16 e movement_amplitude pari a auto, small, medium o large. Sono disponibili anche i campi image ed end_image.

Adatta il brief di movimento a una breve azione visibile. Indica se il movimento riguarda il soggetto, la camera o lo sfondo e descrivi la composizione finale desiderata. Se viene fornita un’immagine iniziale, identifica i dettagli del soggetto da mantenere; se viene usata un’immagine finale, spiega la transizione verso di essa. Conserva l’impostazione del movimento insieme al brief per la verifica.

Invia l’inquadratura una sola volta tramite /v1/videos e conserva l’ID della richiesta restituito. Interroga periodicamente la stessa operazione tramite /v1/videos/{request_id}, quindi salva tutti i video completati e la risposta completa. Verifica l’intera azione e la composizione finale rispetto al materiale fornito e al brief.

Ailoot Ultra · Video POST /v1/videos vidu-q1

vidu-q1

Altro /vidu-q1

Introduzione

Vidu Q1 crea un video di cinque secondi con testo e guida tramite immagini facoltativa. Ailoot espone output 1080p, formato e opzioni movement_amplitude per l’inquadratura.

Input accettati
Testo · Immagini
Risultati
Video

Disponibile in Ailoot · input e metodi

Ailoot Ultra · Video POST /v1/videos
Tipi di input
text, image
Tipi di output
video
CampoTipoRequisitoValori e limitiPredefinito
CampomodelTipostringRequisitoObbligatorioValori e limiti
vidu-q1
Condizioni: Usa esattamente questo selettore di instradamento di Ailoot.
Predefinito—
Campoaspect_ratioTipostringRequisitoFacoltativoValori e limiti
16:9, 1:1, 9:16
Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato.
Predefinito—
CampodurationTipointegerRequisitoFacoltativoValori e limiti
5
Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato.
Predefinito—
Campoend_imageTipostringRequisitoFacoltativoValori e limiti
Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato.
Predefinito—
CampoimageTipostring or array<string>RequisitoFacoltativoValori e limiti
Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato.
Predefinito—
CampopromptTipostringRequisitoObbligatorioValori e limiti
Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato.
Predefinito—
CamporesolutionTipostringRequisitoFacoltativoValori e limiti
1080p
Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato.
Predefinito—
Campomovement_amplitudeTipostringRequisitoFacoltativoValori e limiti
auto, small, medium, large
Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato.
Predefinito—
Parametri e ciclo di vita del metodo
ParametroContratto
Parametrocontent_typeContrattoapplication/json
ParametrorequiredContrattomodel, prompt
ParametrooptionalContrattoaspect_ratio, duration, end_image, image, resolution, movement_amplitude
Parametromaterial_typesContrattotext, image
ParametroconditionsContrattoUsa esattamente questo selettore di instradamento di Ailoot., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato., Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato.

Alias del metodo: /v1/videos/generations

Ciclo di vita: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Tariffe

Calcolo del costo finale

Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.

Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.

Modalità rapida
Non specificato Quando è selezionata la modalità rapida
Modalità flex
Non specificato Quando è selezionata la modalità flex
Sforzo massimo di ragionamento
Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)

Tariffe stimate per il confronto

Prezzi per configurazione

Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.

ConfigurazioneListino delle tariffeQuantità previstaQuantità fatturataCosto
ConfigurazioneTariffe base dei tokenListino delle tariffeTariffa baseQuantità prevista—Quantità fatturata—Costo
Input · Token in input · Stima solo a fini di confronto — / 1K token
Output · Token in output · Stima solo a fini di confronto — / 1K token
Input · Lettura dalla cache · Stima solo a fini di confronto — / 1K token
Input · Scrittura nella cache · Stima solo a fini di confronto — / 1K token
Input · Scrittura nella cache, 1 ora · Stima solo a fini di confronto — / 1K token
ConfigurazionePer richiestaListino delle tariffe—Quantità prevista—Quantità fatturatauna richiestaCosto
Input · Stima solo a fini di confronto $0.8 per richiesta
ConfigurazioneCosto stimato della generazioneListino delle tariffe—Quantità previstastima per una generazioneQuantità fatturata—Costo
Output · Costo di generazione stimato · Stima solo a fini di confronto $0.8 stima prima della generazione

Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata.

Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →

Esempi di richieste

Ailoot Ultra · Video

curl · crea una sola volta e conserva il risultato completoLeggi il task originaleSalva ogni risorsa completata di tua proprietà
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "vidu-q1", "prompt": "A cat is walking on grass."}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS

Ricevi e salva i risultati

Ailoot Ultra · Video

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Conserva tutti i risultati completati

Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.

Conserva la risposta completa e le intestazioni, gli identificatori originali, ogni risultato effettivo e tutti i campi di utilizzo e contabilizzazione. Salva ogni risorsa univoca di tua proprietà e conserva ogni ruolo che vi fa riferimento.

Se occorre verificare la risposta originale

Conserva l'id pubblico dell'attività o dell'operazione restituito e tutte le intestazioni. Consulta solo l'attività originale; unknown o result_pending_check non autorizza un'altra creazione.

Campi della risposta
CampoTipo
CampoidTipostring
Campopolling_urlTipostring
Campoprovider_task_idTipostring
Campotask_idTipostring
CampostatusTipostring
Campovideo_urlTipostring
Errori e passaggi successivi
RispostaCondizionePassaggio successivo
Risposta400 · invalid_request_errorCondizioneUn campo obbligatorio, il selettore del modello, il tipo o la rappresentazione dei dati in ingresso non è valido.Passaggio successivoEsamina i dettagli di validazione restituiti prima di preparare una richiesta separata.
RispostaCondizioneLa richiesta originale o il relativo risultato è sconosciuto o richiede una verifica.Passaggio successivoConserva gli identificatori e le intestazioni originali; consulta solo i record di stato o della libreria supportati. Non inviare di nuovo la richiesta di creazione.

Alias

Alias del modello

Ailoot Ultra vidu-q1

Alias dei percorsi dei metodi

/v1/videos/generations

ID di chiamata correlati

vidu-q1

FAQ · Vidu Q1
Quali input e risultati sono disponibili?

POST /v1/videos · vidu-q1: text, image → video

Quali campi usa la richiesta?

POST /v1/videos · vidu-q1: model, aspect_ratio, duration, end_image, image, prompt, resolution, movement_amplitude

Maggiori dettagli

Collega Ailoot a Claude Code, OpenCode, Hermes o alla tua applicazione.

L’azienda e il suo portafoglio di progetti

L’azienda e il suo portafoglio di progetti: milioni di clienti; vendite nell’ordine dei miliardi ogni mese.

Acquista token con uno sconto.

Sconto con abbonamento per lavoro regolare. Codici fino al 50% sull’acquisto di token.

Abbonamento
Scegli un piano scontato per richieste regolari.
Codice fino al 50%
Inserisci il codice all’acquisto. Il prezzo si aggiorna secondo la promozione.
Spese nella cronologia
Modello, token e importo sono salvati per ogni richiesta.

Scegli abbonamento · Consulta prezzi dei modelli

Collega l’API al prodotto che vendi.

SaaS, app e bot secondo offerta e accordo di licenza Ailoot. Per rivendere, richiedi una licenza reseller.

Applicazione commerciale
Integra generazione di testo, immagini, video e suono nelle funzioni a pagamento.
Licenza reseller
Invia descrizione del progetto e schema di accesso. Richiedi condizioni scritte per uso e rivendita.
Documenti sul sito
Offerta, accordo di licenza e politica sui dati sono disponibili prima della connessione.

Richiedi licenza reseller · Offerta e accordo di licenza