happyhorse-1.0-t2v
Το HappyHorse 1.0 T2V μετατρέπει κειμενικές οδηγίες σκηνής σε βίντεο. Επιλέξτε διάρκεια, ανάλυση και αναλογία μέσω του Ailoot και παρακολουθήστε την αρχική λειτουργία έως την ολοκλήρωση.
Σχετικά με το μοντέλο
Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.
Χρησιμοποιήστε happyhorse-1.0-t2v με model και prompt στο /v1/videos. Περιγράψτε τη σκηνή απευθείας σε κείμενο και επιλέξτε 720P ή 1080P και διάρκεια από 3 έως 15 δευτερόλεπτα. Οι αναλογίες καλύπτουν οριζόντιο, κάθετο, τετράγωνο και μορφές 4:3 ή 3:4.
Οργανώστε την προτροπή γύρω από θέμα, ορατή δράση, περιβάλλον και κίνηση κάμερας. Χρήσιμες οδηγίες μπορούν να ξεκινούν με κοντινή λήψη κεραμικής κούπας και να περιγράφουν ατμό που ανεβαίνει, ενώ η κάμερα αποκαλύπτει σταδιακά το τραπέζι. Δηλώστε τελικό κάδρο και φωτισμό ώστε το πλάνο να έχει σαφή οπτικό προορισμό.
Υποβάλετε το πλάνο μία φορά μέσω του /v1/videos, κρατήστε το αναγνωριστικό αιτήματος που επιστρέφεται και ελέγχετε περιοδικά εκείνη την αρχική λειτουργία μέσω του /v1/videos/{request_id}. Αποθηκεύστε κάθε ολοκληρωμένο βίντεο και ολόκληρη την απόκριση πριν ελέγξετε την κίνηση, το κάδρο και την τελική κατάσταση ως προς τις οδηγίες.
Ailoot Ultra · Video POST /v1/videos happyhorse-1.0-t2v
happyhorse-1.0-t2vΕισαγωγή
Το HappyHorse 1.0 T2V μετατρέπει κειμενικές οδηγίες σκηνής σε βίντεο. Επιλέξτε διάρκεια, ανάλυση και αναλογία μέσω του Ailoot και παρακολουθήστε την αρχική λειτουργία έως την ολοκλήρωση.
- Αποδεκτές είσοδοι
- Κείμενο
- Αποτελέσματα
- Βίντεο
Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι
Ailoot Ultra · Video POST /v1/videos
- Είσοδος
text- Έξοδος
video
| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
|---|---|---|---|---|
Πεδίοmodel | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια happyhorse-1.0-t2v Συνθήκες: Χρησιμοποιήστε ακριβώς αυτόν τον επιλογέα δρομολόγησης του Ailoot. | Προεπιλογή— |
Πεδίοprompt | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Πεδίοresolution | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 720P, 1080P Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή720P |
Πεδίοaspect_ratio | Τύποςstring | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 16:9, 9:16, 1:1, 4:3, 3:4 Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή— |
Πεδίοduration | Τύποςinteger | ΑπαίτησηΠροαιρετικό | Τιμές και όρια 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Συνθήκες: Χρησιμοποιήστε το τεκμηριωμένο πεδίο και τις αναφερόμενες επιλογές του επιλεγμένου μοντέλου· παραλείψτε μια προαιρετική τιμή που δεν έχει καθοριστεί. | Προεπιλογή5 |
Παράμετροι και κύκλος ζωής μεθόδου
| Παράμετρος | Σύμβαση |
|---|---|
Παράμετροςcontent_type | Σύμβασηapplication/json |
Παράμετροςrequired | Σύμβασηmodel, prompt |
Παράμετροςoptional | Σύμβασηresolution, aspect_ratio, duration |
Παράμετροςmaterial_types | Σύμβασηtext |
Παράμετρος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.552 ανά δευτερόλεπτο βίντεο Μόνο ενδεικτική εκτίμηση· η τελική χρέωση βασίζεται στο καταγεγραμμένο αρχικό τιμολόγιο. |
| ΔιαμόρφωσηΠαραγόμενο βίντεο | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότητα— | Ανάλυση εξόδου720P | Μονάδα τιμολόγησηςανά δευτερόλεπτο βίντεο | Συνθήκες χρέωσηςΕνδεικτική εκτίμηση για το παραγόμενο βίντεο σε ανάλυση 720P. Η τελική χρέωση βασίζεται στο καταγεγραμμένο αρχικό τιμολόγιο. | Χρέωση Έξοδος · Βίντεο εξόδου · Εκτίμηση μόνο για σύγκριση $0.312 ανά δευτερόλεπτο βίντεο Μόνο ενδεικτική εκτίμηση· η τελική χρέωση βασίζεται στο καταγεγραμμένο αρχικό τιμολόγιο. |
| ΔιαμόρφωσηΕκτιμώμενο κόστος δημιουργίας | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότηταεκτίμηση για μία δημιουργία | Ανάλυση εξόδου— | Μονάδα τιμολόγησης— | Συνθήκες χρέωσης— | Χρέωση Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση $0.312 εκτίμηση πριν από τη δημιουργία Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή. |
Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →
Παραδείγματα αιτημάτων
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": "happyhorse-1.0-t2v", "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
Λήψη και αποθήκευση αποτελεσμάτων
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 happyhorse-1.0-t2v
Εναλλακτικές διαδρομές μεθόδων
/v1/videos/generations
Σχετικά ID μοντέλων
FAQ · happyhorse-1.0-t2v
- Ποιες είσοδοι και αποτελέσματα διατίθενται;
POST /v1/videos·happyhorse-1.0-t2v:text→video- Ποια πεδία χρησιμοποιεί το αίτημα;
POST /v1/videos·happyhorse-1.0-t2v:model,prompt,resolution,aspect_ratio,duration