Pika 1.5
Pika 1.5 crea un video incentrato su un effetto a partire da un prompt e da materiale immagine facoltativo. Seleziona esplicitamente pikaffect e segui l’operazione Ailoot originale fino al suo video risultante.
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 pika-15 con model, prompt e pikaffect su /v1/videos. Scegli un effetto documentato come Inflate, Levitate, Melt, Squish o Ta-da. La richiesta espone anche image come stringa o array di massimo dieci stringhe e un campo negative_prompt.
Descrivi il soggetto che deve subire la trasformazione selezionata e l’aspetto finale desiderato. Un’immagine può fornire il materiale visivo iniziale; il prompt deve identificare il movimento e l’inquadratura da preservare intorno all’effetto. Mantieni letterale il valore dell’effetto selezionato e scegli materiale sorgente che renda facile esaminare la trasformazione nel filmato finito.
Invia l’inquadratura una sola volta tramite /v1/videos, conserva l’ID della richiesta restituito e interroga periodicamente l’operazione originale tramite /v1/videos/{request_id}. Salva tutti i video completati e la risposta completa prima di verificare azione, inquadratura e stato finale rispetto al brief.
Ailoot Ultra · Video POST /v1/videos pika-15
pika-15Introduzione
Pika 1.5 crea un video incentrato su un effetto a partire da un prompt e da materiale immagine facoltativo. Seleziona esplicitamente pikaffect e segui l’operazione Ailoot originale fino al suo video risultante.
- 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
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti pika-15 Condizioni: Usa esattamente questo selettore di instradamento di Ailoot. | Predefinito— |
Campoimage | Tipostring or array<string> | RequisitoFacoltativo | Valori e limiti Condizioni: Fornisci un URL reale e raggiungibile della tua immagine. Una lista è accettata solo quando lo schema del parametro prevede un array. | 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 | RequisitoFacoltativo | Valori e limiti Condizioni: Usa il campo documentato per il modello selezionato e le opzioni indicate; ometti un valore facoltativo non specificato. | Predefinito— |
Campopikaffect | Tipostring | RequisitoObbligatorio | Valori e limiti Cake-ify, Crumble, Crush, Decapitate, Deflate, Dissolve, Explode, Eye-pop, Inflate, Levitate, Melt, Peel, Poke, Squish, Ta-da, Tear, Love Bomb 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
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, prompt, pikaffect |
Parametrooptional | Contrattoimage, negative_prompt |
Parametromaterial_types | Contrattotext, image |
Parametroconditions | ContrattoUsa esattamente questo selettore di instradamento di Ailoot., Fornisci un URL reale e raggiungibile della tua immagine. Una lista è accettata solo quando lo schema del parametro prevede un array., 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 | Quantità fatturata | Costo |
|---|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità 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 richiesta | Listino delle tariffe— | Quantità prevista— | Quantità fatturatauna richiesta | Costo Input · Stima solo a fini di confronto $1.4 per richiesta |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Quantità fatturata— | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $1.4 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
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "pika-15", "prompt": "A cat is walking on grass.", "pikaffect": "Cake-ify", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
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 pika-15
Alias dei percorsi dei metodi
/v1/videos/generations
ID di chiamata correlati
FAQ · Pika 1.5
- Quali input e risultati sono disponibili?
POST /v1/videos·pika-15:text,image→video- Quali campi usa la richiesta?
POST /v1/videos·pika-15:model,image,prompt,negative_prompt,pikaffect