PixVerse v4
Texte/image vers vidéo : 5 ou 8 secondes, cinq formats et qualités de 360p à 1080p.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
pixverse-v4 génère une vidéo depuis un texte et une référence image optionnelle. aspect_ratio accepte 16:9, 4:3, 1:1, 3:4 et 9:16 ; quality accepte 360p, 540p, 720p ou 1080p. La durée vaut 5 ou 8 secondes. Il peut préparer un plan produit vertical depuis une référence pour un montage social court.
/v1/videos liste motion_mode normal ou fast, negative_prompt et end_image optionnel. Les champs de synchronisation labiale sont des contrôles distincts à utiliser selon leurs définitions, sans supposer un import audio générique. Choisissez une combinaison supportée, récupérez le job d’origine et toutes ses sorties réelles. fast est un mode de mouvement, pas une garantie mesurée de temps de génération.
Ailoot Ultra · Video POST /v1/videos pixverse-v4
pixverse-v4Pour commencer
Texte/image vers vidéo : 5 ou 8 secondes, cinq formats et qualités de 360p à 1080p.
- Entrées acceptées
- Texte · Images
- Résultats
- Vidéo
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · Video POST /v1/videos
- Entrée
text,image- Sortie
video
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites pixverse-v4 Conditions: Utilisez exactement ce sélecteur de routage Ailoot. | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Conditions: Décrivez la scène et les mouvements qui s’y déroulent. | Par défaut— |
Champaspect_ratio | Typestring | ExigenceFacultatif | Valeurs et limites 16:9, 4:3, 1:1, 3:4, 9:16 Conditions: Utilisez l’un des rapports largeur/hauteur indiqués pour le modèle sélectionné. | Par défaut— |
Champquality | Typestring | ExigenceFacultatif | Valeurs et limites 360p, 540p, 720p, 1080p Conditions: Utilisez la valeur de qualité indiquée pour le modèle sélectionné. | Par défaut— |
Champmotion_mode | Typestring | ExigenceFacultatif | Valeurs et limites normal, fast Conditions: Utilisez le mode de mouvement indiqué pour le modèle sélectionné. | Par défaut— |
Champduration | Typeinteger | ExigenceFacultatif | Valeurs et limites 5, 8 Conditions: Utilisez une durée indiquée ; ne présumez aucune valeur par défaut non précisée. | Par défaut— |
Champend_image | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Une image finale facultative sélectionne un mode d’image pris en charge. | Par défaut— |
Champlip_sync_tts_content | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Contenu vocal facultatif pour le modèle sélectionné. | Par défaut— |
Champlip_sync_tts_speaker_id | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Utilisez un identifiant de voix réel pris en charge par le fournisseur ; n’inventez aucun identifiant de voix. | Par défaut— |
Champimage | Typestring or array<string> | ExigenceFacultatif | Valeurs et limites Conditions: Utilisez l’URL réelle de votre image, accessible publiquement, ou une image encodée en base64 ; le modèle sélectionné prend en charge les images en entrée. | Par défaut— |
Champnegative_prompt | Typestring | ExigenceFacultatif | Valeurs et limites Conditions: Décrivez le contenu à éviter. | Par défaut— |
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, prompt |
Paramètreoptional | Contrataspect_ratio, quality, motion_mode, duration, end_image, lip_sync_tts_content, lip_sync_tts_speaker_id, image, negative_prompt |
Paramètrematerial_types | Contrattext, image |
Paramètreconditions | ContratUtilisez exactement ce sélecteur de routage Ailoot., Décrivez la scène et les mouvements qui s’y déroulent., Utilisez l’un des rapports largeur/hauteur indiqués pour le modèle sélectionné., Utilisez la valeur de qualité indiquée pour le modèle sélectionné., Utilisez le mode de mouvement indiqué pour le modèle sélectionné., Utilisez une durée indiquée ; ne présumez aucune valeur par défaut non précisée., Une image finale facultative sélectionne un mode d’image pris en charge., Contenu vocal facultatif pour le modèle sélectionné., Utilisez un identifiant de voix réel pris en charge par le fournisseur ; n’inventez aucun identifiant de voix., Utilisez l’URL réelle de votre image, accessible publiquement, ou une image encodée en base64 ; le modèle sélectionné prend en charge les images en entrée., Décrivez le contenu à éviter. |
Alias de méthode : /v1/videos/generations
Cycle de vie : 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}
Tarifs
Calcul du coût final
Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs estimés à des fins de comparaison
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Coût |
|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Coût Entrée · Jetons en entrée · Estimation à des fins de comparaison uniquement — / 1K jetons Sortie · Jetons en sortie · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K jetons Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K jetons |
| ConfigurationCoût de génération estimé | Barème tarifaire— | Quantité prévisionnelleestimation pour une génération | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $0.2 estimation avant génération Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée. |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "pixverse-v4",
"prompt": "A cat is walking on grass."
}
JSON
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
# Create once; retain id, polling_url, original task identifiers and every 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
Recevoir et enregistrer les résultats
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}
Conserver tous les résultats terminés
Enregistrez chaque vidéo terminée ou fichier renvoyé ; récupérez chaque URL de ressource effectivement renvoyée.
Conservez la réponse et les en-têtes complets, les identifiants d’origine, chaque sortie réelle et tous les champs d’utilisation et de comptabilisation. Enregistrez chaque ressource unique appartenant à votre compte et conservez chaque rôle qui y renvoie.
Si la réponse d’origine doit être vérifiée
Conservez l’id public de tâche ou d’opération retourné et tous les en-têtes. Consultez uniquement la tâche d’origine; unknown ou result_pending_check n’autorise pas une autre création.
Champs de la réponse
| Champ | Type |
|---|---|
Champid | Typestring |
Champpolling_url | Typestring |
Champprovider_task_id | Typestring |
Champtask_id | Typestring |
Champstatus | Typestring |
Champvideo_url | Typestring |
Alias
Alias du modèle
Ailoot Ultra pixverse-v4
Alias des chemins de méthode
/v1/videos/generations
ID d’appel associés
FAQ · PixVerse v4
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/videos·pixverse-v4:text,image→video- Quels champs la requête utilise-t-elle ?
POST /v1/videos·pixverse-v4:model,prompt,aspect_ratio,quality,motion_mode,duration,end_image,lip_sync_tts_content,lip_sync_tts_speaker_id,image,negative_prompt