Google: Veo 3.1 Lite
Το Veo 3.1 Lite δημιουργεί βίντεο με εγγενή ήχο από περιγραφή κειμένου ή αρχική εικόνα. Η τεκμηριωμένη ροή Lite παράγει ένα κλιπ, με διάρκεια 4, 6 ή 8 δευτερολέπτων, οριζόντιο ή κάθετο κάδρο και συγκεκριμένα όρια που διαφέρουν από τα Veo 3.1 και Fast.
Σχετικά με το μοντέλο
Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.
Το Veo 3.1 Lite είναι το μέλος Lite της σειράς δημιουργίας βίντεο Veo 3 της Google. Συνθέτει βίντεο με ήχο από περιγραφή φυσικής γλώσσας ή εικόνα εισόδου. Η έξοδος είναι παραγόμενο κλιπ, όχι ανάλυση κειμένου μιας υπάρχουσας εγγραφής. Η κάρτα μοντέλου Lite του κατασκευαστή παραπέμπει στο Veo 3 για την υποκείμενη αρχιτεκτονική, το υλικό εκπαίδευσης και τους γνωστούς περιορισμούς, ενώ η ειδική τεκμηρίωση Lite ορίζει δικές του δυνατότητες και όρια δημιουργίας.
Η αναφερόμενη αρχιτεκτονική χρησιμοποιεί λανθάνουσα διάχυση σε χρονικές αναπαραστάσεις ήχου και χωροχρονικές αναπαραστάσεις βίντεο. Το βασικό μοντέλο εκπαιδεύτηκε σε ήχο, βίντεο και εικόνες, με λεζάντες διαφορετικού επιπέδου λεπτομέρειας και φιλτραρισμένο υλικό εκπαίδευσης από το οποίο αφαιρέθηκαν διπλότυπα. Αυτό εξηγεί τον σκοπό συνδυασμένης οπτικής και ηχητικής δημιουργίας. Δεν αποκαλύπτει αριθμό παραμέτρων ειδικό για το Lite ούτε αποδεικνύει ότι κάθε παραγόμενη κίνηση ακολουθεί τη φυσική πραγματικότητα. Για πρακτική σκηνή, αποφασίστε μαζί την ορατή δράση και τον αντίστοιχο ήχο.
Η συγκεκριμένη τεκμηρίωση Lite δίνει όριο εισόδου κειμένου 1,024 token και ένα βίντεο εξόδου. Η στήλη Lite στον οδηγό δημιουργίας αναφέρει διάρκειες 4, 6 και 8 δευτερολέπτων, με προεπιλογή 720p και 1080p που απαιτεί κλιπ 8 δευτερολέπτων. Η οριζόντια αναλογία 16:9 είναι προεπιλογή και αναφέρεται επίσης κάθετη 9:16· η έξοδος τεκμηριώνεται στα 24 καρέ ανά δευτερόλεπτο. Ο εγγενής ήχος είναι πάντα ενεργός σε αυτή τη ροή. Αυτές οι τιμές ανήκουν στην ονομασμένη ροή Lite του παραγωγού, όχι σε άσχετη έκδοση Veo ή χωριστά μετρημένη απόκριση εφαρμογής.
Το Lite δεν υποστηρίζει έξοδο 4K ή επέκταση βίντεο. Ο πίνακας παραμέτρων σημειώνει επίσης ως μη διαθέσιμα στη στήλη Lite τη δυνατότητα πολλαπλών αναφορών referenceImages και είσοδο βίντεο για επέκταση. Μια αρχική εικόνα μπορεί να καθορίζει το πρώτο καρέ· ο πίνακας αναφέρει εικόνα lastFrame μαζί με αυτή την αρχική εικόνα για μετάβαση. Κρατήστε αυτή τη διαδρομή ελέγχου καρέ χωριστή από τη μίξη αρκετών αναφορών ύφους ή θέματος. Οι ρυθμίσεις δημιουργίας προσώπων του παραγωγού εξαρτώνται από τη λειτουργία: ο πίνακας Lite αναφέρει allow_all για δημιουργία από κείμενο και allow_adult για δημιουργία από εικόνα και παρεμβολή, ενώ οι περιφερειακοί κανόνες μπορούν να περιορίζουν περαιτέρω αυτό το τεκμηριωμένο προφίλ. Επιλέξτε την αρχική εικόνα ώστε να ταιριάζει στην πρώτη σκηνή που πράγματι θέλετε, με θέμα, κάδρο και ορατές λεπτομέρειες έτοιμα πριν ζητήσετε κίνηση.
Για δημιουργία από κείμενο, περιγράψτε το θέμα, τη δράση του, το περιβάλλον και το επιθυμητό ύφος. Προσθέστε θέση και κίνηση κάμερας, κάδρο, εστίαση και φως όταν έχουν σημασία. Μια πρωτότυπη σκηνή προϊόντος θα μπορούσε να κρατά το αντικείμενο στο κέντρο ενώ η κάμερα πλησιάζει μια λεπτομέρεια υλικού και το γύρω φως αλλάζει απαλά. Προσδιορίστε την αρχική κατάσταση, την κύρια δράση και την τελική στιγμή, ώστε το σύντομο κλιπ να ολοκληρώνει μία συνεκτική ιδέα. Μια μακρά συλλογή άσχετων ενεργειών είναι διαφορετική εργασία από ένα εστιασμένο πλάνο.
Για δημιουργία από εικόνα, δώστε καθαρό αρχικό καρέ και εξηγήστε τι πρέπει να κινηθεί και τι να παραμείνει σταθερό. Προσδιορίστε χωριστά την κίνηση θέματος και κάθε κίνηση κάμερας. Αν χρησιμοποιείτε περιορισμό τελικού καρέ, προετοιμάστε συμβατή τελική σύνθεση και περιγράψτε τη μετάβαση μεταξύ τους. Εξετάστε το αποτέλεσμα αντί να θεωρείτε ότι η ζητούμενη ταυτότητα, θέση ή μορφή παραμένει ίδια σε όλο το κλιπ. Η αναφερόμενη κάρτα μοντέλου προσδιορίζει την πλήρη συνέπεια σε σύνθετες σκηνές και τη σύνθετη κίνηση ως συνεχιζόμενη πρόκληση.
Ο οδηγός προτροπών υποστηρίζει ρητές ενδείξεις για διάλογο, ηχητικά εφέ και ατμόσφαιρα. Βάλτε τα ακριβή λόγια σε εισαγωγικά, προσδιορίστε τον ομιλητή και περιγράψτε ήχους σε σχέση με την ορατή δράση. Ένα ηχητικό εφέ και η ατμόσφαιρα περιβάλλοντος δεν πρέπει να συγχέονται με προφορική φράση. Τα αγγλικά τεκμηριώνονται ως πλήρως υποστηριζόμενα για προτροπές, ενώ άλλες γλώσσες δεν έχουν αξιολογηθεί σε αυτόν τον οδηγό. Ελέγξτε τα ακουστά λόγια, τον χρονισμό και την ποιότητα ήχου ως μέρος του ίδιου παραδοτέου με το βίντεο, αντί να αντιμετωπίζετε τον ήχο ως εγγυημένα πιστή μεταγραφή της προτροπής.
Η ροή παραγωγού είναι ασύγχρονη: ένα αίτημα δημιουργίας επιστρέφει λειτουργία και το ολοκληρωμένο αποτέλεσμα λαμβάνεται αφού η κατάστασή της αναφέρει ολοκλήρωση. Κρατήστε την ταυτότητα λειτουργίας και εξετάστε το επιστρεφόμενο κλιπ. Ο οδηγός περιγράφει διατήρηση δύο ημερών στην πλευρά του παραγωγού και σήμανση SynthID, επομένως ένα διατηρημένο παραδοτέο πρέπει να περιλαμβάνει το ληφθέν αποτέλεσμα, την προτροπή, τις αρχικές εικόνες και τις επιλεγμένες ρυθμίσεις. Ένα seed μπορεί να βελτιώσει την επαναληψιμότητα, αλλά δεν εγγυάται ντετερμινισμό. Ελέγξτε τη συνέχεια θέματος, τη δράση, το κάδρο, τον ήχο και το επιθυμητό τελικό σημείο της σκηνής πριν χρησιμοποιήσετε το κλιπ σε μοντάζ· μόνη η ολοκλήρωση επεξεργασίας δεν αποδεικνύει ότι ικανοποιήθηκαν οι δημιουργικές απαιτήσεις.
Ailoot Ultra · Βίντεο POST /v1/videos google/veo-3.1-lite
google/veo-3.1-liteΕισαγωγή
Μετατρέψτε την περιγραφή μιας σκηνής σε βίντεο διάρκειας 4, 6 ή 8 δευτερολέπτων σε ανάλυση 720p.
- Δείξτε ένα προϊόν σε κίνηση
- Δημιουργήστε μια εισαγωγική σκηνή
- Δοκιμάστε μια σύντομη κίνηση της κάμερας
- Αποδεκτές είσοδοι
- Κείμενο · Εικόνες
- Αποτελέσματα
- Βίντεο
Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι
Ailoot Ultra · Βίντεο POST /v1/videos
- Είσοδος
text,image- Έξοδος
video- Μορφή εξόδου
- mp4
- Πλήθος εξόδων
- Έως 4 έξοδοςs
| Πεδίο | Τύπος | Απαίτηση | Τιμές και όρια | Προεπιλογή |
|---|---|---|---|---|
Πεδίοmodel | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια google/veo-3.1-lite | Προεπιλογή— |
Πεδίοprompt | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια Ελάχιστο μήκος: 1 Μέγιστο πλήθος byte: 10.000 Μονάδα: byte UTF8 | Προεπιλογή— |
Πεδίοduration | Τύποςinteger | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια 4, 6, 8 Μονάδα: δευτερόλεπτα | Προεπιλογή— |
Πεδίοresolution | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια 720p | Προεπιλογή— |
Πεδίοaspect_ratio | Τύποςstring | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια 16:9, 9:16 | Προεπιλογή— |
Πεδίοgenerate_audio | Τύποςboolean | ΑπαίτησηΥποχρεωτικό | Τιμές και όρια false | Προεπιλογή— |
Πεδίοframe_images | Τύποςarray | ΑπαίτησηΠροαιρετικό | Τιμές και όρια Συνθήκες: Παραλείψτε το για text_to_video. Αν υπάρχει: ακριβώς ένα στοιχείο {"type":"image_url","image_url":{"url":"<actual HTTPS URL>"},"frame_type":"first_frame"}· το στοιχείο έχει ακριβώς type,image_url,frame_type· το image_url έχει ακριβώς url. Δεν επιτρέπονται πρόσθετα ή διπλότυπα κλειδιά. Μόνο duration=4,resolution="720p",aspect_ratio="16:9",generate_audio=false. Το URL πρέπει να αναλύεται με σχήμα https, μη κενό όνομα κεντρικού υπολογιστή, χωρίς στοιχεία χρήστη και χωρίς κυριολεκτικό #· διατηρούνται το υπογεγραμμένο ερώτημα και η κωδικοποιημένη διαδρομή. Ο πηγαίος κώδικας δεν ελέγχει τον MIME εισόδου, το μέγεθος αρχείου ή τις διαστάσεις σε pixel. | Προεπιλογή— |
Συνδυασμοί υλικών εισόδου
Κείμενο σε βίντεο · Υποχρεωτικό: prompt
Εικόνα σε βίντεο · Υποχρεωτικό: prompt, frame_images
Παράμετροι και κύκλος ζωής μεθόδου
| Παράμετρος | Σύμβαση |
|---|---|
Παράμετροςcontent_type | Σύμβασηapplication/json |
Παράμετροςrequired | Σύμβασηmodel, prompt, duration, resolution, aspect_ratio, generate_audio |
Παράμετροςother_options | Σύμβασηfalse |
Παράμετροςresolution | Σύμβαση720p |
Παράμετροςprompt_max_bytes | Σύμβαση10000 |
Παράμετροςduration | Σύμβαση4, 6, 8 |
Παράμετροςaspect_ratio | Σύμβαση16:9, 9:16 |
Παράμετροςgenerate_audio | Σύμβασηfalse |
Παράμετροςmaterial_types | Σύμβασηtext, image |
Παράμετροςparameters | Σύμβαση{"name":"model","type":"string","required":true,"default_known":false,"default":null,"enum_known":true,"enum":["google/veo-3.1-lite"],"availability":"source_interface"}, {"name":"prompt","type":"string","required":true,"default_known":false,"default":null,"enum_known":false,"enum":null,"availability":"source_interface","min_length":1,"maximum_bytes":10000,"maximum_length":null,"unit":"byte UTF8"}, {"name":"duration","type":"integer","required":true,"default_known":false,"default":null,"enum_known":true,"enum":[4,6,8],"availability":"source_interface","unit":"δευτερόλεπτα"}, {"name":"resolution","type":"string","required":true,"default_known":false,"default":null,"enum_known":true,"enum":["720p"],"availability":"source_interface"}, {"name":"aspect_ratio","type":"string","required":true,"default_known":false,"default":null,"enum_known":true,"enum":["16:9","9:16"],"availability":"source_interface"}, {"name":"generate_audio","type":"boolean","required":true,"default_known":false,"default":null,"enum_known":true,"enum":[false],"availability":"source_interface"}, {"name":"frame_images","type":"array","required":false,"default_known":false,"default":null,"enum_known":false,"enum":null,"availability":"source_interface","conditions":"Παραλείψτε το για text_to_video. Αν υπάρχει: ακριβώς ένα στοιχείο {\"type\":\"image_url\",\"image_url\":{\"url\":\"<actual HTTPS URL>\"},\"frame_type\":\"first_frame\"}· το στοιχείο έχει ακριβώς type,image_url,frame_type· το image_url έχει ακριβώς url. Δεν επιτρέπονται πρόσθετα ή διπλότυπα κλειδιά. Μόνο duration=4,resolution=\"720p\",aspect_ratio=\"16:9\",generate_audio=false. Το URL πρέπει να αναλύεται με σχήμα https, μη κενό όνομα κεντρικού υπολογιστή, χωρίς στοιχεία χρήστη και χωρίς κυριολεκτικό #· διατηρούνται το υπογεγραμμένο ερώτημα και η κωδικοποιημένη διαδρομή. Ο πηγαίος κώδικας δεν ελέγχει τον MIME εισόδου, το μέγεθος αρχείου ή τις διαστάσεις σε pixel."} |
Εναλλακτικά ονόματα μεθόδου: /v1/videos/generations, /videos, /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/videos/generations/{request_id}/content
Δημιουργήστε μία φορά και αποθηκεύστε το ID που επιστρέφεται.
Ελέγχετε περιοδικά την αρχική κατάσταση· διατηρήστε κάθε ολοκληρωμένο αρχείο πολυμέσων και τη διάρκειά του.
Τιμολόγηση
Πώς υπολογίζεται η τελική χρέωση
Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.
Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.
- Γρήγορη λειτουργία
- Δεν έχει οριστεί Όταν επιλέγεται η γρήγορη λειτουργία
- Λειτουργία flex
- Δεν έχει οριστεί Όταν επιλέγεται η λειτουργία flex
- Μέγιστη προσπάθεια συλλογισμού
- Δεν έχει οριστεί Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default
Εκτιμώμενες χρεώσεις για σύγκριση
Τιμές ανά διαμόρφωση
Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.
| Διαμόρφωση | Πίνακας χρεώσεων | Προβλεπόμενη ποσότητα | Δημιουργία ήχου | Ανάλυση | Μονάδα τιμολόγησης | Συνθήκες χρέωσης | Χρέωση |
|---|---|---|---|---|---|---|---|
| ΔιαμόρφωσηΒασικές χρεώσεις token | Πίνακας χρεώσεωνΒασική χρέωση | Προβλεπόμενη ποσότητα— | Δημιουργία ήχου— | Ανάλυση— | Μονάδα τιμολόγησης— | Συνθήκες χρέωσης— | Χρέωση Είσοδος · Token εισόδου · Εκτίμηση μόνο για σύγκριση — / 1K token Έξοδος · Token εξόδου · Εκτίμηση μόνο για σύγκριση — / 1K token Είσοδος · Ανάγνωση από την κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση — / 1K token Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα · Εκτίμηση μόνο για σύγκριση — / 1K token |
| ΔιαμόρφωσηΤιμή βίντεο | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότητα— | Δημιουργία ήχου— | Ανάλυση— | Μονάδα τιμολόγησηςανά δευτερόλεπτο βίντεο | Συνθήκες χρέωσηςήχος: with_audio | Χρέωση Έξοδος · Τιμή βίντεο · Εκτίμηση μόνο για σύγκριση $0.16 ανά δευτερόλεπτο βίντεο |
| ΔιαμόρφωσηΤιμή βίντεο | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότητα— | Δημιουργία ήχου— | Ανάλυση— | Μονάδα τιμολόγησηςανά δευτερόλεπτο βίντεο | Συνθήκες χρέωσηςήχος: with_audio; ανάλυση: 720p | Χρέωση Έξοδος · Τιμή βίντεο · Εκτίμηση μόνο για σύγκριση $0.1 ανά δευτερόλεπτο βίντεο |
| ΔιαμόρφωσηΤιμή βίντεο | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότητα— | Δημιουργία ήχου— | Ανάλυση— | Μονάδα τιμολόγησηςανά δευτερόλεπτο βίντεο | Συνθήκες χρέωσηςήχος: without_audio | Χρέωση Έξοδος · Τιμή βίντεο · Εκτίμηση μόνο για σύγκριση $0.1 ανά δευτερόλεπτο βίντεο |
| ΔιαμόρφωσηUltra | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότηταΖητούμενες ρυθμίσεις· μόνο εκτίμηση. | Δημιουργία ήχουΧωρίς ήχο | Ανάλυση720p | Μονάδα τιμολόγησηςανά δευτερόλεπτο βίντεο εξόδου | Συνθήκες χρέωσης— | Χρέωση Έξοδος · Εκτιμώμενο δευτερόλεπτο βίντεο εξόδου · Εκτίμηση μόνο για σύγκριση $0.06 ανά δευτερόλεπτο βίντεο εξόδου Η εμφανιζόμενη τιμή εκτιμά το κόστος πριν από τη δημιουργία. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική δημιουργία. Η πραγματική διάρκεια βίντεο δεν αποτελεί τη χρεώσιμη ποσότητα. |
| ΔιαμόρφωσηΕκτιμώμενο κόστος δημιουργίας | Πίνακας χρεώσεων— | Προβλεπόμενη ποσότηταεκτίμηση για μία δημιουργία | Δημιουργία ήχου— | Ανάλυση— | Μονάδα τιμολόγησης— | Συνθήκες χρέωσης— | Χρέωση Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση $0.24 εκτίμηση πριν από τη δημιουργία Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή. |
Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. Πώς λειτουργούν η δέσμευση και η εκκαθάριση →
Στοιχεία τιμοκαταλόγου αναφοράς
Οι πίνακες αναφοράς του μοντέλου δεν αλλάζουν την επιλογή μεθόδου, τις εκτιμήσεις τιμής ή τις χρεώσεις. Οι εφαρμοζόμενες χρεώσεις χρησιμοποιούν τις τιμές της επιλεγμένης μεθόδου Ailoot.
Τιμές αναφοράς για διαμορφώσεις βίντεο
Τιμές ανά διαμόρφωση
Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.
| Διαμόρφωση | Συνθήκες χρέωσης | Χρέωση |
|---|---|---|
| ΔιαμόρφωσηΤιμή βίντεο | Συνθήκες χρέωσηςήχος: with_audio | Χρέωση Έξοδος · Τιμή βίντεο $0.16 ανά δευτερόλεπτο βίντεο Δημοσιευμένη αναφορά τιμής για την εμφανιζόμενη διαμόρφωση. Οι τελικές χρεώσεις ακολουθούν την πραγματική διαμόρφωση που χρεώθηκε. |
| ΔιαμόρφωσηΤιμή βίντεο | Συνθήκες χρέωσηςήχος: without_audio | Χρέωση Έξοδος · Τιμή βίντεο $0.1 ανά δευτερόλεπτο βίντεο Δημοσιευμένη αναφορά τιμής για την εμφανιζόμενη διαμόρφωση. Οι τελικές χρεώσεις ακολουθούν την πραγματική διαμόρφωση που χρεώθηκε. |
| ΔιαμόρφωσηΤιμή βίντεο | Συνθήκες χρέωσηςήχος: with_audio; ανάλυση: 720p | Χρέωση Έξοδος · Τιμή βίντεο $0.1 ανά δευτερόλεπτο βίντεο Δημοσιευμένη αναφορά τιμής για την εμφανιζόμενη διαμόρφωση. Οι τελικές χρεώσεις ακολουθούν την πραγματική διαμόρφωση που χρεώθηκε. |
| ΔιαμόρφωσηΤιμή βίντεο | Συνθήκες χρέωσηςήχος: without_audio; ανάλυση: 720p | Χρέωση Έξοδος · Τιμή βίντεο $0.06 ανά δευτερόλεπτο βίντεο Δημοσιευμένη αναφορά τιμής για την εμφανιζόμενη διαμόρφωση. Οι τελικές χρεώσεις ακολουθούν την πραγματική διαμόρφωση που χρεώθηκε. |
Παραδείγματα αιτημάτων
Ailoot Ultra · Βίντεο
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/veo-3.1-lite", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 4, "resolution": "720p", "aspect_ratio": "16:9", "generate_audio": false}')
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
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_URL:?Set the actual HTTPS URL of your first-frame image}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os,re
from pathlib import Path
from urllib.parse import urlsplit
image=os.environ["AILOOT_IMAGE_URL"]
try:
parsed=urlsplit(image)
valid=(image.startswith("https://") and parsed.scheme=="https" and bool(parsed.hostname)
and parsed.username is None and parsed.password is None and "#" not in image
and not any(ord(c)<32 or ord(c)==127 for c in image)
and re.search(r"%(?![0-9A-Fa-f]{2})",image) is None)
except ValueError:
valid=False
if not valid:
raise SystemExit("Use your actual HTTPS image URL with a hostname, no userinfo and no fragment")
p={"model":"google/veo-3.1-lite","prompt":"The subject makes a slow, natural movement. Keep the opening composition.","duration":4,"resolution":"720p","aspect_ratio":"16:9","generate_audio":False,"frame_images":[{"type":"image_url","image_url":{"url":image},"frame_type":"first_frame"}]}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False),encoding="utf-8")
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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print("Keep the complete JSON, headers and original returned id. Use the existing GET status tab for that original operation, then save every completed owned output. Never resubmit an unknown generation.")
PY_RESULT
Λήψη και αποθήκευση αποτελεσμάτων
Ailoot Ultra · Βίντεο
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Έλεγχος κατάστασης εργασίας
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/$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
Αποθηκεύστε όλα τα ολοκληρωμένα αρχεία
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
Άλλες ανακτήσεις περιεχομένου
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/$operation_id/content" \
-H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα
Αποθηκεύστε κάθε ολοκληρωμένο βίντεο ή αρχείο που επιστρέφεται· ανακτήστε κάθε πραγματικό URL αρχείου που επιστρέφεται.
Το ολοκληρωμένο data[] περιέχει όλα τα υπογεγραμμένα URL περιεχομένου που σας ανήκουν. Ανακτήστε κάθε URL που επιστρέφεται ή χρησιμοποιήστε το τελικό σημείο περιεχομένου με το index ορισμένο σε πραγματικό δείκτη εξόδου. Μια αποτυχημένη αρχική εργασία μπορεί να επιστρέψει charge_pending_check· ελέγξτε αυτή την αρχική εργασία αντί να τη δημιουργήσετε ξανά. Έγκυρο ηχητικό κομμάτι AAC μπορεί να υπάρχει ακόμη και με generate_audio=false· διατηρήστε ολόκληρο το αρχικό MP4 μαζί με αυτόν τον ήχο.
Αν χρειάζεται έλεγχος της αρχικής απάντησης
Διαβάστε την υπάρχουσα αρχική εργασία· μην επανυποβάλετε ποτέ αποστολή με άγνωστο αποτέλεσμα.
Μέγιστο πλήθος εξόδων: 4.
Πεδία απάντησης
| Πεδίο | Τύπος | Σημασία |
|---|---|---|
Πεδίοid | Τύποςstring | Σημασία— |
Πεδίοobject | Τύποςstring | Σημασία— |
Πεδίοmodel | Τύποςstring | Σημασία— |
Πεδίοstatus | Τύποςstring | Σημασία— |
Πεδίοdata[] | Τύποςsigned content URL | Σημασία— |
Πεδίοcharge_pending_check | Τύποςboolean | Σημασία— |
Πεδίοerror.code | Τύποςstring | Σημασία— |
Πεδίοerror.message | Τύποςstring | Σημασία— |
Πεδίοoperation_id | Τύποςstring | ΣημασίαΑρχική απόκριση κατάστασης ή περιεχομένου HTTP503 result_pending_check: το ίδιο αρχικό δημόσιο ID βίντεο ως id. |
Πεδίοerror.type | Τύποςstring | Σημασίαserver_error σε HTTP503 result_pending_check. |
Σφάλματα και επόμενα βήματα
| Απάντηση | Συνθήκη | Επόμενο βήμα |
|---|---|---|
Απάντηση400 · invalid_request_error | ΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρου | Επόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας. |
Απάντηση409 · video_not_ready | ΣυνθήκηΤο περιεχόμενο του αρχικού αποτελέσματος δεν είναι ακόμη διαθέσιμο | Επόμενο βήμαΕλέγχετε περιοδικά το αρχικό ID που επιστρέφεται και τηρείτε το Retry-After. |
Απάντησηserver_error | ΣυνθήκηΗ απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχο | Επόμενο βήμαΔιατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας. |
Απάντηση503 · result_pending_check | ΣυνθήκηGET αρχικής κατάστασης ή περιεχομένου: η εργασία δεν έχει δημοσιευτεί, η αρχική εργασία δεν είναι failed/cancelled/expired και η τοπική κατάσταση είναι unknown ή η κατάσταση της αρχικής εργασίας είναι completed. | Επόμενο βήμαΔιατηρήστε τα αρχικά id και operation_id (το ίδιο δημόσιο ID βίντεο), την απόκριση και τις κεφαλίδες· διαβάστε μόνο την αρχική κατάσταση ή περιεχόμενο. Μην υποβάλετε ποτέ νέο αίτημα δημιουργίας. |
Απάντηση422 · price_unavailable | ΣυνθήκηΑποτυγχάνει η ανάλυση ενός παρεχόμενου αντικειμένου frame_images ή του υπό προϋποθέσεις προφίλ του, ή το πλήρες αναλυμένο προφίλ δεν διαθέτει έτοιμη κάρτα με την ακριβή τιμή. | Επόμενο βήμαΔιατηρήστε τα model, prompt, duration, resolution, aspect_ratio και generate_audio. Προσθέστε frame_images που περιέχει ακριβώς ένα στοιχείο first_frame στην καθορισμένη μορφή αντικειμένου. Ορίστε duration=4, resolution="720p", aspect_ratio="16:9" και generate_audio=false. Αυτή η επικύρωση εκτελείται πριν σταλεί το αίτημα. |
Εναλλακτικά ονόματα
Εναλλακτικά ονόματα μοντέλου
Ailoot Ultra google/veo-3.1-lite
Εναλλακτικές διαδρομές μεθόδων
/v1/videos/generations, /videos, /videos/generations
Σχετικά ID μοντέλων
FAQ · Google: Veo 3.1 Lite
- Ποιες είσοδοι και αποτελέσματα διατίθενται;
POST /v1/videos·google/veo-3.1-lite:text,image→video- Ποια πεδία χρησιμοποιεί το αίτημα;
POST /v1/videos·google/veo-3.1-lite:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images