μοντέλα

happyhorse-1.1-r2v

Markdown · JSON

happyhorse-1.1-r2v

Μοντέλο δημιουργίας βίντεο από εικόνες αναφοράς και γραπτό σενάριο. Βοηθά να διατηρούνται η εμφάνιση των χαρακτήρων, τα αντικείμενα και το οπτικό ύφος σε μια νέα σκηνή.

Σχετικά με το μοντέλο

Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.

Το HappyHorse-1.1-R2V δημιουργεί μια νέα σκηνή βίντεο από εικόνες αναφοράς και οδηγίες κειμένου. Η Alibaba σχεδιάζει το μοντέλο ώστε να διατηρεί αναγνωρίσιμους χαρακτήρες, αντικείμενα και οπτικό ύφος κατά τη δημιουργία κίνησης. Οι εικόνες αναφοράς καθορίζουν το περιεχόμενο και την εμφάνιση της σκηνής, ενώ το κείμενο περιγράφει πώς πρέπει να αλληλεπιδρούν αυτά τα στοιχεία.

Ρόλοι των οπτικών δειγμάτων

Μπορούν να χρησιμοποιηθούν από μία έως εννέα εικόνες. Μπορούν να ορίζουν έναν χαρακτήρα, ένα αντικείμενο, το περιβάλλον ή την καλλιτεχνική προσέγγιση. Στην περιγραφή μπορείτε να αναφέρετε τον αριθμό της εικόνας αναφοράς και το συγκεκριμένο αντικείμενο που εμφανίζεται σε αυτήν, ώστε να συνδέσετε το οπτικό υλικό με το κατάλληλο μέρος της δράσης. Αυτό είναι ιδιαίτερα χρήσιμο όταν στοιχεία από πολλές εικόνες πρέπει να συνδυαστούν σε μία σύνθεση.

Σε αντίθεση με τη λειτουργία αρχικού καρέ, εδώ οι εικόνες αναφοράς λειτουργούν ως σημεία αναφοράς για το περιεχόμενο της νέας σκηνής. Οι οδηγίες κειμένου είναι υποχρεωτικές: συνδέουν την εμφάνιση των αντικειμένων με τη δράση, την κίνηση της κάμερας και τη συνολική σκηνοθεσία. Ο κατασκευαστής δίνει έμφαση στην οπτική συνέπεια και στην κινηματογραφική κίνηση· το αποτέλεσμα εξακολουθεί να παράγεται από το μοντέλο και δεν είναι μοντάζ των αρχικών εικόνων.

Γίνονται δεκτά JPEG, JPG, PNG και WEBP, με μέγεθος έως 20 MB το καθένα. Η μικρή πλευρά της εικόνας πρέπει να έχει τουλάχιστον 400 pixel· συνιστάται υλικό ανάλυσης 720P ή μεγαλύτερης. Η είσοδος αυτής της λειτουργίας αποτελείται αποκλειστικά από εικόνες και κείμενο.

Διάρκεια, καρέ και ήχος

Το αποτέλεσμα αποθηκεύεται σε MP4 με ρυθμό 24 καρέ ανά δευτερόλεπτο. Η διάρκεια ορίζεται ως ακέραιος αριθμός από 3 έως 15 δευτερόλεπτα. Μπορείτε να επιλέξετε ανάλυση 480P, 720P ή 1080P· υποστηρίζεται η δημιουργία ηχητικής συνοδείας.

Διατίθενται οριζόντια, κάθετα και τετράγωνα καρέ: 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 και 21:9. Η επιλογή μορφής βοηθά να οριστεί εκ των προτέρων ο χώρος της σύνθεσης για τη νέα σκηνή.

Το κείμενο μπορεί να είναι σε οποιαδήποτε γλώσσα. Το όριο είναι 5000 μη κινεζικοί ή 2500 κινεζικοί χαρακτήρες και το επιπλέον τμήμα απορρίπτεται. Οι σημαντικότεροι ρόλοι των εικόνων αναφοράς, η δράση και η κίνηση πρέπει να περιγράφονται μέσα σε αυτό το όριο. Η αρχική τιμή τυχαιότητας μπορεί να επηρεάζει την ομοιότητα των παραλλαγών, αλλά δεν εγγυάται ακριβή επανάληψη του ίδιου βίντεο.

Ailoot · Βίντεο POST /v1/videos/generations happyhorse-1.1-r2v

happyhorse-1.1-r2v

Alibaba /happyhorse-1.1-r2v
ID μοντέλου
  • happyhorse-1.1-r2v
  • happyhorse-r2v
  • happyhorse-r2v-latest

Εισαγωγή

Μοντέλο δημιουργίας βίντεο από εικόνες αναφοράς και γραπτό σενάριο. Βοηθά να διατηρούνται η εμφάνιση των χαρακτήρων, τα αντικείμενα και το οπτικό ύφος σε μια νέα σκηνή.

Αποδεκτές είσοδοι
Κείμενο · Εικόνες
Αποτελέσματα
Βίντεο

Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι

Ailoot · Βίντεο POST /v1/videos/generations
Είσοδος
text, image
Έξοδος
video
Μορφή εξόδου
mp4
ΠεδίοΤύποςΑπαίτησηΤιμές και όριαΠροεπιλογή
ΠεδίοmodelΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όρια
happyhorse-1.1-r2v
Προεπιλογή—
ΠεδίοpromptΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όρια
Ελάχιστο μήκος: 1
Προεπιλογή—
ΠεδίοdurationΤύποςintegerΑπαίτησηΠροαιρετικόΤιμές και όρια
Ελάχιστο: 3
Μέγιστο: 15
Μονάδα: δευτερόλεπτα
Προεπιλογή5
ΠεδίοresolutionΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
480P, 720P, 1080P
Προεπιλογή720P
ΠεδίοratioΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Προεπιλογή16:9
Πεδίοimage_urlsΤύποςhttps_url|data_image_url[]ΑπαίτησηΥποχρεωτικόΤιμές και όρια
Ελάχιστο πλήθος στοιχείων: 1
Μέγιστο πλήθος στοιχείων: 9
Μέγιστο πλήθος αποκωδικοποιημένων byte: 20.971.520
Τύποι MIME: image/jpeg, image/png, image/webp
Προεπιλογή—
Συνδυασμοί υλικών εισόδου

reference_images_to_video · Υποχρεωτικό: prompt, image_urls

Παράμετροι και κύκλος ζωής μεθόδου
ΠαράμετροςΣύμβαση
Παράμετροςcontent_typeΣύμβασηapplication/json
ΠαράμετροςrequiredΣύμβασηmodel, prompt, image_urls
Παράμετροςmaterial_typesΣύμβασηtext, image
ΠαράμετροςoptionalΣύμβασηduration, resolution, ratio
Παράμετροςduration_integer_rangeΣύμβαση3, 15
Παράμετροςdefault_durationΣύμβαση5
ΠαράμετροςresolutionΣύμβαση480P, 720P, 1080P
Παράμετροςdefault_resolutionΣύμβαση720P
ΠαράμετροςratioΣύμβαση16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Παράμετροςratio_must_omitΣύμβασηfalse
Παράμετροςimage_urlsΣύμβαση{"min_count":1,"max_count":9,"schemes":["https","δεδομένα εικόνας raster σε base64"],"max_data_image_bytes":20971520}

Κύκλος ζωής: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων.

Τιμολόγηση

Χρεώσεις μεθόδων Ailoot

Ailoot ΒίντεοPOST /v1/videos/generations
Έξοδος
0,18 $ ανά δευτερόλεπτο στα 1080p
Έξοδος
0,07 $ ανά δευτερόλεπτο στα 480p
Έξοδος
0,14 $ ανά δευτερόλεπτο στα 720p

Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →

Παραδείγματα αιτημάτων

Ailoot · Βίντεο

Εικόνα αναφοράς
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-1.1-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
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/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Λήψη και αποθήκευση αποτελεσμάτων

Ailoot · Βίντεο

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Έλεγχος κατάστασης εργασίας
Λήψη κατάστασης με GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Αποθηκεύστε όλα τα ολοκληρωμένα αρχεία
Λήψη όλων των ολοκληρωμένων αρχείων με GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Άλλες ανακτήσεις περιεχομένου
Λήψη περιεχομένου με GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα

Αποθηκεύστε κάθε ολοκληρωμένο βίντεο ή αρχείο που επιστρέφεται· ανακτήστε κάθε πραγματικό URL αρχείου που επιστρέφεται.

Διατηρήστε κάθε στοιχείο δεδομένων και δείκτη εξόδου που επιστρέφεται. Το content_url αφορά μόνο το πρώτο· ανακτήστε κάθε πραγματική διαδρομή περιεχομένου ή αρχείο πολυμέσων. Το GET περιεχομένου χωρίς index δεν αντιστοιχεί σε όλες τις εξόδους.

Αν χρειάζεται έλεγχος της αρχικής απάντησης

Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.

Πεδία απάντησης
ΠεδίοΤύπος
ΠεδίοidΤύποςstring
ΠεδίοobjectΤύποςstring
ΠεδίοmodelΤύποςstring
ΠεδίοstatusΤύποςstring
Πεδίοcontent_urlΤύποςsigned URL
Πεδίοdata[]Τύποςsigned URL
ΠεδίοusageΤύποςobject
Πεδίοresult_pending_checkΤύποςboolean
Σφάλματα και επόμενα βήματα
ΑπάντησηΣυνθήκηΕπόμενο βήμα
Απάντηση400 · invalid_request_errorΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρουΕπόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.
Απάντηση409 · video_not_readyΣυνθήκηΤο περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμοΕπόμενο βήμαΕλέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After.
Απάντησηserver_errorΣυνθήκηΗ απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχοΕπόμενο βήμαΔιατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.

Εναλλακτικά ονόματα

Εναλλακτικά ονόματα μοντέλου

Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Εναλλακτικές διαδρομές μεθόδων

Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.

Σχετικά ID μοντέλων

happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Ailoot · Βίντεο POST /v1/videos/generations happyhorse-r2v

happyhorse-r2v

Alibaba /happyhorse-r2v
ID μοντέλου
  • happyhorse-1.1-r2v
  • happyhorse-r2v
  • happyhorse-r2v-latest

Εισαγωγή

Μοντέλο δημιουργίας βίντεο από εικόνες αναφοράς και γραπτό σενάριο. Βοηθά να διατηρούνται η εμφάνιση των χαρακτήρων, τα αντικείμενα και το οπτικό ύφος σε μια νέα σκηνή.

Αποδεκτές είσοδοι
Κείμενο · Εικόνες
Αποτελέσματα
Βίντεο

Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι

Ailoot · Βίντεο POST /v1/videos/generations
Είσοδος
text, image
Έξοδος
video
Μορφή εξόδου
mp4
ΠεδίοΤύποςΑπαίτησηΤιμές και όριαΠροεπιλογή
ΠεδίοmodelΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όρια
happyhorse-r2v
Προεπιλογή—
ΠεδίοpromptΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όρια
Ελάχιστο μήκος: 1
Προεπιλογή—
ΠεδίοdurationΤύποςintegerΑπαίτησηΠροαιρετικόΤιμές και όρια
Ελάχιστο: 3
Μέγιστο: 15
Μονάδα: δευτερόλεπτα
Προεπιλογή5
ΠεδίοresolutionΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
480P, 720P, 1080P
Προεπιλογή720P
ΠεδίοratioΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Προεπιλογή16:9
Πεδίοimage_urlsΤύποςhttps_url|data_image_url[]ΑπαίτησηΥποχρεωτικόΤιμές και όρια
Ελάχιστο πλήθος στοιχείων: 1
Μέγιστο πλήθος στοιχείων: 9
Μέγιστο πλήθος αποκωδικοποιημένων byte: 20.971.520
Τύποι MIME: image/jpeg, image/png, image/webp
Προεπιλογή—
Συνδυασμοί υλικών εισόδου

reference_images_to_video · Υποχρεωτικό: prompt, image_urls

Παράμετροι και κύκλος ζωής μεθόδου
ΠαράμετροςΣύμβαση
Παράμετροςmaterial_typesΣύμβασηtext, image
ΠαράμετροςrequiredΣύμβασηnull
Παράμετροςoptional_controlsΣύμβασηnull

Κύκλος ζωής: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων.

Τιμολόγηση

Χρεώσεις μεθόδων Ailoot

Ailoot ΒίντεοPOST /v1/videos/generations
Έξοδος
0,18 $ ανά δευτερόλεπτο στα 1080p
Έξοδος
0,07 $ ανά δευτερόλεπτο στα 480p
Έξοδος
0,14 $ ανά δευτερόλεπτο στα 720p

Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →

Παραδείγματα αιτημάτων

Ailoot · Βίντεο

Εικόνα αναφοράς
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
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/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Λήψη και αποθήκευση αποτελεσμάτων

Ailoot · Βίντεο

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Έλεγχος κατάστασης εργασίας
Λήψη κατάστασης με GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Αποθηκεύστε όλα τα ολοκληρωμένα αρχεία
Λήψη όλων των ολοκληρωμένων αρχείων με GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Άλλες ανακτήσεις περιεχομένου
Λήψη περιεχομένου με GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα

Αποθηκεύστε κάθε ολοκληρωμένο βίντεο ή αρχείο που επιστρέφεται· ανακτήστε κάθε πραγματικό URL αρχείου που επιστρέφεται.

Διατηρήστε κάθε στοιχείο δεδομένων και δείκτη εξόδου που επιστρέφεται. Το content_url αφορά μόνο το πρώτο· ανακτήστε κάθε πραγματική διαδρομή περιεχομένου ή αρχείο πολυμέσων. Το GET περιεχομένου χωρίς index δεν αντιστοιχεί σε όλες τις εξόδους.

Αν χρειάζεται έλεγχος της αρχικής απάντησης

Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.

Πεδία απάντησης
ΠεδίοΤύπος
ΠεδίοidΤύποςstring
ΠεδίοobjectΤύποςstring
ΠεδίοmodelΤύποςstring
ΠεδίοstatusΤύποςstring
Πεδίοcontent_urlΤύποςsigned URL
Πεδίοdata[]Τύποςsigned URL
ΠεδίοusageΤύποςobject
Πεδίοresult_pending_checkΤύποςboolean
Σφάλματα και επόμενα βήματα
ΑπάντησηΣυνθήκηΕπόμενο βήμα
Απάντηση400 · invalid_request_errorΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρουΕπόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.
Απάντηση409 · video_not_readyΣυνθήκηΤο περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμοΕπόμενο βήμαΕλέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After.
Απάντησηserver_errorΣυνθήκηΗ απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχοΕπόμενο βήμαΔιατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.

Εναλλακτικά ονόματα

Εναλλακτικά ονόματα μοντέλου

Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Εναλλακτικές διαδρομές μεθόδων

Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.

Σχετικά ID μοντέλων

happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Ailoot · Βίντεο POST /v1/videos/generations happyhorse-r2v-latest

happyhorse-r2v-latest

Alibaba /happyhorse-r2v-latest
ID μοντέλου
  • happyhorse-1.1-r2v
  • happyhorse-r2v
  • happyhorse-r2v-latest

Εισαγωγή

Μοντέλο δημιουργίας βίντεο από εικόνες αναφοράς και γραπτό σενάριο. Βοηθά να διατηρούνται η εμφάνιση των χαρακτήρων, τα αντικείμενα και το οπτικό ύφος σε μια νέα σκηνή.

Αποδεκτές είσοδοι
Κείμενο · Εικόνες
Αποτελέσματα
Βίντεο

Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι

Ailoot · Βίντεο POST /v1/videos/generations
Είσοδος
text, image
Έξοδος
video
Μορφή εξόδου
mp4
ΠεδίοΤύποςΑπαίτησηΤιμές και όριαΠροεπιλογή
ΠεδίοmodelΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όρια
happyhorse-r2v-latest
Προεπιλογή—
ΠεδίοpromptΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όρια
Ελάχιστο μήκος: 1
Προεπιλογή—
ΠεδίοdurationΤύποςintegerΑπαίτησηΠροαιρετικόΤιμές και όρια
Ελάχιστο: 3
Μέγιστο: 15
Μονάδα: δευτερόλεπτα
Προεπιλογή5
ΠεδίοresolutionΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
480P, 720P, 1080P
Προεπιλογή720P
ΠεδίοratioΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, 21:9
Προεπιλογή16:9
Πεδίοimage_urlsΤύποςhttps_url|data_image_url[]ΑπαίτησηΥποχρεωτικόΤιμές και όρια
Ελάχιστο πλήθος στοιχείων: 1
Μέγιστο πλήθος στοιχείων: 9
Μέγιστο πλήθος αποκωδικοποιημένων byte: 20.971.520
Τύποι MIME: image/jpeg, image/png, image/webp
Προεπιλογή—
Συνδυασμοί υλικών εισόδου

reference_images_to_video · Υποχρεωτικό: prompt, image_urls

Παράμετροι και κύκλος ζωής μεθόδου
ΠαράμετροςΣύμβαση
Παράμετροςmaterial_typesΣύμβασηtext, image
ΠαράμετροςrequiredΣύμβασηnull
Παράμετροςoptional_controlsΣύμβασηnull

Κύκλος ζωής: submit_once_poll_original

GET /v1/videos/{request_id}

GET /v1/videos/generations/{request_id}

GET /v1/videos/{request_id}/content

GET /v1/videos/generations/{request_id}/content

Οι δομές και τα ID των μεθόδων είναι ακριβή· η δυνατότητα του προμηθευτή είναι ξεχωριστή από την αποδοχή αιτημάτων.

Τιμολόγηση

Χρεώσεις μεθόδων Ailoot

Ailoot ΒίντεοPOST /v1/videos/generations
Έξοδος
0,18 $ ανά δευτερόλεπτο στα 1080p
Έξοδος
0,07 $ ανά δευτερόλεπτο στα 480p
Έξοδος
0,14 $ ανά δευτερόλεπτο στα 720p

Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →

Παραδείγματα αιτημάτων

Ailoot · Βίντεο

Εικόνα αναφοράς
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URLS_FILE:?Set a JSON file containing your actual reference-image URLs}"
export AILOOT_IMAGE_URLS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "happyhorse-r2v-latest", "prompt": "The subject walks slowly toward the camera.", "duration": 5, "resolution": "720P"}')
from urllib.parse import urlsplit
f=Path(os.environ["AILOOT_IMAGE_URLS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual reference URL JSON file")
urls=json.loads(f.read_text())
if not isinstance(urls,list) or not 1<=len(urls)<=9:raise SystemExit("Provide one to nine reference-image URLs")
for u in urls:
    z=urlsplit(u) if isinstance(u,str) else None
    if not z or z.scheme!="https" or not z.netloc or z.username or z.password:raise SystemExit("Each reference must be an actual HTTPS image URL")
p["image_urls"]=urls
p["ratio"]="16:9"
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/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r))
PY_RESULT

Λήψη και αποθήκευση αποτελεσμάτων

Ailoot · Βίντεο

mp4

  • GET /v1/videos/{request_id}
  • GET /v1/videos/generations/{request_id}
  • GET /v1/videos/{request_id}/content
  • GET /v1/videos/generations/{request_id}/content
Έλεγχος κατάστασης εργασίας
Λήψη κατάστασης με GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
Αποθηκεύστε όλα τα ολοκληρωμένα αρχεία
Λήψη όλων των ολοκληρωμένων αρχείων με GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
Άλλες ανακτήσεις περιεχομένου
Λήψη περιεχομένου με GET
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/generations/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα

Αποθηκεύστε κάθε ολοκληρωμένο βίντεο ή αρχείο που επιστρέφεται· ανακτήστε κάθε πραγματικό URL αρχείου που επιστρέφεται.

Διατηρήστε κάθε στοιχείο δεδομένων και δείκτη εξόδου που επιστρέφεται. Το content_url αφορά μόνο το πρώτο· ανακτήστε κάθε πραγματική διαδρομή περιεχομένου ή αρχείο πολυμέσων. Το GET περιεχομένου χωρίς index δεν αντιστοιχεί σε όλες τις εξόδους.

Αν χρειάζεται έλεγχος της αρχικής απάντησης

Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.

Πεδία απάντησης
ΠεδίοΤύπος
ΠεδίοidΤύποςstring
ΠεδίοobjectΤύποςstring
ΠεδίοmodelΤύποςstring
ΠεδίοstatusΤύποςstring
Πεδίοcontent_urlΤύποςsigned URL
Πεδίοdata[]Τύποςsigned URL
ΠεδίοusageΤύποςobject
Πεδίοresult_pending_checkΤύποςboolean
Σφάλματα και επόμενα βήματα
ΑπάντησηΣυνθήκηΕπόμενο βήμα
Απάντηση400 · invalid_request_errorΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρουΕπόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.
Απάντηση409 · video_not_readyΣυνθήκηΤο περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμοΕπόμενο βήμαΕλέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After.
Απάντησηserver_errorΣυνθήκηΗ απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχοΕπόμενο βήμαΔιατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.

Εναλλακτικά ονόματα

Εναλλακτικά ονόματα μοντέλου

Ailoot happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

Εναλλακτικές διαδρομές μεθόδων

Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.

Σχετικά ID μοντέλων

happyhorse-1.1-r2v, happyhorse-r2v, happyhorse-r2v-latest

FAQ · happyhorse-1.1-r2v
Ποιες είσοδοι και αποτελέσματα διατίθενται;

POST /v1/videos/generations · happyhorse-1.1-r2v: text, image → video

POST /v1/videos/generations · happyhorse-r2v: text, image → video

POST /v1/videos/generations · happyhorse-r2v-latest: text, image → video

Ποια πεδία χρησιμοποιεί το αίτημα;

POST /v1/videos/generations · happyhorse-1.1-r2v: model, prompt, duration, resolution, ratio, image_urls

POST /v1/videos/generations · happyhorse-r2v: model, prompt, duration, resolution, ratio, image_urls

POST /v1/videos/generations · happyhorse-r2v-latest: model, prompt, duration, resolution, ratio, image_urls

Ποια όρια ισχύουν;

POST /v1/videos/generations · happyhorse-1.1-r2v: duration.minimum: 3; duration.maximum: 15

POST /v1/videos/generations · happyhorse-r2v: duration.minimum: 3; duration.maximum: 15

POST /v1/videos/generations · happyhorse-r2v-latest: duration.minimum: 3; duration.maximum: 15

Περισσότερες λεπτομέρειες

Συνδέστε το Ailoot με Claude Code, OpenCode, Hermes ή τη δική σας εφαρμογή.

Η εταιρεία και το χαρτοφυλάκιο έργων της

Η εταιρεία και το χαρτοφυλάκιο έργων της: εκατομμύρια πελάτες· μηνιαίες πωλήσεις δισεκατομμυρίων.

Αγοράστε token με έκπτωση.

Έκπτωση συνδρομής για τακτική χρήση. Προωθητικοί κωδικοί — έως 50% στην αγορά token.

Συνδρομή
Επιλέξτε πρόγραμμα με έκπτωση για τα τακτικά αιτήματά σας.
Προωθητικός κωδικός έως 50%
Εισαγάγετε τον κωδικό στην αγορά. Η τιμή επανυπολογίζεται σύμφωνα με την ενεργή προσφορά.
Δαπάνες στο ιστορικό
Μοντέλο, token και ποσό αποθηκεύονται για κάθε αίτημα.

Επιλέξτε συνδρομή · Δείτε τιμές μοντέλων

Συνδέστε το API με το προϊόν που πουλάτε.

SaaS, εφαρμογές και bot — σύμφωνα με τη δημόσια προσφορά και τη σύμβαση άδειας χρήσης Ailoot. Για μεταπώληση ζητήστε σχετική άδεια.

Εμπορική εφαρμογή
Ενσωματώστε δημιουργία κειμένου, εικόνων, βίντεο και ήχου στις πληρωμένες λειτουργίες της υπηρεσίας σας.
Άδεια για μεταπωλητή
Στείλτε περιγραφή έργου και τρόπο πρόσβασης. Ζητήστε γραπτούς όρους χρήσης και μεταπώλησης.
Έγγραφα στον ιστότοπο
Δημόσια προσφορά, σύμβαση άδειας χρήσης και πολιτική επεξεργασίας δεδομένων είναι διαθέσιμες πριν τη σύνδεση.

Ζητήστε άδεια μεταπώλησης · Δημόσια προσφορά και σύμβαση άδειας χρήσης