{
  "aboutHtml": "<p>Το FLUX Video Edit [fast] είναι η ροή της Black Forest Labs για αλλαγή υπάρχοντος βίντεο με καθοδήγηση από προτροπή. Δέχεται ένα αρχικό απόσπασμα και οδηγία που περιγράφει την επεξεργασία και έπειτα επιστρέφει επεξεργασμένο MP4. Η πηγή καθορίζει το πλάνο: διάρκεια, κάδρο, κίνηση κάμερας και χρονισμός παρέχουν την αρχική δομή. Χρησιμοποιήστε την προτροπή για να προσδιορίσετε τι πρέπει να αλλάξει, αντί να γράφετε μια εντελώς νέα περιγραφή σκηνής που αφήνει ασαφή την επιδιωκόμενη αλλαγή.</p><h4>Κατονομασία της αλλαγής και της θέσης της</h4><p>Οι τεκμηριωμένες επεξεργασίες περιλαμβάνουν αφαίρεση, προσθήκη ή αντικατάσταση αντικειμένων και χαρακτήρων, ανακατασκευή σκηνικού, αλλαγή ύφους αποσπάσματος, αλλαγή ορατού κειμένου και αναθεώρηση διαλόγου ή ήχου. Ξεκινήστε με τον στόχο και την ενέργεια. Μια πρωτότυπη οδηγία θα μπορούσε να αφαιρεί μια τσάντα από μια καρέκλα διατηρώντας το καθισμένο άτομο και το δωμάτιο ή να αντικαθιστά μια απλή κούπα με μπλε εμαγιέ κούπα χωρίς αλλαγή της κίνησης του χεριού. Αν είναι ορατά πολλά παρόμοια αντικείμενα, διακρίνετε τον στόχο μέσω θέσης, εμφάνισης ή ρόλου.</p><p>Για προσθήκη, περιγράψτε θέση, κλίμακα και σχετική δράση. Ένα ψηλό κόκκινο φωτιστικό δίπλα στον καναπέ είναι πιο συγκεκριμένο από ένα απροσδιόριστο επιπλέον φωτιστικό κάπου στο πλάνο. Για αντικατάσταση, προσδιορίστε τι μετατρέπεται σε τι και την κίνηση ή επαφή που πρέπει να διατηρηθεί. Ο οδηγός προτροπών του κατασκευαστή συνιστά τη συντομότερη οδηγία που κατονομάζει πλήρως την αλλαγή, προσθέτοντας λεπτομέρεια όπου την απαιτεί η επεξεργασία. Διατηρήστε σκόπιμα χαρακτηριστικά της πηγής αντί να ζητάτε γενική βελτίωση της οποίας το εύρος δεν μπορεί να αξιολογηθεί.</p><h4>Σκηνικά, ύφη και πρόχειρο animation</h4><p>Μια αλλαγή σκηνικού μπορεί να ανακατασκευάζει το ορατό περιβάλλον διατηρώντας τη δράση. Ο κατασκευαστής δείχνει αντικατάσταση επιφάνειας αναρρίχησης με διαφορετική δομή και προσδιορισμό των νέων σημείων επαφής, ώστε τα χέρια και τα πόδια του χαρακτήρα να εξακολουθούν να έχουν ουσιαστική επιφάνεια. Σε μια πρακτική σκηνή, περιγράψτε το αλλαγμένο περιβάλλον και τη γεωμετρία στην οποία βασίζεται η υπάρχουσα κίνηση. Ένα νέο φόντο αξιολογείται ευκολότερα όταν η αρχική δράση έχει ρητή σχέση μαζί του.</p><p>Ο οδηγός δείχνει επίσης μετατροπή ενός πρόχειρου animation σε ολοκληρωμένη οπτική απόδοση. Κατονομάστε ποια αντικείμενα της αρχικής χωροθέτησης μετατρέπονται στα επιδιωκόμενα οχήματα ή αντικείμενα και διατηρήστε διαδρομές, ταχύτητες και σχέση με την κάμερα. Για αλλαγή ύφους, περιγράψτε τα τελικά υλικά, τις επιφάνειες, το φως και τις αντανακλάσεις, καθώς και την αισθητική. Μια σκηνή που μοιάζει με πηλό και μια φωτογραφική σκηνή χρειάζονται διαφορετικά ορατά στοιχεία, ακόμη και όταν ακολουθούν την ίδια δράση.</p><p>Μια περαιτέρω αναθεώρηση μπορεί να χρησιμοποιεί το πρώτο επεξεργασμένο αποτέλεσμα ως νέα πηγή. Διατηρήστε το αρχικό και κάθε επιλεγμένο στάδιο και δώστε στο επόμενο πέρασμα έναν σαφή σκοπό. Το τεκμηριωμένο παράδειγμα ακολουθεί μια πρόχειρη προεπισκόπηση μέχρι ολοκληρωμένο σκηνικό και έπειτα άλλη απόδοση φωτισμού. Μετά από κάθε πέρασμα, συγκρίνετε το αναθεωρημένο απόσπασμα με την προηγούμενη πηγή και ελέγξτε ότι τα χαρακτηριστικά που θέλατε να κρατήσετε παραμένουν παρόντα.</p><h4>Ο διάλογος πρέπει να χωρά στον υπάρχοντα χρόνο</h4><p>Η ροή μεταφέρει τον αρχικό ήχο, εκτός αν η οδηγία ζητά αλλαγή διαλόγου ή ήχου. Μια σιωπηλή πηγή επιστρέφει σιωπηλό αποτέλεσμα, επομένως δεν παρέχει υπάρχουσα ομιλία προς αναθεώρηση. Για επεξεργασία διαλόγου, παραθέστε την επιδιωκόμενη ατάκα, προσδιορίστε τον ομιλητή και προσαρμόστε τις νέες λέξεις στον χρόνο που καταλαμβάνει η αρχική ατάκα. Ο οδηγός αναφέρει ότι μια μεγαλύτερη αντικατάσταση κόπηκε όταν υπερέβη το διαθέσιμο διάστημα ομιλίας. Η συγγραφή περισσότερων λέξεων δεν δημιουργεί πρόσθετο χρόνο ομιλίας μέσα στο υπάρχον πλάνο.</p><p>Ελέγξτε την ακουστή ατάκα μαζί με την ορατή ερμηνεία. Κρατήστε αντίγραφο της αρχικής διατύπωσης και της επιδιωκόμενης αντικατάστασης, ώστε να μπορεί να εντοπιστεί λέξη που παραλείφθηκε, φράση με λάθος χρονισμό ή ανεπιθύμητη αλλαγή ήχου. Το χρήσιμο αποτέλεσμα είναι η αναθεωρημένη προφορική στιγμή μέσα στην επεξεργασμένη σκηνή, όχι μια υποτιθέμενη πιστή απομαγνητοφώνηση μόνο και μόνο επειδή ολοκληρώθηκε η απόδοση.</p><h4>Όρια πηγής και έξοδος που κληρονομείται</h4><p>Το ακριβές προφίλ του κατασκευαστή απαιτεί βίντεο και προτροπή επεξεργασίας. Η οδηγία έχει από έναν έως 4.096 χαρακτήρες μετά την αφαίρεση των κενών στην αρχή και στο τέλος. Το απόσπασμα παρέχεται μέσω URL ή κωδικοποιημένου MP4, με μέγιστη διάρκεια δεκαπέντε δευτερολέπτων και όριο εισόδου πενήντα MiB. Κάθε πλευρά πρέπει να είναι τουλάχιστον 160 pixel και το κανονικοποιημένο απόσπασμα πρέπει να περιέχει τουλάχιστον δεκαεπτά καρέ στα 24 fps, περίπου επτά δέκατα του δευτερολέπτου. Οι υπερβολικά μεγάλες πηγές απορρίπτονται αντί να περικόπτονται σιωπηλά· οι πολύ μικρές πηγές μπορεί να αποτύχουν κατά την επεξεργασία.</p><p>Η τεκμηριωμένη ροή χρησιμοποιεί επεξεργασία 24 fps και ακολουθεί τη διάρκεια και την αναλογία διαστάσεων της πηγής. Είσοδοι πάνω από το προφίλ 720p μειώνονται σε ανάλυση· ο κατασκευαστής δίνει παράδειγμα πηγής 1920×1088 που επιστρέφεται ως 1248×704. Η διάρκεια, η ανάλυση και η αναλογία διαστάσεων δεν είναι ανεξάρτητες ρυθμίσεις εξόδου σε αυτό το προφίλ επεξεργασίας. Η συνταγή δειγματοληψίας καθορίζεται εσωτερικά και πεδία όπως mode, version, seed ή generate_audio δεν γίνονται δεκτά στη δηλωμένη σύμβαση αιτήματος.</p><p>Ένα βίντεο που χρησιμοποιείται μόνο ως έμπνευση κίνησης ή ύφους για νέο πλάνο ανήκει σε διαφορετική ροή. Αυτός ο επεξεργαστής δεν δέχεται αναφορά εικόνας, είσοδο μόνο ήχου, μάσκες ή αίτημα επέκτασης αποσπάσματος. Προετοιμάστε το πραγματικό βίντεο προς αλλαγή και διατηρήστε την επιλεγμένη διάρκειά του πριν γράψετε την επεξεργασία. Μετά την ασύγχρονη επεξεργασία, ο κατασκευαστής επιστρέφει το επεξεργασμένο MP4 μέσω προσωρινού υπογεγραμμένου συνδέσμου παράδοσης, έγκυρου για περίπου μία ώρα. Αποθηκεύστε το αποτέλεσμα και συγκρίνετε το αλλαγμένο αντικείμενο, τα γύρω καρέ, τον χρονισμό και τον ήχο με την πηγή πριν χρησιμοποιήσετε το απόσπασμα σε μεγαλύτερο μοντάζ.</p>",
  "aboutText": "Το FLUX Video Edit [fast] είναι η ροή της Black Forest Labs για αλλαγή υπάρχοντος βίντεο με καθοδήγηση από προτροπή. Δέχεται ένα αρχικό απόσπασμα και οδηγία που περιγράφει την επεξεργασία και έπειτα επιστρέφει επεξεργασμένο MP4. Η πηγή καθορίζει το πλάνο: διάρκεια, κάδρο, κίνηση κάμερας και χρονισμός παρέχουν την αρχική δομή. Χρησιμοποιήστε την προτροπή για να προσδιορίσετε τι πρέπει να αλλάξει, αντί να γράφετε μια εντελώς νέα περιγραφή σκηνής που αφήνει ασαφή την επιδιωκόμενη αλλαγή.\n\n### Κατονομασία της αλλαγής και της θέσης της\n\nΟι τεκμηριωμένες επεξεργασίες περιλαμβάνουν αφαίρεση, προσθήκη ή αντικατάσταση αντικειμένων και χαρακτήρων, ανακατασκευή σκηνικού, αλλαγή ύφους αποσπάσματος, αλλαγή ορατού κειμένου και αναθεώρηση διαλόγου ή ήχου. Ξεκινήστε με τον στόχο και την ενέργεια. Μια πρωτότυπη οδηγία θα μπορούσε να αφαιρεί μια τσάντα από μια καρέκλα διατηρώντας το καθισμένο άτομο και το δωμάτιο ή να αντικαθιστά μια απλή κούπα με μπλε εμαγιέ κούπα χωρίς αλλαγή της κίνησης του χεριού. Αν είναι ορατά πολλά παρόμοια αντικείμενα, διακρίνετε τον στόχο μέσω θέσης, εμφάνισης ή ρόλου.\n\nΓια προσθήκη, περιγράψτε θέση, κλίμακα και σχετική δράση. Ένα ψηλό κόκκινο φωτιστικό δίπλα στον καναπέ είναι πιο συγκεκριμένο από ένα απροσδιόριστο επιπλέον φωτιστικό κάπου στο πλάνο. Για αντικατάσταση, προσδιορίστε τι μετατρέπεται σε τι και την κίνηση ή επαφή που πρέπει να διατηρηθεί. Ο οδηγός προτροπών του κατασκευαστή συνιστά τη συντομότερη οδηγία που κατονομάζει πλήρως την αλλαγή, προσθέτοντας λεπτομέρεια όπου την απαιτεί η επεξεργασία. Διατηρήστε σκόπιμα χαρακτηριστικά της πηγής αντί να ζητάτε γενική βελτίωση της οποίας το εύρος δεν μπορεί να αξιολογηθεί.\n\n### Σκηνικά, ύφη και πρόχειρο animation\n\nΜια αλλαγή σκηνικού μπορεί να ανακατασκευάζει το ορατό περιβάλλον διατηρώντας τη δράση. Ο κατασκευαστής δείχνει αντικατάσταση επιφάνειας αναρρίχησης με διαφορετική δομή και προσδιορισμό των νέων σημείων επαφής, ώστε τα χέρια και τα πόδια του χαρακτήρα να εξακολουθούν να έχουν ουσιαστική επιφάνεια. Σε μια πρακτική σκηνή, περιγράψτε το αλλαγμένο περιβάλλον και τη γεωμετρία στην οποία βασίζεται η υπάρχουσα κίνηση. Ένα νέο φόντο αξιολογείται ευκολότερα όταν η αρχική δράση έχει ρητή σχέση μαζί του.\n\nΟ οδηγός δείχνει επίσης μετατροπή ενός πρόχειρου animation σε ολοκληρωμένη οπτική απόδοση. Κατονομάστε ποια αντικείμενα της αρχικής χωροθέτησης μετατρέπονται στα επιδιωκόμενα οχήματα ή αντικείμενα και διατηρήστε διαδρομές, ταχύτητες και σχέση με την κάμερα. Για αλλαγή ύφους, περιγράψτε τα τελικά υλικά, τις επιφάνειες, το φως και τις αντανακλάσεις, καθώς και την αισθητική. Μια σκηνή που μοιάζει με πηλό και μια φωτογραφική σκηνή χρειάζονται διαφορετικά ορατά στοιχεία, ακόμη και όταν ακολουθούν την ίδια δράση.\n\nΜια περαιτέρω αναθεώρηση μπορεί να χρησιμοποιεί το πρώτο επεξεργασμένο αποτέλεσμα ως νέα πηγή. Διατηρήστε το αρχικό και κάθε επιλεγμένο στάδιο και δώστε στο επόμενο πέρασμα έναν σαφή σκοπό. Το τεκμηριωμένο παράδειγμα ακολουθεί μια πρόχειρη προεπισκόπηση μέχρι ολοκληρωμένο σκηνικό και έπειτα άλλη απόδοση φωτισμού. Μετά από κάθε πέρασμα, συγκρίνετε το αναθεωρημένο απόσπασμα με την προηγούμενη πηγή και ελέγξτε ότι τα χαρακτηριστικά που θέλατε να κρατήσετε παραμένουν παρόντα.\n\n### Ο διάλογος πρέπει να χωρά στον υπάρχοντα χρόνο\n\nΗ ροή μεταφέρει τον αρχικό ήχο, εκτός αν η οδηγία ζητά αλλαγή διαλόγου ή ήχου. Μια σιωπηλή πηγή επιστρέφει σιωπηλό αποτέλεσμα, επομένως δεν παρέχει υπάρχουσα ομιλία προς αναθεώρηση. Για επεξεργασία διαλόγου, παραθέστε την επιδιωκόμενη ατάκα, προσδιορίστε τον ομιλητή και προσαρμόστε τις νέες λέξεις στον χρόνο που καταλαμβάνει η αρχική ατάκα. Ο οδηγός αναφέρει ότι μια μεγαλύτερη αντικατάσταση κόπηκε όταν υπερέβη το διαθέσιμο διάστημα ομιλίας. Η συγγραφή περισσότερων λέξεων δεν δημιουργεί πρόσθετο χρόνο ομιλίας μέσα στο υπάρχον πλάνο.\n\nΕλέγξτε την ακουστή ατάκα μαζί με την ορατή ερμηνεία. Κρατήστε αντίγραφο της αρχικής διατύπωσης και της επιδιωκόμενης αντικατάστασης, ώστε να μπορεί να εντοπιστεί λέξη που παραλείφθηκε, φράση με λάθος χρονισμό ή ανεπιθύμητη αλλαγή ήχου. Το χρήσιμο αποτέλεσμα είναι η αναθεωρημένη προφορική στιγμή μέσα στην επεξεργασμένη σκηνή, όχι μια υποτιθέμενη πιστή απομαγνητοφώνηση μόνο και μόνο επειδή ολοκληρώθηκε η απόδοση.\n\n### Όρια πηγής και έξοδος που κληρονομείται\n\nΤο ακριβές προφίλ του κατασκευαστή απαιτεί βίντεο και προτροπή επεξεργασίας. Η οδηγία έχει από έναν έως 4.096 χαρακτήρες μετά την αφαίρεση των κενών στην αρχή και στο τέλος. Το απόσπασμα παρέχεται μέσω URL ή κωδικοποιημένου MP4, με μέγιστη διάρκεια δεκαπέντε δευτερολέπτων και όριο εισόδου πενήντα MiB. Κάθε πλευρά πρέπει να είναι τουλάχιστον 160 pixel και το κανονικοποιημένο απόσπασμα πρέπει να περιέχει τουλάχιστον δεκαεπτά καρέ στα 24 fps, περίπου επτά δέκατα του δευτερολέπτου. Οι υπερβολικά μεγάλες πηγές απορρίπτονται αντί να περικόπτονται σιωπηλά· οι πολύ μικρές πηγές μπορεί να αποτύχουν κατά την επεξεργασία.\n\nΗ τεκμηριωμένη ροή χρησιμοποιεί επεξεργασία 24 fps και ακολουθεί τη διάρκεια και την αναλογία διαστάσεων της πηγής. Είσοδοι πάνω από το προφίλ 720p μειώνονται σε ανάλυση· ο κατασκευαστής δίνει παράδειγμα πηγής 1920×1088 που επιστρέφεται ως 1248×704. Η διάρκεια, η ανάλυση και η αναλογία διαστάσεων δεν είναι ανεξάρτητες ρυθμίσεις εξόδου σε αυτό το προφίλ επεξεργασίας. Η συνταγή δειγματοληψίας καθορίζεται εσωτερικά και πεδία όπως mode, version, seed ή generate_audio δεν γίνονται δεκτά στη δηλωμένη σύμβαση αιτήματος.\n\nΈνα βίντεο που χρησιμοποιείται μόνο ως έμπνευση κίνησης ή ύφους για νέο πλάνο ανήκει σε διαφορετική ροή. Αυτός ο επεξεργαστής δεν δέχεται αναφορά εικόνας, είσοδο μόνο ήχου, μάσκες ή αίτημα επέκτασης αποσπάσματος. Προετοιμάστε το πραγματικό βίντεο προς αλλαγή και διατηρήστε την επιλεγμένη διάρκειά του πριν γράψετε την επεξεργασία. Μετά την ασύγχρονη επεξεργασία, ο κατασκευαστής επιστρέφει το επεξεργασμένο MP4 μέσω προσωρινού υπογεγραμμένου συνδέσμου παράδοσης, έγκυρου για περίπου μία ώρα. Αποθηκεύστε το αποτέλεσμα και συγκρίνετε το αλλαγμένο αντικείμενο, τα γύρω καρέ, τον χρονισμό και τον ήχο με την πηγή πριν χρησιμοποιήσετε το απόσπασμα σε μεγαλύτερο μοντάζ.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "7b54a023f77a15b5d25cf0cec20a72c26aae1c5a16722350982a09d10d898260",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "el",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Black Forest Labs: FLUX Video Edit</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Κλείσιμο\">×</button></div><div class=\"idline\"><span>Black Forest Labs /</span><code>black-forest-labs/flux-video-edit</code><button type=\"button\" id=\"copy-id\">Αντιγραφή ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Ενότητες κάρτας μοντέλου\"><button type=\"button\" data-card-jump=\"overview\">Εισαγωγή</button><button type=\"button\" data-card-jump=\"methods\">Είσοδοι και μέθοδοι</button><button type=\"button\" data-card-jump=\"pricing\">Τιμολόγηση</button><button type=\"button\" data-card-jump=\"examples\">Παραδείγματα</button><button type=\"button\" data-card-jump=\"results\">Αποτελέσματα</button><button type=\"button\" data-card-jump=\"aliases\">Εναλλακτικά ονόματα</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Μέθοδοι API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|videos|/v1/videos|black-forest-labs%2Fflux-video-edit\">Βίντεο</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Εισαγωγή</h3><p class=\"mdesc-full\">Το FLUX Video Edit [fast] μετασχηματίζει υπάρχον απόσπασμα μέσω γραπτής οδηγίας επεξεργασίας. Προσθέστε, αφαιρέστε ή αντικαταστήστε στοιχεία, αλλάξτε το σκηνικό ή το ύφος και αναθεωρήστε υπάρχοντα διάλογο, τηρώντας τους τεκμηριωμένους περιορισμούς διάρκειας πηγής, κάδρου και ήχου.</p><dl class=\"card-io\" data-card-io><div><dt>Αποδεκτές είσοδοι</dt><dd>Κείμενο · Εικόνες · Ήχος · Βίντεο</dd></div><div><dt>Αποτελέσματα</dt><dd>Βίντεο</dd></div></dl><details class=\"card-about\"><summary>Σχετικά με το μοντέλο</summary><p class=\"note-s\" data-model-method-boundary>Αυτή η περιγραφή καλύπτει τις δυνατότητες του μοντέλου. Οι είσοδοι, έξοδοι και επιλογές που διατίθενται στο Ailoot παρατίθενται παρακάτω για την επιλεγμένη μέθοδο.</p><div class=\"mabout\" id=\"m-about\"><p>Το FLUX Video Edit [fast] είναι η ροή της Black Forest Labs για αλλαγή υπάρχοντος βίντεο με καθοδήγηση από προτροπή. Δέχεται ένα αρχικό απόσπασμα και οδηγία που περιγράφει την επεξεργασία και έπειτα επιστρέφει επεξεργασμένο MP4. Η πηγή καθορίζει το πλάνο: διάρκεια, κάδρο, κίνηση κάμερας και χρονισμός παρέχουν την αρχική δομή. Χρησιμοποιήστε την προτροπή για να προσδιορίσετε τι πρέπει να αλλάξει, αντί να γράφετε μια εντελώς νέα περιγραφή σκηνής που αφήνει ασαφή την επιδιωκόμενη αλλαγή.</p><h4>Κατονομασία της αλλαγής και της θέσης της</h4><p>Οι τεκμηριωμένες επεξεργασίες περιλαμβάνουν αφαίρεση, προσθήκη ή αντικατάσταση αντικειμένων και χαρακτήρων, ανακατασκευή σκηνικού, αλλαγή ύφους αποσπάσματος, αλλαγή ορατού κειμένου και αναθεώρηση διαλόγου ή ήχου. Ξεκινήστε με τον στόχο και την ενέργεια. Μια πρωτότυπη οδηγία θα μπορούσε να αφαιρεί μια τσάντα από μια καρέκλα διατηρώντας το καθισμένο άτομο και το δωμάτιο ή να αντικαθιστά μια απλή κούπα με μπλε εμαγιέ κούπα χωρίς αλλαγή της κίνησης του χεριού. Αν είναι ορατά πολλά παρόμοια αντικείμενα, διακρίνετε τον στόχο μέσω θέσης, εμφάνισης ή ρόλου.</p><p>Για προσθήκη, περιγράψτε θέση, κλίμακα και σχετική δράση. Ένα ψηλό κόκκινο φωτιστικό δίπλα στον καναπέ είναι πιο συγκεκριμένο από ένα απροσδιόριστο επιπλέον φωτιστικό κάπου στο πλάνο. Για αντικατάσταση, προσδιορίστε τι μετατρέπεται σε τι και την κίνηση ή επαφή που πρέπει να διατηρηθεί. Ο οδηγός προτροπών του κατασκευαστή συνιστά τη συντομότερη οδηγία που κατονομάζει πλήρως την αλλαγή, προσθέτοντας λεπτομέρεια όπου την απαιτεί η επεξεργασία. Διατηρήστε σκόπιμα χαρακτηριστικά της πηγής αντί να ζητάτε γενική βελτίωση της οποίας το εύρος δεν μπορεί να αξιολογηθεί.</p><h4>Σκηνικά, ύφη και πρόχειρο animation</h4><p>Μια αλλαγή σκηνικού μπορεί να ανακατασκευάζει το ορατό περιβάλλον διατηρώντας τη δράση. Ο κατασκευαστής δείχνει αντικατάσταση επιφάνειας αναρρίχησης με διαφορετική δομή και προσδιορισμό των νέων σημείων επαφής, ώστε τα χέρια και τα πόδια του χαρακτήρα να εξακολουθούν να έχουν ουσιαστική επιφάνεια. Σε μια πρακτική σκηνή, περιγράψτε το αλλαγμένο περιβάλλον και τη γεωμετρία στην οποία βασίζεται η υπάρχουσα κίνηση. Ένα νέο φόντο αξιολογείται ευκολότερα όταν η αρχική δράση έχει ρητή σχέση μαζί του.</p><p>Ο οδηγός δείχνει επίσης μετατροπή ενός πρόχειρου animation σε ολοκληρωμένη οπτική απόδοση. Κατονομάστε ποια αντικείμενα της αρχικής χωροθέτησης μετατρέπονται στα επιδιωκόμενα οχήματα ή αντικείμενα και διατηρήστε διαδρομές, ταχύτητες και σχέση με την κάμερα. Για αλλαγή ύφους, περιγράψτε τα τελικά υλικά, τις επιφάνειες, το φως και τις αντανακλάσεις, καθώς και την αισθητική. Μια σκηνή που μοιάζει με πηλό και μια φωτογραφική σκηνή χρειάζονται διαφορετικά ορατά στοιχεία, ακόμη και όταν ακολουθούν την ίδια δράση.</p><p>Μια περαιτέρω αναθεώρηση μπορεί να χρησιμοποιεί το πρώτο επεξεργασμένο αποτέλεσμα ως νέα πηγή. Διατηρήστε το αρχικό και κάθε επιλεγμένο στάδιο και δώστε στο επόμενο πέρασμα έναν σαφή σκοπό. Το τεκμηριωμένο παράδειγμα ακολουθεί μια πρόχειρη προεπισκόπηση μέχρι ολοκληρωμένο σκηνικό και έπειτα άλλη απόδοση φωτισμού. Μετά από κάθε πέρασμα, συγκρίνετε το αναθεωρημένο απόσπασμα με την προηγούμενη πηγή και ελέγξτε ότι τα χαρακτηριστικά που θέλατε να κρατήσετε παραμένουν παρόντα.</p><h4>Ο διάλογος πρέπει να χωρά στον υπάρχοντα χρόνο</h4><p>Η ροή μεταφέρει τον αρχικό ήχο, εκτός αν η οδηγία ζητά αλλαγή διαλόγου ή ήχου. Μια σιωπηλή πηγή επιστρέφει σιωπηλό αποτέλεσμα, επομένως δεν παρέχει υπάρχουσα ομιλία προς αναθεώρηση. Για επεξεργασία διαλόγου, παραθέστε την επιδιωκόμενη ατάκα, προσδιορίστε τον ομιλητή και προσαρμόστε τις νέες λέξεις στον χρόνο που καταλαμβάνει η αρχική ατάκα. Ο οδηγός αναφέρει ότι μια μεγαλύτερη αντικατάσταση κόπηκε όταν υπερέβη το διαθέσιμο διάστημα ομιλίας. Η συγγραφή περισσότερων λέξεων δεν δημιουργεί πρόσθετο χρόνο ομιλίας μέσα στο υπάρχον πλάνο.</p><p>Ελέγξτε την ακουστή ατάκα μαζί με την ορατή ερμηνεία. Κρατήστε αντίγραφο της αρχικής διατύπωσης και της επιδιωκόμενης αντικατάστασης, ώστε να μπορεί να εντοπιστεί λέξη που παραλείφθηκε, φράση με λάθος χρονισμό ή ανεπιθύμητη αλλαγή ήχου. Το χρήσιμο αποτέλεσμα είναι η αναθεωρημένη προφορική στιγμή μέσα στην επεξεργασμένη σκηνή, όχι μια υποτιθέμενη πιστή απομαγνητοφώνηση μόνο και μόνο επειδή ολοκληρώθηκε η απόδοση.</p><h4>Όρια πηγής και έξοδος που κληρονομείται</h4><p>Το ακριβές προφίλ του κατασκευαστή απαιτεί βίντεο και προτροπή επεξεργασίας. Η οδηγία έχει από έναν έως 4.096 χαρακτήρες μετά την αφαίρεση των κενών στην αρχή και στο τέλος. Το απόσπασμα παρέχεται μέσω URL ή κωδικοποιημένου MP4, με μέγιστη διάρκεια δεκαπέντε δευτερολέπτων και όριο εισόδου πενήντα MiB. Κάθε πλευρά πρέπει να είναι τουλάχιστον 160 pixel και το κανονικοποιημένο απόσπασμα πρέπει να περιέχει τουλάχιστον δεκαεπτά καρέ στα 24 fps, περίπου επτά δέκατα του δευτερολέπτου. Οι υπερβολικά μεγάλες πηγές απορρίπτονται αντί να περικόπτονται σιωπηλά· οι πολύ μικρές πηγές μπορεί να αποτύχουν κατά την επεξεργασία.</p><p>Η τεκμηριωμένη ροή χρησιμοποιεί επεξεργασία 24 fps και ακολουθεί τη διάρκεια και την αναλογία διαστάσεων της πηγής. Είσοδοι πάνω από το προφίλ 720p μειώνονται σε ανάλυση· ο κατασκευαστής δίνει παράδειγμα πηγής 1920×1088 που επιστρέφεται ως 1248×704. Η διάρκεια, η ανάλυση και η αναλογία διαστάσεων δεν είναι ανεξάρτητες ρυθμίσεις εξόδου σε αυτό το προφίλ επεξεργασίας. Η συνταγή δειγματοληψίας καθορίζεται εσωτερικά και πεδία όπως mode, version, seed ή generate_audio δεν γίνονται δεκτά στη δηλωμένη σύμβαση αιτήματος.</p><p>Ένα βίντεο που χρησιμοποιείται μόνο ως έμπνευση κίνησης ή ύφους για νέο πλάνο ανήκει σε διαφορετική ροή. Αυτός ο επεξεργαστής δεν δέχεται αναφορά εικόνας, είσοδο μόνο ήχου, μάσκες ή αίτημα επέκτασης αποσπάσματος. Προετοιμάστε το πραγματικό βίντεο προς αλλαγή και διατηρήστε την επιλεγμένη διάρκειά του πριν γράψετε την επεξεργασία. Μετά την ασύγχρονη επεξεργασία, ο κατασκευαστής επιστρέφει το επεξεργασμένο MP4 μέσω προσωρινού υπογεγραμμένου συνδέσμου παράδοσης, έγκυρου για περίπου μία ώρα. Αποθηκεύστε το αποτέλεσμα και συγκρίνετε το αλλαγμένο αντικείμενο, τα γύρω καρέ, τον χρονισμό και τον ήχο με την πηγή πριν χρησιμοποιήσετε το απόσπασμα σε μεγαλύτερο μοντάζ.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Διαθέσιμα στο Ailoot · είσοδοι και μέθοδοι</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Βίντεο</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Είσοδος</dt><dd><code>text</code>, <code>image</code>, <code>audio</code>, <code>video</code></dd></div><div><dt>Έξοδος</dt><dd><code>video</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Πεδίο</th><th>Τύπος</th><th>Απαίτηση</th><th>Τιμές και όρια</th><th>Προεπιλογή</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>black-forest-labs/flux-video-edit</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>array</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο πλήθος στοιχείων: 1</div><div>Μέγιστο πλήθος στοιχείων: 1</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>string</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>Ελάχιστο μήκος: 1</div></td><td data-cell-label=\"Προεπιλογή\" data-default=\"unspecified\"><span class=\"card-cell-label\">Προεπιλογή</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Παράμετροι και κύκλος ζωής μεθόδου</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Παράμετρος</th><th>Σύμβαση</th></tr></thead><tbody><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>content_type</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>application/json</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>required</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>model, input_references, prompt</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_types</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>text, image, audio, video</td></tr><tr><th data-cell-label=\"Παράμετρος\" scope=\"row\"><span class=\"card-cell-label\">Παράμετρος</span><code>material_conditions</code></th><td data-cell-label=\"Σύμβαση\"><span class=\"card-cell-label\">Σύμβαση</span>Χρησιμοποιήστε ακριβώς ένα πραγματικό URL περιεχομένου ολοκληρωμένου αρχείου βίντεο που σας ανήκει, με την υπογραφή που επιστρέφεται. Ο ιδιοκτήτης, ο τύπος και το αποθηκευμένο τεκμήριο byte του αρχείου πρέπει να αντιστοιχούν στο αίτημα.</td></tr></tbody></table></div><p>Κύκλος ζωής: <code>asynchronous_job_then_owned_outputs</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code> · πραγματικό id ή polling_url που επιστρέφεται</p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Τιμολόγηση</h3><div class=\"card-result-process\" data-billing-basis><h5>Πώς υπολογίζεται η τελική χρέωση</h5><p class=\"note-s\">Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.</p><dl data-price-conditions><dt>Γρήγορη λειτουργία</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η γρήγορη λειτουργία</span></dd><dt>Λειτουργία flex</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν επιλέγεται η λειτουργία flex</span></dd><dt>Μέγιστη προσπάθεια συλλογισμού</dt><dd>Δεν έχει οριστεί <span class=\"note-s\">Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default</span></dd></dl></div><div data-declared-tariff-pricing><h4>Εκτιμώμενες χρεώσεις για σύγκριση</h4><h4>Τιμές ανά διαμόρφωση</h4><p class=\"note-s\">Αντιστοιχίστε κάθε χρέωση στις συνθήκες που εμφανίζονται. Χρησιμοποιήστε μία χρέωση ανά σύνολο εναλλακτικών διαμορφώσεων.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Διαμόρφωση</th><th>Πίνακας χρεώσεων</th><th>Προβλεπόμενη ποσότητα</th><th>Μονάδα τιμολόγησης</th><th>Συνθήκες χρέωσης</th><th>Χρέωση</th></tr></thead><tbody><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Βασικές χρεώσεις token</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>Βασική χρέωση</td><td data-cell-label=\"Προβλεπόμενη ποσότητα\"><span class=\"card-cell-label\">Προβλεπόμενη ποσότητα</span>—</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>—</td><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Είσοδος · Token εισόδου · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Έξοδος · Token εξόδου · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Ανάγνωση από την κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα · Εκτίμηση μόνο για σύγκριση</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Τιμή βίντεο</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Προβλεπόμενη ποσότητα\"><span class=\"card-cell-label\">Προβλεπόμενη ποσότητα</span>—</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>ανά δευτερόλεπτο βίντεο</td><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>Δεν δηλώνεται πρόσθετη συνθήκη σε αυτό το κλειδί τιμολόγησης.</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · Τιμή βίντεο · Εκτίμηση μόνο για σύγκριση</span> <b>$0.06</b> <span class=\"price-unit\">ανά δευτερόλεπτο βίντεο</span></div></td></tr><tr><th data-cell-label=\"Διαμόρφωση\" scope=\"row\"><span class=\"card-cell-label\">Διαμόρφωση</span>Εκτιμώμενο κόστος δημιουργίας</th><td data-cell-label=\"Πίνακας χρεώσεων\"><span class=\"card-cell-label\">Πίνακας χρεώσεων</span>—</td><td data-cell-label=\"Προβλεπόμενη ποσότητα\"><span class=\"card-cell-label\">Προβλεπόμενη ποσότητα</span>εκτίμηση για μία δημιουργία</td><td data-cell-label=\"Μονάδα τιμολόγησης\"><span class=\"card-cell-label\">Μονάδα τιμολόγησης</span>—</td><td data-cell-label=\"Συνθήκες χρέωσης\"><span class=\"card-cell-label\">Συνθήκες χρέωσης</span>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση</span> <b>$0.06</b> <span class=\"price-unit\">εκτίμηση πριν από τη δημιουργία</span></div><p class=\"note-s\">Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Το Ailoot δεσμεύει ένα εκτιμώμενο ποσό πριν από το αίτημα. Μετά το αποτέλεσμα, εκκαθαρίζει την τελική χρέωση βάσει της μετρημένης χρήσης. Η εκκαθάριση ροής χρησιμοποιεί την τελική καταγραφή χρήσης. <a href=\"/docs/el/billing/reserve/\">Πώς λειτουργούν η δέσμευση και η εκκαθάριση →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Παραδείγματα αιτημάτων</h3><h4>Ailoot Ultra · Βίντεο</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-1095-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1095-panel-0\" aria-selected=\"true\" tabindex=\"0\">Χρησιμοποιήστε την πραγματική είσοδο και διατηρήστε το πλήρες αποτέλεσμα</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1095-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1095-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_REFERENCES_JSON\n: &quot;${AILOOT_PROMPT:?Set the actual documented input value}&quot;\nexport AILOOT_PROMPT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;black-forest-labs/flux-video-edit&#39;, &#39;input_references&#39;: &#39;${ACTUAL_OWNED_INPUT_REFERENCES}&#39;, &#39;prompt&#39;: &#39;${ACTUAL_EDIT_PROMPT}&#39;}\nrequest[&#39;input_references&#39;]=json.loads(os.environ[&#39;AILOOT_INPUT_REFERENCES_JSON&#39;])\nrequest[&#39;prompt&#39;]=os.environ[&#39;AILOOT_PROMPT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Λήψη και αποθήκευση αποτελεσμάτων</h3><h4>Ailoot Ultra · Βίντεο</h4><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li></ul><h5>Αποθηκεύστε όλα τα ολοκληρωμένα αρχεία</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Παραλλαγές κώδικα\"><button class=\"cg-tab\" id=\"model-code-1096-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1096-panel-0\" aria-selected=\"true\" tabindex=\"0\">Λήψη όλων των ολοκληρωμένων αρχείων με GET</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Αντιγραφή κώδικα\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1096-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1096-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}&quot;\nexport AILOOT_STATUS_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[&quot;AILOOT_STATUS_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose the actual completed status file&quot;)\nr=json.loads(f.read_text())\nif r.get(&quot;status&quot;)!=&quot;completed&quot; or not isinstance(r.get(&quot;data&quot;),list) or not r[&quot;data&quot;]:raise SystemExit(&quot;Wait for a completed status with asset paths&quot;)\nurls=[]\nfor x in r[&quot;data&quot;]:\n    if not isinstance(x,str) or &quot;\\n&quot; in x or &quot;\\r&quot; in x:raise SystemExit(&quot;Invalid asset path&quot;)\n    u=urljoin(&quot;https://api.ailoot.ai&quot;,x)\n    z=urlsplit(u)\n    if z.scheme!=&quot;https&quot; or z.netloc!=&quot;api.ailoot.ai&quot; or z.username or z.password:raise SystemExit(&quot;Use the actual Ailoot asset paths from status&quot;)\n    urls.append(u)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; \\\n    -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o &quot;video-${index}.mp4&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\n</code></pre></div></div></div><div class=\"card-result-process\" data-all-results><h5>Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα</h5><p class=\"note-s\">Αποθηκεύστε κάθε ολοκληρωμένο βίντεο ή αρχείο που επιστρέφεται· ανακτήστε κάθε πραγματικό URL αρχείου που επιστρέφεται.</p><p class=\"note-s\">Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Αν χρειάζεται έλεγχος της αρχικής απάντησης</h5><p class=\"note-s\">Διατηρήστε τα X-Client-Request-ID, X-Ailoot-Task-Id και το πραγματικό id/polling_url που επιστρέφεται. Συνεχίστε την αρχική εργασία· μην υποβάλετε ξανά αίτημα δημιουργίας.</p></div><details class=\"card-about\" data-output-fields><summary>Πεδία απάντησης</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Πεδίο</th><th>Τύπος</th></tr></thead><tbody><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span></td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span></td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span></td></tr><tr><th data-cell-label=\"Πεδίο\" scope=\"row\"><span class=\"card-cell-label\">Πεδίο</span><code class=\"card-field-name\">outputs[]</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Εναλλακτικά ονόματα</h3><h4>Εναλλακτικά ονόματα μοντέλου</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=black-forest-labs%2Fflux-video-edit&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux-video-edit&amp;fmt=videos\"><code>black-forest-labs/flux-video-edit</code></a></span></p><h4>Εναλλακτικές διαδρομές μεθόδων</h4><p class=\"note-s\">Χρησιμοποιήστε τις διαδρομές μεθόδων που εμφανίζονται παραπάνω.</p><h4>Σχετικά ID μοντέλων</h4><p class=\"note-s\"><a href=\"#m=black-forest-labs%2Fflux-video-edit&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux-video-edit&amp;fmt=videos\"><code>black-forest-labs/flux-video-edit</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "black-forest-labs/flux-video-edit",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "black-forest-labs/flux-video-edit",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|black-forest-labs%2Fflux-video-edit",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "Διατηρήστε τα X-Client-Request-ID, X-Ailoot-Task-Id και το πραγματικό id/polling_url που επιστρέφεται. Συνεχίστε την αρχική εργασία· μην υποβάλετε ξανά αίτημα δημιουργίας."
            },
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "black-forest-labs/flux-video-edit"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "max_length": 4096,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "black-forest-labs/flux-video-edit"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 4096,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "black-forest-labs/flux-video-edit",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Χρησιμοποιήστε ακριβώς ένα πραγματικό URL περιεχομένου ολοκληρωμένου αρχείου βίντεο που σας ανήκει, με την υπογραφή που επιστρέφεται. Ο ιδιοκτήτης, ο τύπος και το αποθηκευμένο τεκμήριο byte του αρχείου πρέπει να αντιστοιχούν στο αίτημα."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "πραγματικό id ή polling_url που επιστρέφεται",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'black-forest-labs/flux-video-edit', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif 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\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    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\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "Βίντεο",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "black-forest-labs/flux-video-edit",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "black-forest-labs/flux-video-edit",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "f68dbe1acc4509847855ab071aafbd62b370e99550289204d362f634517a087b",
    "input_html_sha256": "3036d18f4b4909092b0201998b1efb4d8b18db2d840a164833ddfb58c572d5fa",
    "private_audit_sha256": "98ea6552b35e97503ea02e4f4fb51d784334f68529c1c21cf4fb74c888d061c6",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/black-forest-labs-flux-video-edit/",
    "description": "Το FLUX Video Edit [fast] μετασχηματίζει υπάρχον απόσπασμα μέσω γραπτής οδηγίας επεξεργασίας. Προσθέστε, αφαιρέστε ή αντικαταστήστε στοιχεία, αλλάξτε το σκηνικό ή το ύφος και αναθεωρήστε υπάρχοντα διάλογο, τηρώντας τους τεκμηριωμένους περιορισμούς διάρκειας πηγής, κάδρου και ήχου.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/black-forest-labs-flux-video-edit/index.md",
    "title": "Black Forest Labs: FLUX Video Edit — Ailoot",
    "url": "https://ailoot.ai/models/el/black-forest-labs-flux-video-edit/"
  },
  "rawModel": {
    "about": "Το FLUX Video Edit [fast] είναι η ροή της Black Forest Labs για αλλαγή υπάρχοντος βίντεο με καθοδήγηση από προτροπή. Δέχεται ένα αρχικό απόσπασμα και οδηγία που περιγράφει την επεξεργασία και έπειτα επιστρέφει επεξεργασμένο MP4. Η πηγή καθορίζει το πλάνο: διάρκεια, κάδρο, κίνηση κάμερας και χρονισμός παρέχουν την αρχική δομή. Χρησιμοποιήστε την προτροπή για να προσδιορίσετε τι πρέπει να αλλάξει, αντί να γράφετε μια εντελώς νέα περιγραφή σκηνής που αφήνει ασαφή την επιδιωκόμενη αλλαγή.\n\n### Κατονομασία της αλλαγής και της θέσης της\n\nΟι τεκμηριωμένες επεξεργασίες περιλαμβάνουν αφαίρεση, προσθήκη ή αντικατάσταση αντικειμένων και χαρακτήρων, ανακατασκευή σκηνικού, αλλαγή ύφους αποσπάσματος, αλλαγή ορατού κειμένου και αναθεώρηση διαλόγου ή ήχου. Ξεκινήστε με τον στόχο και την ενέργεια. Μια πρωτότυπη οδηγία θα μπορούσε να αφαιρεί μια τσάντα από μια καρέκλα διατηρώντας το καθισμένο άτομο και το δωμάτιο ή να αντικαθιστά μια απλή κούπα με μπλε εμαγιέ κούπα χωρίς αλλαγή της κίνησης του χεριού. Αν είναι ορατά πολλά παρόμοια αντικείμενα, διακρίνετε τον στόχο μέσω θέσης, εμφάνισης ή ρόλου.\n\nΓια προσθήκη, περιγράψτε θέση, κλίμακα και σχετική δράση. Ένα ψηλό κόκκινο φωτιστικό δίπλα στον καναπέ είναι πιο συγκεκριμένο από ένα απροσδιόριστο επιπλέον φωτιστικό κάπου στο πλάνο. Για αντικατάσταση, προσδιορίστε τι μετατρέπεται σε τι και την κίνηση ή επαφή που πρέπει να διατηρηθεί. Ο οδηγός προτροπών του κατασκευαστή συνιστά τη συντομότερη οδηγία που κατονομάζει πλήρως την αλλαγή, προσθέτοντας λεπτομέρεια όπου την απαιτεί η επεξεργασία. Διατηρήστε σκόπιμα χαρακτηριστικά της πηγής αντί να ζητάτε γενική βελτίωση της οποίας το εύρος δεν μπορεί να αξιολογηθεί.\n\n### Σκηνικά, ύφη και πρόχειρο animation\n\nΜια αλλαγή σκηνικού μπορεί να ανακατασκευάζει το ορατό περιβάλλον διατηρώντας τη δράση. Ο κατασκευαστής δείχνει αντικατάσταση επιφάνειας αναρρίχησης με διαφορετική δομή και προσδιορισμό των νέων σημείων επαφής, ώστε τα χέρια και τα πόδια του χαρακτήρα να εξακολουθούν να έχουν ουσιαστική επιφάνεια. Σε μια πρακτική σκηνή, περιγράψτε το αλλαγμένο περιβάλλον και τη γεωμετρία στην οποία βασίζεται η υπάρχουσα κίνηση. Ένα νέο φόντο αξιολογείται ευκολότερα όταν η αρχική δράση έχει ρητή σχέση μαζί του.\n\nΟ οδηγός δείχνει επίσης μετατροπή ενός πρόχειρου animation σε ολοκληρωμένη οπτική απόδοση. Κατονομάστε ποια αντικείμενα της αρχικής χωροθέτησης μετατρέπονται στα επιδιωκόμενα οχήματα ή αντικείμενα και διατηρήστε διαδρομές, ταχύτητες και σχέση με την κάμερα. Για αλλαγή ύφους, περιγράψτε τα τελικά υλικά, τις επιφάνειες, το φως και τις αντανακλάσεις, καθώς και την αισθητική. Μια σκηνή που μοιάζει με πηλό και μια φωτογραφική σκηνή χρειάζονται διαφορετικά ορατά στοιχεία, ακόμη και όταν ακολουθούν την ίδια δράση.\n\nΜια περαιτέρω αναθεώρηση μπορεί να χρησιμοποιεί το πρώτο επεξεργασμένο αποτέλεσμα ως νέα πηγή. Διατηρήστε το αρχικό και κάθε επιλεγμένο στάδιο και δώστε στο επόμενο πέρασμα έναν σαφή σκοπό. Το τεκμηριωμένο παράδειγμα ακολουθεί μια πρόχειρη προεπισκόπηση μέχρι ολοκληρωμένο σκηνικό και έπειτα άλλη απόδοση φωτισμού. Μετά από κάθε πέρασμα, συγκρίνετε το αναθεωρημένο απόσπασμα με την προηγούμενη πηγή και ελέγξτε ότι τα χαρακτηριστικά που θέλατε να κρατήσετε παραμένουν παρόντα.\n\n### Ο διάλογος πρέπει να χωρά στον υπάρχοντα χρόνο\n\nΗ ροή μεταφέρει τον αρχικό ήχο, εκτός αν η οδηγία ζητά αλλαγή διαλόγου ή ήχου. Μια σιωπηλή πηγή επιστρέφει σιωπηλό αποτέλεσμα, επομένως δεν παρέχει υπάρχουσα ομιλία προς αναθεώρηση. Για επεξεργασία διαλόγου, παραθέστε την επιδιωκόμενη ατάκα, προσδιορίστε τον ομιλητή και προσαρμόστε τις νέες λέξεις στον χρόνο που καταλαμβάνει η αρχική ατάκα. Ο οδηγός αναφέρει ότι μια μεγαλύτερη αντικατάσταση κόπηκε όταν υπερέβη το διαθέσιμο διάστημα ομιλίας. Η συγγραφή περισσότερων λέξεων δεν δημιουργεί πρόσθετο χρόνο ομιλίας μέσα στο υπάρχον πλάνο.\n\nΕλέγξτε την ακουστή ατάκα μαζί με την ορατή ερμηνεία. Κρατήστε αντίγραφο της αρχικής διατύπωσης και της επιδιωκόμενης αντικατάστασης, ώστε να μπορεί να εντοπιστεί λέξη που παραλείφθηκε, φράση με λάθος χρονισμό ή ανεπιθύμητη αλλαγή ήχου. Το χρήσιμο αποτέλεσμα είναι η αναθεωρημένη προφορική στιγμή μέσα στην επεξεργασμένη σκηνή, όχι μια υποτιθέμενη πιστή απομαγνητοφώνηση μόνο και μόνο επειδή ολοκληρώθηκε η απόδοση.\n\n### Όρια πηγής και έξοδος που κληρονομείται\n\nΤο ακριβές προφίλ του κατασκευαστή απαιτεί βίντεο και προτροπή επεξεργασίας. Η οδηγία έχει από έναν έως 4.096 χαρακτήρες μετά την αφαίρεση των κενών στην αρχή και στο τέλος. Το απόσπασμα παρέχεται μέσω URL ή κωδικοποιημένου MP4, με μέγιστη διάρκεια δεκαπέντε δευτερολέπτων και όριο εισόδου πενήντα MiB. Κάθε πλευρά πρέπει να είναι τουλάχιστον 160 pixel και το κανονικοποιημένο απόσπασμα πρέπει να περιέχει τουλάχιστον δεκαεπτά καρέ στα 24 fps, περίπου επτά δέκατα του δευτερολέπτου. Οι υπερβολικά μεγάλες πηγές απορρίπτονται αντί να περικόπτονται σιωπηλά· οι πολύ μικρές πηγές μπορεί να αποτύχουν κατά την επεξεργασία.\n\nΗ τεκμηριωμένη ροή χρησιμοποιεί επεξεργασία 24 fps και ακολουθεί τη διάρκεια και την αναλογία διαστάσεων της πηγής. Είσοδοι πάνω από το προφίλ 720p μειώνονται σε ανάλυση· ο κατασκευαστής δίνει παράδειγμα πηγής 1920×1088 που επιστρέφεται ως 1248×704. Η διάρκεια, η ανάλυση και η αναλογία διαστάσεων δεν είναι ανεξάρτητες ρυθμίσεις εξόδου σε αυτό το προφίλ επεξεργασίας. Η συνταγή δειγματοληψίας καθορίζεται εσωτερικά και πεδία όπως mode, version, seed ή generate_audio δεν γίνονται δεκτά στη δηλωμένη σύμβαση αιτήματος.\n\nΈνα βίντεο που χρησιμοποιείται μόνο ως έμπνευση κίνησης ή ύφους για νέο πλάνο ανήκει σε διαφορετική ροή. Αυτός ο επεξεργαστής δεν δέχεται αναφορά εικόνας, είσοδο μόνο ήχου, μάσκες ή αίτημα επέκτασης αποσπάσματος. Προετοιμάστε το πραγματικό βίντεο προς αλλαγή και διατηρήστε την επιλεγμένη διάρκειά του πριν γράψετε την επεξεργασία. Μετά την ασύγχρονη επεξεργασία, ο κατασκευαστής επιστρέφει το επεξεργασμένο MP4 μέσω προσωρινού υπογεγραμμένου συνδέσμου παράδοσης, έγκυρου για περίπου μία ώρα. Αποθηκεύστε το αποτέλεσμα και συγκρίνετε το αλλαγμένο αντικείμενο, τα γύρω καρέ, τον χρονισμό και τον ήχο με την πηγή πριν χρησιμοποιήσετε το απόσπασμα σε μεγαλύτερο μοντάζ.",
    "alias_of": null,
    "aliases": [],
    "author": "Black Forest Labs",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "video"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Πλήρης τιμολόγηση της διαμόρφωσης στις λεπτομέρειες."
      }
    ],
    "ctx": null,
    "formats": [
      "videos"
    ],
    "id": "black-forest-labs/flux-video-edit",
    "input": [
      "text",
      "image",
      "audio",
      "video"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Οι εμφανιζόμενες τιμές χρησιμοποιούνται για την εκτίμηση του κόστους πριν από την παραγωγή. Η τελική χρέωση υπολογίζεται από το κόστος που καταγράφηκε για την αρχική παραγωγή. Η μετρημένη διάρκεια της εξόδου και οι προβλεπόμενες ποσότητες δεν αποτελούν την τελική χρεώσιμη ποσότητα.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "Διατηρήστε τα X-Client-Request-ID, X-Ailoot-Task-Id και το πραγματικό id/polling_url που επιστρέφεται. Συνεχίστε την αρχική εργασία· μην υποβάλετε ξανά αίτημα δημιουργίας."
            },
            "outputs": {
              "all_results": "Διατηρήστε ολόκληρη την απόκριση και τις κεφαλίδες, κάθε πραγματικό αποτέλεσμα εξόδου, τα αρχικά αναγνωριστικά που επιστράφηκαν και όλα τα πεδία χρήσης. Ανακτήστε την αρχική λειτουργία χωρίς να υποβάλετε ξανά αίτημα δημιουργίας.",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "black-forest-labs/flux-video-edit"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "max_length": 4096,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "black-forest-labs/flux-video-edit"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 4096,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "black-forest-labs/flux-video-edit",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Χρησιμοποιήστε ακριβώς ένα πραγματικό URL περιεχομένου ολοκληρωμένου αρχείου βίντεο που σας ανήκει, με την υπογραφή που επιστρέφεται. Ο ιδιοκτήτης, ο τύπος και το αποθηκευμένο τεκμήριο byte του αρχείου πρέπει να αντιστοιχούν στο αίτημα."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "πραγματικό id ή polling_url που επιστρέφεται",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'black-forest-labs/flux-video-edit', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\nPath('request.json').write_text(json.dumps(request,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif 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\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    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\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "Βίντεο",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "black-forest-labs/flux-video-edit",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "black-forest-labs/flux-video-edit",
        "request_model_id": "black-forest-labs/flux-video-edit",
        "route_label": "Ultra"
      }
    ],
    "name": "Black Forest Labs: FLUX Video Edit",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.06,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.06,
      "varies": false
    },
    "short": "Το FLUX Video Edit [fast] μετασχηματίζει υπάρχον απόσπασμα μέσω γραπτής οδηγίας επεξεργασίας. Προσθέστε, αφαιρέστε ή αντικαταστήστε στοιχεία, αλλάξτε το σκηνικό ή το ύφος και αναθεωρήστε υπάρχοντα διάλογο, τηρώντας τους τεκμηριωμένους περιορισμούς διάρκειας πηγής, κάδρου και ήχου."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Το FLUX Video Edit [fast] μετασχηματίζει υπάρχον απόσπασμα μέσω γραπτής οδηγίας επεξεργασίας. Προσθέστε, αφαιρέστε ή αντικαταστήστε στοιχεία, αλλάξτε το σκηνικό ή το ύφος και αναθεωρήστε υπάρχοντα διάλογο, τηρώντας τους τεκμηριωμένους περιορισμούς διάρκειας πηγής, κάδρου και ήχου.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "214f5cfde990fee7ab067afd2b222bec362d9e4f90c6d2eee27ae833c58d7bae",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "d5191c5f6acb605150f6364880b562d7889f27924d568e0eefa31271f3a07c2c"
}
