wan2.7-r2v
Το Wan 2.7 R2V παρέχει πεδία image, reference_images και reference_voice για οδηγίες βίντεο βασισμένες σε αναφορές. Επιλέξτε διάρκεια, ανάλυση και αναλογία και ανακτήστε το αρχικό αποτέλεσμα Ailoot.
Σχετικά με το μοντέλο
Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.
Επιλέξτε wan2.7-r2v στο /v1/videos. Το αίτημά του παρέχει prompt, negative_prompt, image, reference_images, reference_voice, prompt_extend και watermark. Το resolution προσφέρει 720P ή 1080P, το ratio καλύπτει οριζόντιο, κάθετο, τετράγωνο, 4:3 και 3:4 και το duration δέχεται ακέραια δευτερόλεπτα από δύο έως δεκαπέντε.
Εξηγήστε τι πρέπει να ορίζει κάθε δοσμένη αναφορά και τι πρέπει να κάνει το πλάνο. Προσδιορίστε χωριστά εμφάνιση θέματος, περιβάλλον, κίνηση και τελική σύνθεση. Κρατήστε τις τιμές reference_images και reference_voice στην τεκμηριωμένη μορφή πεδίων τους με τα πηγαία αρχεία. Για ακολουθία, διευκρινίστε επιθυμητή σειρά και συνέχεια ώστε το ολοκληρωμένο βίντεο να έχει συγκεκριμένο στόχο ελέγχου.
Υποβάλετε το πλάνο μία φορά μέσω του /v1/videos και κρατήστε το επιστρεφόμενο αναγνωριστικό αιτήματος. Ελέγχετε περιοδικά την ίδια λειτουργία μέσω του /v1/videos/{request_id} και αποθηκεύστε κάθε ολοκληρωμένο βίντεο και ολόκληρη την απόκριση. Ελέγξτε όλη τη δράση και την τελική σύνθεση βάσει του δοσμένου υλικού και των οδηγιών.
Ailoot Ultra · Video POST /v1/videos wan2.7-r2v
wan2.7-r2vΕισαγωγή
Το Wan 2.7 R2V παρέχει πεδία image, reference_images και reference_voice για οδηγίες βίντεο βασισμένες σε αναφορές. Επιλέξτε διάρκεια, ανάλυση και αναλογία και ανακτήστε το αρχικό αποτέλεσμα Ailoot.
- Αποδεκτές είσοδοι
- Κείμενο · Εικόνες
- Αποτελέσματα
- Βίντεο
Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι
Ailoot Ultra · Video POST /v1/videos
- Είσοδος
text,image- Έξοδος
video
| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
|---|---|---|---|---|
Πεδίοmodel | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια wan2.7-r2v Συνθήκες: Χρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot. | Προεπιλογή— |
Πεδίοprompt | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή |
Πεδίοnegative_prompt | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή |
Πεδίοresolution | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 720P, 1080P Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Πεδίοratio | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 16:9, 9:16, 1:1, 4:3, 3:4 Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Πεδίοduration | Τύποςinteger | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Ελάχιστο: 2 Μέγιστο: 15 Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Πεδίοprompt_extend | Τύποςboolean | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Πεδίοwatermark | Τύποςboolean | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Πεδίοimage | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Πεδίοreference_images | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Πεδίοreference_voice | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Παράμετροι και κύκλος ζωής μεθόδου
| Παράμετρος | Σύμβαση |
|---|---|
Παράμετροςcontent_type | Σύμβασηapplication/json |
Παράμετροςrequired | Σύμβασηmodel |
Παράμετροςoptional | Σύμβασηprompt, negative_prompt, resolution, ratio, duration, prompt_extend, watermark, image, reference_images, reference_voice |
Παράμετροςmaterial_types | Σύμβασηtext, image |
Παράμετροςconditions | ΣύμβασηΧρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί., Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. |
Εναλλακτικά ονόματα μεθόδου: /v1/videos/generations
Κύκλος ζωής: 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}
Τιμολόγηση
Πώς υπολογίζεται η τελική χρέωση
Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.
Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.
- Γρήγορη λειτουργία
- Δεν έχει οριστεί Όταν επιλέγεται η γρήγορη λειτουργία
- Λειτουργία flex
- Δεν έχει οριστεί Όταν επιλέγεται η λειτουργία flex
- Μέγιστη προσπάθεια συλλογισμού
- Δεν έχει οριστεί Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default
Εκτιμώμενες χρεώσεις για σύγκριση
Τιμές ανά διαμόρφωση
Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.
| Διαμόρφωση | Πίνακας χρεώσεων | Προβλεπόμενη ποσότητα | Ανάλυση εξόδου | Μονάδα τιμολόγησης | Συνθήκες χρέωσης | Χρέωση |
|---|---|---|---|---|---|---|
| ΔιαμόρφωσηΒασικές χρεώσεις token | Πίνακας χρεώσεωνΒασική χρέωση | Προβλεπόμενη ποσότητα— | Ανάλυση εξόδου— | Μονάδα τιμολόγησης— | Συνθήκες χρέωσης— | Χρέωση Είσοδος · Token εισόδου · Εκτίμηση μόνο για σύγκριση — / 1K token Έξοδος · Token εξόδου · Εκτίμηση μόνο για σύγκριση — / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα · Εκτίμηση μόνο για σύγκριση — / 1K token |
| ΔιαμόρφωσηΠαραγόμενο βίντεο | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότητα— | Ανάλυση εξόδου1080P | Μονάδα τιμολόγησηςανά δευτερόλεπτο βίντεο | Συνθήκες χρέωσηςΕνδεικτική εκτίμηση για το παραγόμενο βίντεο σε ανάλυση 1080P. Η τελική χρέωση βασίζεται στο καταγεγραμμένο αρχικό τιμολόγιο. | Χρέωση Έξοδος · Βίντεο εξόδου · Εκτίμηση μόνο για σύγκριση $0.3 ανά δευτερόλεπτο βίντεο Μόνο ενδεικτική εκτίμηση· η τελική χρέωση βασίζεται στο καταγεγραμμένο αρχικό τιμολόγιο. |
| ΔιαμόρφωσηΠαραγόμενο βίντεο | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότητα— | Ανάλυση εξόδου720P | Μονάδα τιμολόγησηςανά δευτερόλεπτο βίντεο | Συνθήκες χρέωσηςΕνδεικτική εκτίμηση για το παραγόμενο βίντεο σε ανάλυση 720P. Η τελική χρέωση βασίζεται στο καταγεγραμμένο αρχικό τιμολόγιο. | Χρέωση Έξοδος · Βίντεο εξόδου · Εκτίμηση μόνο για σύγκριση $0.2 ανά δευτερόλεπτο βίντεο Μόνο ενδεικτική εκτίμηση· η τελική χρέωση βασίζεται στο καταγεγραμμένο αρχικό τιμολόγιο. |
| ΔιαμόρφωσηΕκτιμώμενο κόστος δημιουργίας | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότηταεκτίμηση για μία δημιουργία | Ανάλυση εξόδου— | Μονάδα τιμολόγησης— | Συνθήκες χρέωσης— | Χρέωση Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση $0.2 εκτίμηση πριν από τη δημιουργία Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή. |
Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →
Παραδείγματα αιτημάτων
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": "wan2.7-r2v", "reference_images": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['reference_images']=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
Λήψη και αποθήκευση αποτελεσμάτων
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}
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα
Αποθηκεύστε κάθε ολοκληρωμένο βίντεο ή αρχείο που επιστρέφεται· ανακτήστε κάθε πραγματικό URL αρχείου που επιστρέφεται.
Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, τα αρχικά αναγνωριστικά, κάθε πραγματική έξοδο και όλα τα πεδία χρήσης και λογιστικής καταγραφής. Αποθηκεύστε κάθε μοναδικό αρχείο πολυμέσων που σας ανήκει και διατηρήστε κάθε ρόλο που παραπέμπει σε αυτό.
Αν χρειάζεται έλεγχος της αρχικής απάντησης
Διατηρήστε το δημόσιο id εργασίας ή λειτουργίας που επιστρέφεται και όλες τις κεφαλίδες. Διαβάστε μόνο την αρχική εργασία· τα unknown ή result_pending_check δεν επιτρέπουν άλλη δημιουργία.
Πεδία απάντησης
| Πεδίο | Τύπος |
|---|---|
Πεδίοid | Τύποςstring |
Πεδίοpolling_url | Τύποςstring |
Πεδίοprovider_task_id | Τύποςstring |
Πεδίοtask_id | Τύποςstring |
Πεδίοstatus | Τύποςstring |
Πεδίοvideo_url | Τύποςstring |
Σφάλματα και επόμενα βήματα
| Απάντηση | Συνθήκη | Επόμενο βήμα |
|---|---|---|
Απάντηση400 · invalid_request_error | ΣυνθήκηΈνα υποχρεωτικό πεδίο, ο επιλογέας μοντέλου, ο τύπος ή η μορφή αναπαράστασης της εισόδου δεν είναι έγκυρα. | Επόμενο βήμαΕξετάστε τις λεπτομέρειες επικύρωσης που επιστράφηκαν πριν ετοιμάσετε ξεχωριστό αίτημα. |
Απάντηση | ΣυνθήκηΤο αρχικό αίτημα ή αποτέλεσμα είναι άγνωστο ή απαιτεί έλεγχο. | Επόμενο βήμαΔιατηρήστε τα αρχικά αναγνωριστικά και τις κεφαλίδες· διαβάστε μόνο τις υποστηριζόμενες εγγραφές κατάστασης ή βιβλιοθήκης. Μην υποβάλετε ξανά αίτημα δημιουργίας. |
Εναλλακτικά ονόματα
Εναλλακτικά ονόματα μοντέλου
Ailoot Ultra wan2.7-r2v
Εναλλακτικές διαδρομές μεθόδων
/v1/videos/generations
Σχετικά ID μοντέλων
FAQ · wan2.7-r2v
- Ποιες είσοδοι και αποτελέσματα διατίθενται;
POST /v1/videos·wan2.7-r2v:text,image→video- Ποια πεδία χρησιμοποιεί το αίτημα;
POST /v1/videos·wan2.7-r2v:model,prompt,negative_prompt,resolution,ratio,duration,prompt_extend,watermark,image,reference_images,reference_voice- Ποια όρια ισχύουν;
POST /v1/videos·wan2.7-r2v:duration.minimum:2;duration.maximum:15