wanx2.1-t2v-turbo
Wanx 2.1 T2V Turbo crea un video da un prompt testuale e un prompt negativo. Scegli la dimensione di output e conserva l’operazione Ailoot originale per l’inquadratura completata.
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.
Seleziona wanx2.1-t2v-turbo con model, prompt e negative_prompt su /v1/videos. Il campo size offre le dimensioni documentate orizzontali, verticali e quadrate, con 1280*720 come valore predefinito. duration ha un valore predefinito di cinque secondi; prompt_extend, audio_url e audio sono ulteriori campi esposti.
Usa il prompt per soggetto, scena, azione visibile e percorso della camera. Mantieni la composizione adatta al fotogramma scelto e descrivi la vista finale desiderata. Un prompt negativo deve trattare gli aspetti indesiderati pertinenti a quella scena. Conserva dimensione scelta, brief e input audio effettivo quando viene fornito, così che il video completato possa essere verificato rispetto alla stessa richiesta.
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 wanx2.1-t2v-turbo
wanx2.1-t2v-turboIntroduzione
Wanx 2.1 T2V Turbo crea un video da un prompt testuale e un prompt negativo. Scegli la dimensione di output e conserva l’operazione Ailoot originale per l’inquadratura completata.
- Input accettati
- Testo
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Video POST /v1/videos
- Tipi di input
text- Tipi di output
video
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti wanx2.1-t2v-turbo Condizioni: Usa esattamente questo selettore di instradamento di Ailoot. | Predefinito— |
Campoprompt | Tipostring | RequisitoObbligatorio | Valori e limiti Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Camponegative_prompt | Tipostring | RequisitoObbligatorio | Valori e limiti Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Campoprompt_extend | Tipoboolean | RequisitoFacoltativo | Valori e limiti Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinitofalse |
Camposize | Tipostring | RequisitoFacoltativo | Valori e limiti 832*480, 480*832, 624*624, 1280*720, 720*1280, 960*960, 1088*832, 832*1088 Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito1280*720 |
Campoaudio_url | Tipostring | RequisitoFacoltativo | Valori e limiti Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Campoaudio | Tipoboolean | RequisitoFacoltativo | Valori e limiti Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Campoduration | Tipointeger | RequisitoFacoltativo | Valori e limiti Condizioni: | Predefinito5 |
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, prompt, negative_prompt |
Parametrooptional | Contrattoprompt_extend, size, audio_url, audio, duration |
Parametromaterial_types | Contrattotext |
Parametroconditions | ContrattoUsa 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. |
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.
| Configurazione | Listino delle tariffe | Quantità prevista | Unità di fatturazione | Condizioni di fatturazione | Costo |
|---|---|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità prevista— | Unità di fatturazione— | Condizioni di fatturazione— | 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 |
| ConfigurazioneVideo in uscita | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper secondo di video | Condizioni di fatturazioneStima indicativa della durata del video in uscita. L’importo finale addebitato è calcolato in base alla fattura originale registrata. | Costo Output · Video in uscita · Stima solo a fini di confronto $0.1 per secondo di video Stima puramente indicativa; l’importo finale addebitato è calcolato in base alla fattura originale registrata. |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Unità di fatturazione— | Condizioni di fatturazione— | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $0.1 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
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": "wanx2.1-t2v-turbo", "prompt": "A cat is walking on grass.", "negative_prompt": ""}')
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}/contentGET /v1/media/assetsGET /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
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campopolling_url | Tipostring |
Campoprovider_task_id | Tipostring |
Campotask_id | Tipostring |
Campostatus | Tipostring |
Campovideo_url | Tipostring |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneUn 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. |
Risposta | CondizioneLa 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 wanx2.1-t2v-turbo
Alias dei percorsi dei metodi
/v1/videos/generations
ID di chiamata correlati
FAQ · wanx2.1-t2v-turbo
- Quali input e risultati sono disponibili?
POST /v1/videos·wanx2.1-t2v-turbo:text→video- Quali campi usa la richiesta?
POST /v1/videos·wanx2.1-t2v-turbo:model,prompt,negative_prompt,prompt_extend,size,audio_url,audio,duration