{
  "aboutHtml": "<p>Το FLUX Video Upscale είναι η ροή υπερανάλυσης βίντεο της Black Forest Labs που βασίζεται στο FLUX 3. Δέχεται υπάρχον απόσπασμα και επιστρέφει μεγεθυμένο MP4, με το αρχικό κάδρο και τον ήχο να μεταφέρονται στο αποτέλεσμα. Μια σύντομη προαιρετική περιγραφή μπορεί να κατευθύνει την ενισχυμένη οπτική λεπτομέρεια. Οι δύο λειτουργίες του επιτρέπουν ουσιαστική επιλογή μεταξύ διατήρησης της παρεχόμενης εμφάνισης και παραγωγής πιο επιθετικής λεπτομέρειας, αντί να αντιμετωπίζουν κάθε μεγαλύτερη εικόνα ως εξίσου πιστή ανακατασκευή.</p><h4>Επιλογή ακριβούς ή δημιουργικής ενίσχυσης</h4><p>Η ρύθμιση δημιουργικότητας επιλέγει τη λειτουργία. Η τιμή 0 είναι το ακριβές, πιστό στην πηγή προφίλ: ο κατασκευαστής το συνιστά όταν ένα πρόσωπο, προϊόν ή στοιχείο επωνυμίας πρέπει να διατηρεί την ταυτότητά του. Η τιμή 1 ενεργοποιεί δημιουργική ενίσχυση λεπτομέρειας και είναι η προεπιλογή. Μπορεί να αποκαθιστά ή να επινοεί υφή πιο επιθετικά, κάτι χρήσιμο για παραγόμενο υλικό, τοπία, πλήθη ή επιφάνειες των οποίων η λεπτομέρεια μπορεί να αναπτυχθεί δημιουργικά.</p><p>Ο κατασκευαστής προειδοποιεί ρητά ότι η δημιουργική ενίσχυση δεν διατηρεί πρόσωπα και προϊόντα το ίδιο αυστηρά. Ελέγξτε το χαρακτηριστικό που πρέπει να παραμένει αναγνωρίσιμο: εμφάνιση προσώπου, περίγραμμα προϊόντος, γράμματα, μοτίβο υλικού ή λογότυπο. Ένα οπτικό αποτέλεσμα που φαίνεται ευκρινέστερο μπορεί ακόμη να περιέχει αλλαγμένη ή νεοεπινοημένη λεπτομέρεια. Για επίδειξη προϊόντος, χρησιμοποιήστε την επιδιωκόμενη εμφάνιση προϊόντος ως κριτήριο ελέγχου αντί να επιλέγετε έκδοση μόνο επειδή η υφή της είναι πιο περίτεχνη.</p><p>Η προαιρετική προτροπή περιγράφει το περιεχόμενο του αποσπάσματος για να καθοδηγήσει την ενίσχυση· μια κενή περιγραφή ζητά ουδέτερη μεγέθυνση. Μια πρωτότυπη οδηγία παραγόμενης σκηνής θα μπορούσε να προσδιορίζει πέτρινο τοίχο καλυμμένο με βρύα, απαλό φως ημέρας και λεπτή υφή φύλλων. Διατηρήστε τη διατύπωση γύρω από το υλικό που πρέπει να βελτιωθεί. Ένα αίτημα αντικατάστασης αντικειμένου, ανακατασκευής σκηνικού ή αλλαγής διαλόγου ανήκει σε απόφαση επεξεργασίας, ενώ αυτό το προφίλ διατηρεί το αρχικό ηχητικό κομμάτι.</p><h4>Κλίμακα και επιφάνεια καρέ εξόδου</h4><p>Το τεκμηριωμένο upscale_factor κυμαίνεται από 1.5 έως 3, με προεπιλογή 2. Μεγεθύνει την αρχική ανάλυση διατηρώντας την αναλογία διαστάσεων. Ο επιλεγμένος συντελεστής και οι διαστάσεις εισόδου καθορίζουν την επιδιωκόμενη έξοδο, επομένως ένα οριζόντιο απόσπασμα και μια κατακόρυφη σύνθεση πρέπει να σχεδιάζονται από τα πραγματικά τους καρέ. Προετοιμάστε το μέγεθος προβολής-στόχο πριν επιλέξετε πόση μεγέθυνση είναι χρήσιμη.</p><p>Η ακριβής προδιαγραφή περιορίζει κάθε καρέ εξόδου σε 13,75 μονάδες megapixel του κατασκευαστή. Η τεκμηρίωσή του ορίζει μία τέτοια μονάδα ως 1.048.576 pixel, δίνοντας ανώτατο όριο 14.417.920 pixel, περίπου 14,4 εκατομμύρια. Αυτό εξηγεί τη στρογγυλοποιημένη διατύπωση 14,4 megapixel στον οδηγό. Επομένως, μια μεγάλη πηγή μπορεί να λάβει μικρότερη μεγέθυνση από τον ζητούμενο συντελεστή. Ελέγξτε τις παραδοθείσες διαστάσεις αντί να υποθέτετε ότι ένα αίτημα 3× παράγει πάντα τριπλάσια κάθε διάσταση της πηγής.</p><p>Το δημοσιευμένο ανώτατο όριο ανάλυσης πηγής είναι 2560×1440. Αυτή η ροή αυξάνει μια επιλέξιμη πηγή προς το 4K και πέρα από αυτό· δεν δέχεται ήδη μεγαλύτερη πηγή μόνο επειδή επιθυμείται υψηλότερη έξοδος. Μειώστε την ανάλυση ή προετοιμάστε κατάλληλο αντίγραφο εργασίας πριν χρησιμοποιήσετε αυτό το τεκμηριωμένο προφίλ. Διατηρήστε ξεχωριστά την αρχική εγγραφή, ώστε η τελική σύγκριση να μην περιορίζεται σε ενδιάμεσο αρχείο αλλαγμένου μεγέθους.</p><h4>Προετοιμασία σύντομης, ευανάγνωστης πηγής</h4><p>Οι συνήθεις οδηγίες προετοιμασίας του κατασκευαστή περιορίζουν τις πηγές σε είκοσι δευτερόλεπτα και πενήντα MB. Ένα απόσπασμα παρέχεται μέσω URL βίντεο ή κωδικοποιημένου MP4. Η ακριβής αναφορά σημειώνει ότι η επεξεργασία καλύπτει τα πρώτα είκοσι δευτερόλεπτα: μια μικρή υπέρβαση διάρκειας μπορεί να υποβληθεί σε επεξεργασία μόνο μέχρι εκεί, ενώ ένα σημαντικά μεγαλύτερο απόσπασμα απορρίπτεται. Δεν δημοσιεύεται αριθμητική ανοχή. Περικόψτε στο επιδιωκόμενο τμήμα έως είκοσι δευτερολέπτων, αντί να βασίζεστε σε αυτή την απροσδιόριστη συμπεριφορά ορίου.</p><p>Επιλέξτε την έκδοση με τη μικρότερη διαθέσιμη συμπίεση. Τα τεχνουργήματα συμπίεσης περιορίζουν την πραγματική λεπτομέρεια που μπορεί να ανακτήσει το εργαλείο μεγέθυνσης, ενώ η δημιουργική ενίσχυση μπορεί να δημιουργήσει εύλογη υφή χωρίς να τεκμηριώνει τι περιείχε η αρχική σκηνή. Ολοκληρώστε την επιδιωκόμενη επεξεργασία και περικοπή πριν μεγεθύνετε το επιλεγμένο απόσπασμα. Μια πρωτότυπη ροή θα μπορούσε πρώτα να ολοκληρώνει ένα πλάνο προϊόντος, να επιλέγει το χρήσιμο διάστημα δράσης και έπειτα να μεγεθύνει αυτή την τελική επιλογή, διατηρώντας την αμετάβλητη πηγή για σύγκριση.</p><p>Το αποτέλεσμα διατηρεί το αρχικό ηχητικό κομμάτι. Επιθεωρήστε τον χρονισμό του με την εικόνα, ιδιαίτερα στην αρχή και στο τέλος επιλεγμένου τμήματος. Το τεκμηριωμένο προφίλ δεν παρέχει ανεξάρτητο επιλογέα ρυθμού καρέ, παραγωγή νέου διαλόγου ή χειριστήρια επεξεργασίας με αναφορά εικόνας. Σκοπός του είναι το μεγαλύτερο βίντεο και η επιλεγμένη απόδοση λεπτομέρειας, με το χρονικό και ηχητικό υλικό της πηγής διατηρημένο εντός του επεξεργασμένου τμήματος.</p><h4>Διατήρηση και έλεγχος του παραδοθέντος αποσπάσματος</h4><p>Η ροή του κατασκευαστή είναι ασύγχρονη: μια υποβληθείσα εργασία παρέχει ταυτότητα και θέση κατάστασης και το ολοκληρωμένο αποτέλεσμά της περιέχει υπογεγραμμένο σύνδεσμο παράδοσης MP4. Ο σύνδεσμος λήγει έπειτα από περίπου μία ώρα. Διατηρήστε το πραγματικό απόσπασμα, την πηγή, τον επιλεγμένο συντελεστή, τη λειτουργία δημιουργικότητας και την περιγραφή περιεχομένου, αντί να βασίζεστε στην προσωρινή θέση. Διακρίνετε την κατάσταση αποτυχίας ή ελέγχου περιεχομένου από ένα ολοκληρωμένο βίντεο.</p><p>Ελέγξτε μεμονωμένα καρέ για πρόσωπα, σημάνσεις και αλλαγές επιφανειών και έπειτα παρακολουθήστε την ακολουθία για συνέχεια, κίνηση και ευθυγράμμιση ήχου. Οι ακριβείς και οι δημιουργικές έξοδοι απαντούν σε διαφορετικές οπτικές απαιτήσεις· το χρήσιμο τεχνούργημα είναι το μεγεθυμένο απόσπασμα που καλύπτει τον επιλεγμένο στόχο πιστότητας στο επιδιωκόμενο μέγεθος προβολής. Η μεγαλύτερη ανάλυση από μόνη της δεν αποδεικνύει ότι η αρχική ταυτότητα, διατύπωση ή λεπτή λεπτομέρεια παρέμεινε σωστή.</p>",
  "aboutText": "Το FLUX Video Upscale είναι η ροή υπερανάλυσης βίντεο της Black Forest Labs που βασίζεται στο FLUX 3. Δέχεται υπάρχον απόσπασμα και επιστρέφει μεγεθυμένο MP4, με το αρχικό κάδρο και τον ήχο να μεταφέρονται στο αποτέλεσμα. Μια σύντομη προαιρετική περιγραφή μπορεί να κατευθύνει την ενισχυμένη οπτική λεπτομέρεια. Οι δύο λειτουργίες του επιτρέπουν ουσιαστική επιλογή μεταξύ διατήρησης της παρεχόμενης εμφάνισης και παραγωγής πιο επιθετικής λεπτομέρειας, αντί να αντιμετωπίζουν κάθε μεγαλύτερη εικόνα ως εξίσου πιστή ανακατασκευή.\n\n### Επιλογή ακριβούς ή δημιουργικής ενίσχυσης\n\nΗ ρύθμιση δημιουργικότητας επιλέγει τη λειτουργία. Η τιμή 0 είναι το ακριβές, πιστό στην πηγή προφίλ: ο κατασκευαστής το συνιστά όταν ένα πρόσωπο, προϊόν ή στοιχείο επωνυμίας πρέπει να διατηρεί την ταυτότητά του. Η τιμή 1 ενεργοποιεί δημιουργική ενίσχυση λεπτομέρειας και είναι η προεπιλογή. Μπορεί να αποκαθιστά ή να επινοεί υφή πιο επιθετικά, κάτι χρήσιμο για παραγόμενο υλικό, τοπία, πλήθη ή επιφάνειες των οποίων η λεπτομέρεια μπορεί να αναπτυχθεί δημιουργικά.\n\nΟ κατασκευαστής προειδοποιεί ρητά ότι η δημιουργική ενίσχυση δεν διατηρεί πρόσωπα και προϊόντα το ίδιο αυστηρά. Ελέγξτε το χαρακτηριστικό που πρέπει να παραμένει αναγνωρίσιμο: εμφάνιση προσώπου, περίγραμμα προϊόντος, γράμματα, μοτίβο υλικού ή λογότυπο. Ένα οπτικό αποτέλεσμα που φαίνεται ευκρινέστερο μπορεί ακόμη να περιέχει αλλαγμένη ή νεοεπινοημένη λεπτομέρεια. Για επίδειξη προϊόντος, χρησιμοποιήστε την επιδιωκόμενη εμφάνιση προϊόντος ως κριτήριο ελέγχου αντί να επιλέγετε έκδοση μόνο επειδή η υφή της είναι πιο περίτεχνη.\n\nΗ προαιρετική προτροπή περιγράφει το περιεχόμενο του αποσπάσματος για να καθοδηγήσει την ενίσχυση· μια κενή περιγραφή ζητά ουδέτερη μεγέθυνση. Μια πρωτότυπη οδηγία παραγόμενης σκηνής θα μπορούσε να προσδιορίζει πέτρινο τοίχο καλυμμένο με βρύα, απαλό φως ημέρας και λεπτή υφή φύλλων. Διατηρήστε τη διατύπωση γύρω από το υλικό που πρέπει να βελτιωθεί. Ένα αίτημα αντικατάστασης αντικειμένου, ανακατασκευής σκηνικού ή αλλαγής διαλόγου ανήκει σε απόφαση επεξεργασίας, ενώ αυτό το προφίλ διατηρεί το αρχικό ηχητικό κομμάτι.\n\n### Κλίμακα και επιφάνεια καρέ εξόδου\n\nΤο τεκμηριωμένο upscale_factor κυμαίνεται από 1.5 έως 3, με προεπιλογή 2. Μεγεθύνει την αρχική ανάλυση διατηρώντας την αναλογία διαστάσεων. Ο επιλεγμένος συντελεστής και οι διαστάσεις εισόδου καθορίζουν την επιδιωκόμενη έξοδο, επομένως ένα οριζόντιο απόσπασμα και μια κατακόρυφη σύνθεση πρέπει να σχεδιάζονται από τα πραγματικά τους καρέ. Προετοιμάστε το μέγεθος προβολής-στόχο πριν επιλέξετε πόση μεγέθυνση είναι χρήσιμη.\n\nΗ ακριβής προδιαγραφή περιορίζει κάθε καρέ εξόδου σε 13,75 μονάδες megapixel του κατασκευαστή. Η τεκμηρίωσή του ορίζει μία τέτοια μονάδα ως 1.048.576 pixel, δίνοντας ανώτατο όριο 14.417.920 pixel, περίπου 14,4 εκατομμύρια. Αυτό εξηγεί τη στρογγυλοποιημένη διατύπωση 14,4 megapixel στον οδηγό. Επομένως, μια μεγάλη πηγή μπορεί να λάβει μικρότερη μεγέθυνση από τον ζητούμενο συντελεστή. Ελέγξτε τις παραδοθείσες διαστάσεις αντί να υποθέτετε ότι ένα αίτημα 3× παράγει πάντα τριπλάσια κάθε διάσταση της πηγής.\n\nΤο δημοσιευμένο ανώτατο όριο ανάλυσης πηγής είναι 2560×1440. Αυτή η ροή αυξάνει μια επιλέξιμη πηγή προς το 4K και πέρα από αυτό· δεν δέχεται ήδη μεγαλύτερη πηγή μόνο επειδή επιθυμείται υψηλότερη έξοδος. Μειώστε την ανάλυση ή προετοιμάστε κατάλληλο αντίγραφο εργασίας πριν χρησιμοποιήσετε αυτό το τεκμηριωμένο προφίλ. Διατηρήστε ξεχωριστά την αρχική εγγραφή, ώστε η τελική σύγκριση να μην περιορίζεται σε ενδιάμεσο αρχείο αλλαγμένου μεγέθους.\n\n### Προετοιμασία σύντομης, ευανάγνωστης πηγής\n\nΟι συνήθεις οδηγίες προετοιμασίας του κατασκευαστή περιορίζουν τις πηγές σε είκοσι δευτερόλεπτα και πενήντα MB. Ένα απόσπασμα παρέχεται μέσω URL βίντεο ή κωδικοποιημένου MP4. Η ακριβής αναφορά σημειώνει ότι η επεξεργασία καλύπτει τα πρώτα είκοσι δευτερόλεπτα: μια μικρή υπέρβαση διάρκειας μπορεί να υποβληθεί σε επεξεργασία μόνο μέχρι εκεί, ενώ ένα σημαντικά μεγαλύτερο απόσπασμα απορρίπτεται. Δεν δημοσιεύεται αριθμητική ανοχή. Περικόψτε στο επιδιωκόμενο τμήμα έως είκοσι δευτερολέπτων, αντί να βασίζεστε σε αυτή την απροσδιόριστη συμπεριφορά ορίου.\n\nΕπιλέξτε την έκδοση με τη μικρότερη διαθέσιμη συμπίεση. Τα τεχνουργήματα συμπίεσης περιορίζουν την πραγματική λεπτομέρεια που μπορεί να ανακτήσει το εργαλείο μεγέθυνσης, ενώ η δημιουργική ενίσχυση μπορεί να δημιουργήσει εύλογη υφή χωρίς να τεκμηριώνει τι περιείχε η αρχική σκηνή. Ολοκληρώστε την επιδιωκόμενη επεξεργασία και περικοπή πριν μεγεθύνετε το επιλεγμένο απόσπασμα. Μια πρωτότυπη ροή θα μπορούσε πρώτα να ολοκληρώνει ένα πλάνο προϊόντος, να επιλέγει το χρήσιμο διάστημα δράσης και έπειτα να μεγεθύνει αυτή την τελική επιλογή, διατηρώντας την αμετάβλητη πηγή για σύγκριση.\n\nΤο αποτέλεσμα διατηρεί το αρχικό ηχητικό κομμάτι. Επιθεωρήστε τον χρονισμό του με την εικόνα, ιδιαίτερα στην αρχή και στο τέλος επιλεγμένου τμήματος. Το τεκμηριωμένο προφίλ δεν παρέχει ανεξάρτητο επιλογέα ρυθμού καρέ, παραγωγή νέου διαλόγου ή χειριστήρια επεξεργασίας με αναφορά εικόνας. Σκοπός του είναι το μεγαλύτερο βίντεο και η επιλεγμένη απόδοση λεπτομέρειας, με το χρονικό και ηχητικό υλικό της πηγής διατηρημένο εντός του επεξεργασμένου τμήματος.\n\n### Διατήρηση και έλεγχος του παραδοθέντος αποσπάσματος\n\nΗ ροή του κατασκευαστή είναι ασύγχρονη: μια υποβληθείσα εργασία παρέχει ταυτότητα και θέση κατάστασης και το ολοκληρωμένο αποτέλεσμά της περιέχει υπογεγραμμένο σύνδεσμο παράδοσης MP4. Ο σύνδεσμος λήγει έπειτα από περίπου μία ώρα. Διατηρήστε το πραγματικό απόσπασμα, την πηγή, τον επιλεγμένο συντελεστή, τη λειτουργία δημιουργικότητας και την περιγραφή περιεχομένου, αντί να βασίζεστε στην προσωρινή θέση. Διακρίνετε την κατάσταση αποτυχίας ή ελέγχου περιεχομένου από ένα ολοκληρωμένο βίντεο.\n\nΕλέγξτε μεμονωμένα καρέ για πρόσωπα, σημάνσεις και αλλαγές επιφανειών και έπειτα παρακολουθήστε την ακολουθία για συνέχεια, κίνηση και ευθυγράμμιση ήχου. Οι ακριβείς και οι δημιουργικές έξοδοι απαντούν σε διαφορετικές οπτικές απαιτήσεις· το χρήσιμο τεχνούργημα είναι το μεγεθυμένο απόσπασμα που καλύπτει τον επιλεγμένο στόχο πιστότητας στο επιδιωκόμενο μέγεθος προβολής. Η μεγαλύτερη ανάλυση από μόνη της δεν αποδεικνύει ότι η αρχική ταυτότητα, διατύπωση ή λεπτή λεπτομέρεια παρέμεινε σωστή.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "91fd298ea8c7eae351abf3e36d7c927066f4fec9d45af73cc679996c7f3fe1f9",
    "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 Upscale</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-upscale</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-upscale\">Βίντεο</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 Upscale μεγεθύνει υπάρχον απόσπασμα με πιστή στην πηγή ή δημιουργική ενίσχυση λεπτομέρειας. Το τεκμηριωμένο προφίλ του προσφέρει κλιμάκωση 1.5×–3×, διατηρεί τον αρχικό ήχο και το κάδρο και περιορίζει τη διάρκεια πηγής, την ανάλυση εισόδου και την επιφάνεια καρέ εξόδου.</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 Upscale είναι η ροή υπερανάλυσης βίντεο της Black Forest Labs που βασίζεται στο FLUX 3. Δέχεται υπάρχον απόσπασμα και επιστρέφει μεγεθυμένο MP4, με το αρχικό κάδρο και τον ήχο να μεταφέρονται στο αποτέλεσμα. Μια σύντομη προαιρετική περιγραφή μπορεί να κατευθύνει την ενισχυμένη οπτική λεπτομέρεια. Οι δύο λειτουργίες του επιτρέπουν ουσιαστική επιλογή μεταξύ διατήρησης της παρεχόμενης εμφάνισης και παραγωγής πιο επιθετικής λεπτομέρειας, αντί να αντιμετωπίζουν κάθε μεγαλύτερη εικόνα ως εξίσου πιστή ανακατασκευή.</p><h4>Επιλογή ακριβούς ή δημιουργικής ενίσχυσης</h4><p>Η ρύθμιση δημιουργικότητας επιλέγει τη λειτουργία. Η τιμή 0 είναι το ακριβές, πιστό στην πηγή προφίλ: ο κατασκευαστής το συνιστά όταν ένα πρόσωπο, προϊόν ή στοιχείο επωνυμίας πρέπει να διατηρεί την ταυτότητά του. Η τιμή 1 ενεργοποιεί δημιουργική ενίσχυση λεπτομέρειας και είναι η προεπιλογή. Μπορεί να αποκαθιστά ή να επινοεί υφή πιο επιθετικά, κάτι χρήσιμο για παραγόμενο υλικό, τοπία, πλήθη ή επιφάνειες των οποίων η λεπτομέρεια μπορεί να αναπτυχθεί δημιουργικά.</p><p>Ο κατασκευαστής προειδοποιεί ρητά ότι η δημιουργική ενίσχυση δεν διατηρεί πρόσωπα και προϊόντα το ίδιο αυστηρά. Ελέγξτε το χαρακτηριστικό που πρέπει να παραμένει αναγνωρίσιμο: εμφάνιση προσώπου, περίγραμμα προϊόντος, γράμματα, μοτίβο υλικού ή λογότυπο. Ένα οπτικό αποτέλεσμα που φαίνεται ευκρινέστερο μπορεί ακόμη να περιέχει αλλαγμένη ή νεοεπινοημένη λεπτομέρεια. Για επίδειξη προϊόντος, χρησιμοποιήστε την επιδιωκόμενη εμφάνιση προϊόντος ως κριτήριο ελέγχου αντί να επιλέγετε έκδοση μόνο επειδή η υφή της είναι πιο περίτεχνη.</p><p>Η προαιρετική προτροπή περιγράφει το περιεχόμενο του αποσπάσματος για να καθοδηγήσει την ενίσχυση· μια κενή περιγραφή ζητά ουδέτερη μεγέθυνση. Μια πρωτότυπη οδηγία παραγόμενης σκηνής θα μπορούσε να προσδιορίζει πέτρινο τοίχο καλυμμένο με βρύα, απαλό φως ημέρας και λεπτή υφή φύλλων. Διατηρήστε τη διατύπωση γύρω από το υλικό που πρέπει να βελτιωθεί. Ένα αίτημα αντικατάστασης αντικειμένου, ανακατασκευής σκηνικού ή αλλαγής διαλόγου ανήκει σε απόφαση επεξεργασίας, ενώ αυτό το προφίλ διατηρεί το αρχικό ηχητικό κομμάτι.</p><h4>Κλίμακα και επιφάνεια καρέ εξόδου</h4><p>Το τεκμηριωμένο upscale_factor κυμαίνεται από 1.5 έως 3, με προεπιλογή 2. Μεγεθύνει την αρχική ανάλυση διατηρώντας την αναλογία διαστάσεων. Ο επιλεγμένος συντελεστής και οι διαστάσεις εισόδου καθορίζουν την επιδιωκόμενη έξοδο, επομένως ένα οριζόντιο απόσπασμα και μια κατακόρυφη σύνθεση πρέπει να σχεδιάζονται από τα πραγματικά τους καρέ. Προετοιμάστε το μέγεθος προβολής-στόχο πριν επιλέξετε πόση μεγέθυνση είναι χρήσιμη.</p><p>Η ακριβής προδιαγραφή περιορίζει κάθε καρέ εξόδου σε 13,75 μονάδες megapixel του κατασκευαστή. Η τεκμηρίωσή του ορίζει μία τέτοια μονάδα ως 1.048.576 pixel, δίνοντας ανώτατο όριο 14.417.920 pixel, περίπου 14,4 εκατομμύρια. Αυτό εξηγεί τη στρογγυλοποιημένη διατύπωση 14,4 megapixel στον οδηγό. Επομένως, μια μεγάλη πηγή μπορεί να λάβει μικρότερη μεγέθυνση από τον ζητούμενο συντελεστή. Ελέγξτε τις παραδοθείσες διαστάσεις αντί να υποθέτετε ότι ένα αίτημα 3× παράγει πάντα τριπλάσια κάθε διάσταση της πηγής.</p><p>Το δημοσιευμένο ανώτατο όριο ανάλυσης πηγής είναι 2560×1440. Αυτή η ροή αυξάνει μια επιλέξιμη πηγή προς το 4K και πέρα από αυτό· δεν δέχεται ήδη μεγαλύτερη πηγή μόνο επειδή επιθυμείται υψηλότερη έξοδος. Μειώστε την ανάλυση ή προετοιμάστε κατάλληλο αντίγραφο εργασίας πριν χρησιμοποιήσετε αυτό το τεκμηριωμένο προφίλ. Διατηρήστε ξεχωριστά την αρχική εγγραφή, ώστε η τελική σύγκριση να μην περιορίζεται σε ενδιάμεσο αρχείο αλλαγμένου μεγέθους.</p><h4>Προετοιμασία σύντομης, ευανάγνωστης πηγής</h4><p>Οι συνήθεις οδηγίες προετοιμασίας του κατασκευαστή περιορίζουν τις πηγές σε είκοσι δευτερόλεπτα και πενήντα MB. Ένα απόσπασμα παρέχεται μέσω URL βίντεο ή κωδικοποιημένου MP4. Η ακριβής αναφορά σημειώνει ότι η επεξεργασία καλύπτει τα πρώτα είκοσι δευτερόλεπτα: μια μικρή υπέρβαση διάρκειας μπορεί να υποβληθεί σε επεξεργασία μόνο μέχρι εκεί, ενώ ένα σημαντικά μεγαλύτερο απόσπασμα απορρίπτεται. Δεν δημοσιεύεται αριθμητική ανοχή. Περικόψτε στο επιδιωκόμενο τμήμα έως είκοσι δευτερολέπτων, αντί να βασίζεστε σε αυτή την απροσδιόριστη συμπεριφορά ορίου.</p><p>Επιλέξτε την έκδοση με τη μικρότερη διαθέσιμη συμπίεση. Τα τεχνουργήματα συμπίεσης περιορίζουν την πραγματική λεπτομέρεια που μπορεί να ανακτήσει το εργαλείο μεγέθυνσης, ενώ η δημιουργική ενίσχυση μπορεί να δημιουργήσει εύλογη υφή χωρίς να τεκμηριώνει τι περιείχε η αρχική σκηνή. Ολοκληρώστε την επιδιωκόμενη επεξεργασία και περικοπή πριν μεγεθύνετε το επιλεγμένο απόσπασμα. Μια πρωτότυπη ροή θα μπορούσε πρώτα να ολοκληρώνει ένα πλάνο προϊόντος, να επιλέγει το χρήσιμο διάστημα δράσης και έπειτα να μεγεθύνει αυτή την τελική επιλογή, διατηρώντας την αμετάβλητη πηγή για σύγκριση.</p><p>Το αποτέλεσμα διατηρεί το αρχικό ηχητικό κομμάτι. Επιθεωρήστε τον χρονισμό του με την εικόνα, ιδιαίτερα στην αρχή και στο τέλος επιλεγμένου τμήματος. Το τεκμηριωμένο προφίλ δεν παρέχει ανεξάρτητο επιλογέα ρυθμού καρέ, παραγωγή νέου διαλόγου ή χειριστήρια επεξεργασίας με αναφορά εικόνας. Σκοπός του είναι το μεγαλύτερο βίντεο και η επιλεγμένη απόδοση λεπτομέρειας, με το χρονικό και ηχητικό υλικό της πηγής διατηρημένο εντός του επεξεργασμένου τμήματος.</p><h4>Διατήρηση και έλεγχος του παραδοθέντος αποσπάσματος</h4><p>Η ροή του κατασκευαστή είναι ασύγχρονη: μια υποβληθείσα εργασία παρέχει ταυτότητα και θέση κατάστασης και το ολοκληρωμένο αποτέλεσμά της περιέχει υπογεγραμμένο σύνδεσμο παράδοσης MP4. Ο σύνδεσμος λήγει έπειτα από περίπου μία ώρα. Διατηρήστε το πραγματικό απόσπασμα, την πηγή, τον επιλεγμένο συντελεστή, τη λειτουργία δημιουργικότητας και την περιγραφή περιεχομένου, αντί να βασίζεστε στην προσωρινή θέση. Διακρίνετε την κατάσταση αποτυχίας ή ελέγχου περιεχομένου από ένα ολοκληρωμένο βίντεο.</p><p>Ελέγξτε μεμονωμένα καρέ για πρόσωπα, σημάνσεις και αλλαγές επιφανειών και έπειτα παρακολουθήστε την ακολουθία για συνέχεια, κίνηση και ευθυγράμμιση ήχου. Οι ακριβείς και οι δημιουργικές έξοδοι απαντούν σε διαφορετικές οπτικές απαιτήσεις· το χρήσιμο τεχνούργημα είναι το μεγεθυμένο απόσπασμα που καλύπτει τον επιλεγμένο στόχο πιστότητας στο επιδιωκόμενο μέγεθος προβολής. Η μεγαλύτερη ανάλυση από μόνη της δεν αποδεικνύει ότι η αρχική ταυτότητα, διατύπωση ή λεπτή λεπτομέρεια παρέμεινε σωστή.</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-upscale</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\">upscale_factor</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>number</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,5</div><div>Μέγιστο: 3</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\">creativity</code></th><td data-cell-label=\"Τύπος\" data-field-type><span class=\"card-cell-label\">Τύπος</span><code>integer</code></td><td data-cell-label=\"Απαίτηση\"><span class=\"card-cell-label\">Απαίτηση</span>Υποχρεωτικό</td><td data-cell-label=\"Τιμές και όρια\"><span class=\"card-cell-label\">Τιμές και όρια</span><div>0, 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, upscale_factor, creativity</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>Pixel ανά megapixel</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=\"Pixel ανά megapixel\"><span class=\"card-cell-label\">Pixel ανά megapixel</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>ποιότητα: creative</td><td data-cell-label=\"Pixel ανά megapixel\"><span class=\"card-cell-label\">Pixel ανά megapixel</span>1.048.576</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · Τιμή βίντεο · Εκτίμηση μόνο για σύγκριση</span> <b>$0.21</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>quality: precise</td><td data-cell-label=\"Pixel ανά megapixel\"><span class=\"card-cell-label\">Pixel ανά megapixel</span>1.048.576</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · Τιμή βίντεο · Εκτίμηση μόνο για σύγκριση</span> <b>$0.15</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=\"Pixel ανά megapixel\"><span class=\"card-cell-label\">Pixel ανά megapixel</span>—</td><td data-cell-label=\"Χρέωση\"><span class=\"card-cell-label\">Χρέωση</span><div><span>Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση</span> <b>$0.15</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-1097-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1097-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-1097-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1097-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_UPSCALE_FACTOR:?Set the actual documented input value}&quot;\nexport AILOOT_UPSCALE_FACTOR\n: &quot;${AILOOT_CREATIVITY:?Set the actual documented input value}&quot;\nexport AILOOT_CREATIVITY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;black-forest-labs/flux-video-upscale&#39;, &#39;input_references&#39;: &#39;${ACTUAL_OWNED_INPUT_REFERENCES}&#39;, &#39;upscale_factor&#39;: &#39;${ACTUAL_UPSCALE_FACTOR}&#39;, &#39;creativity&#39;: &#39;${ACTUAL_CREATIVITY}&#39;}\nrequest[&#39;input_references&#39;]=json.loads(os.environ[&#39;AILOOT_INPUT_REFERENCES_JSON&#39;])\nrequest[&#39;upscale_factor&#39;]=float(os.environ[&#39;AILOOT_UPSCALE_FACTOR&#39;])\nrequest[&#39;creativity&#39;]=int(os.environ[&#39;AILOOT_CREATIVITY&#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-1098-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1098-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-1098-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1098-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-upscale&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux-video-upscale&amp;fmt=videos\"><code>black-forest-labs/flux-video-upscale</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-upscale&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux-video-upscale&amp;fmt=videos\"><code>black-forest-labs/flux-video-upscale</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "black-forest-labs/flux-video-upscale",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "black-forest-labs/flux-video-upscale",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|black-forest-labs%2Fflux-video-upscale",
      "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-upscale"
                ],
                "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"
              },
              {
                "maximum": 3,
                "minimum": 1.5,
                "name": "upscale_factor",
                "required": true,
                "type": "number"
              },
              {
                "enum": [
                  0,
                  1
                ],
                "enum_known": true,
                "name": "creativity",
                "required": true,
                "type": "integer"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "creativity": {
                  "enum": [
                    0,
                    1
                  ],
                  "type": "integer"
                },
                "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-upscale"
                  ],
                  "type": "string"
                },
                "upscale_factor": {
                  "maximum": 3,
                  "minimum": 1.5,
                  "type": "number"
                }
              },
              "required": [
                "model",
                "input_references",
                "upscale_factor",
                "creativity"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "creativity": "${ACTUAL_CREATIVITY}",
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "black-forest-labs/flux-video-upscale",
                "upscale_factor": "${ACTUAL_UPSCALE_FACTOR}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Χρησιμοποιήστε ακριβώς ένα πραγματικό URL περιεχομένου ολοκληρωμένου αρχείου βίντεο που σας ανήκει, με την υπογραφή που επιστρέφεται. Ο ιδιοκτήτης, ο τύπος και το αποθηκευμένο τεκμήριο byte του αρχείου πρέπει να αντιστοιχούν στο αίτημα."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "upscale_factor",
              "creativity"
            ]
          },
          "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": "ποιότητα: creative",
              "pixels_per_megapixel": 1048576,
              "quoted_unit": "per megapixel-second"
            },
            "label": "Τιμή βίντεο",
            "units": [
              {
                "amount": "0.21",
                "amount_unit": "usd_per_megapixel_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_megapixel_second_creative",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.21",
                "native_quantity": 1,
                "public_unit_label": "per megapixel-second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "megapixel_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "quality: precise",
              "pixels_per_megapixel": 1048576,
              "quoted_unit": "per megapixel-second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.15",
                "amount_unit": "usd_per_megapixel_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_megapixel_second_precise",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.15",
                "native_quantity": 1,
                "public_unit_label": "per megapixel-second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "megapixel_second"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.15",
                "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.15",
                "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_UPSCALE_FACTOR:?Set the actual documented input value}\"\nexport AILOOT_UPSCALE_FACTOR\n: \"${AILOOT_CREATIVITY:?Set the actual documented input value}\"\nexport AILOOT_CREATIVITY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'black-forest-labs/flux-video-upscale', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'upscale_factor': '${ACTUAL_UPSCALE_FACTOR}', 'creativity': '${ACTUAL_CREATIVITY}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['upscale_factor']=float(os.environ['AILOOT_UPSCALE_FACTOR'])\nrequest['creativity']=int(os.environ['AILOOT_CREATIVITY'])\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": "quality: creative",
              "pixels_per_megapixel": 1048576,
              "quoted_unit": "per megapixel-second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.21",
                "amount_unit": "usd_per_megapixel_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_megapixel_second_creative",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.21",
                "native_quantity": 1,
                "public_unit_label": "per megapixel-second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "megapixel_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "quality: precise",
              "pixels_per_megapixel": 1048576,
              "quoted_unit": "per megapixel-second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.15",
                "amount_unit": "usd_per_megapixel_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_megapixel_second_precise",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.15",
                "native_quantity": 1,
                "public_unit_label": "per megapixel-second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "megapixel_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.15",
                "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.15",
                "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-upscale",
        "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.21",
            "amount_unit": "usd_per_megapixel_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_megapixel_second_creative",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.21",
            "native_quantity": 1,
            "public_unit_label": "per megapixel-second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "megapixel_second"
          },
          {
            "amount": "0.15",
            "amount_unit": "usd_per_megapixel_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_megapixel_second_precise",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.15",
            "native_quantity": 1,
            "public_unit_label": "per megapixel-second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "megapixel_second"
          },
          {
            "amount": "0.15",
            "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.15",
            "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-upscale",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "94b980187cd67b3f201b0401a772082438ad59082f11c68e059f454d321f4ecb",
    "input_html_sha256": "8a0a7b03364179d5e8ab4e54c7ec5ed3a82462dd89e2ef095e8fe5777a84a7f8",
    "private_audit_sha256": "a70565f33032176f905a13ae46112d951b3650853fd84667b67fd0e04925fd31",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/el/black-forest-labs-flux-video-upscale/",
    "description": "Το FLUX Video Upscale μεγεθύνει υπάρχον απόσπασμα με πιστή στην πηγή ή δημιουργική ενίσχυση λεπτομέρειας. Το τεκμηριωμένο προφίλ του προσφέρει κλιμάκωση 1.5×–3×, διατηρεί τον αρχικό ήχο και το κάδρο και περιορίζει τη διάρκεια πηγής, την ανάλυση εισόδου και την επιφάνεια καρέ εξόδου.",
    "locale": "el",
    "md_url": "https://ailoot.ai/models/el/black-forest-labs-flux-video-upscale/index.md",
    "title": "Black Forest Labs: FLUX Video Upscale — Ailoot",
    "url": "https://ailoot.ai/models/el/black-forest-labs-flux-video-upscale/"
  },
  "rawModel": {
    "about": "Το FLUX Video Upscale είναι η ροή υπερανάλυσης βίντεο της Black Forest Labs που βασίζεται στο FLUX 3. Δέχεται υπάρχον απόσπασμα και επιστρέφει μεγεθυμένο MP4, με το αρχικό κάδρο και τον ήχο να μεταφέρονται στο αποτέλεσμα. Μια σύντομη προαιρετική περιγραφή μπορεί να κατευθύνει την ενισχυμένη οπτική λεπτομέρεια. Οι δύο λειτουργίες του επιτρέπουν ουσιαστική επιλογή μεταξύ διατήρησης της παρεχόμενης εμφάνισης και παραγωγής πιο επιθετικής λεπτομέρειας, αντί να αντιμετωπίζουν κάθε μεγαλύτερη εικόνα ως εξίσου πιστή ανακατασκευή.\n\n### Επιλογή ακριβούς ή δημιουργικής ενίσχυσης\n\nΗ ρύθμιση δημιουργικότητας επιλέγει τη λειτουργία. Η τιμή 0 είναι το ακριβές, πιστό στην πηγή προφίλ: ο κατασκευαστής το συνιστά όταν ένα πρόσωπο, προϊόν ή στοιχείο επωνυμίας πρέπει να διατηρεί την ταυτότητά του. Η τιμή 1 ενεργοποιεί δημιουργική ενίσχυση λεπτομέρειας και είναι η προεπιλογή. Μπορεί να αποκαθιστά ή να επινοεί υφή πιο επιθετικά, κάτι χρήσιμο για παραγόμενο υλικό, τοπία, πλήθη ή επιφάνειες των οποίων η λεπτομέρεια μπορεί να αναπτυχθεί δημιουργικά.\n\nΟ κατασκευαστής προειδοποιεί ρητά ότι η δημιουργική ενίσχυση δεν διατηρεί πρόσωπα και προϊόντα το ίδιο αυστηρά. Ελέγξτε το χαρακτηριστικό που πρέπει να παραμένει αναγνωρίσιμο: εμφάνιση προσώπου, περίγραμμα προϊόντος, γράμματα, μοτίβο υλικού ή λογότυπο. Ένα οπτικό αποτέλεσμα που φαίνεται ευκρινέστερο μπορεί ακόμη να περιέχει αλλαγμένη ή νεοεπινοημένη λεπτομέρεια. Για επίδειξη προϊόντος, χρησιμοποιήστε την επιδιωκόμενη εμφάνιση προϊόντος ως κριτήριο ελέγχου αντί να επιλέγετε έκδοση μόνο επειδή η υφή της είναι πιο περίτεχνη.\n\nΗ προαιρετική προτροπή περιγράφει το περιεχόμενο του αποσπάσματος για να καθοδηγήσει την ενίσχυση· μια κενή περιγραφή ζητά ουδέτερη μεγέθυνση. Μια πρωτότυπη οδηγία παραγόμενης σκηνής θα μπορούσε να προσδιορίζει πέτρινο τοίχο καλυμμένο με βρύα, απαλό φως ημέρας και λεπτή υφή φύλλων. Διατηρήστε τη διατύπωση γύρω από το υλικό που πρέπει να βελτιωθεί. Ένα αίτημα αντικατάστασης αντικειμένου, ανακατασκευής σκηνικού ή αλλαγής διαλόγου ανήκει σε απόφαση επεξεργασίας, ενώ αυτό το προφίλ διατηρεί το αρχικό ηχητικό κομμάτι.\n\n### Κλίμακα και επιφάνεια καρέ εξόδου\n\nΤο τεκμηριωμένο upscale_factor κυμαίνεται από 1.5 έως 3, με προεπιλογή 2. Μεγεθύνει την αρχική ανάλυση διατηρώντας την αναλογία διαστάσεων. Ο επιλεγμένος συντελεστής και οι διαστάσεις εισόδου καθορίζουν την επιδιωκόμενη έξοδο, επομένως ένα οριζόντιο απόσπασμα και μια κατακόρυφη σύνθεση πρέπει να σχεδιάζονται από τα πραγματικά τους καρέ. Προετοιμάστε το μέγεθος προβολής-στόχο πριν επιλέξετε πόση μεγέθυνση είναι χρήσιμη.\n\nΗ ακριβής προδιαγραφή περιορίζει κάθε καρέ εξόδου σε 13,75 μονάδες megapixel του κατασκευαστή. Η τεκμηρίωσή του ορίζει μία τέτοια μονάδα ως 1.048.576 pixel, δίνοντας ανώτατο όριο 14.417.920 pixel, περίπου 14,4 εκατομμύρια. Αυτό εξηγεί τη στρογγυλοποιημένη διατύπωση 14,4 megapixel στον οδηγό. Επομένως, μια μεγάλη πηγή μπορεί να λάβει μικρότερη μεγέθυνση από τον ζητούμενο συντελεστή. Ελέγξτε τις παραδοθείσες διαστάσεις αντί να υποθέτετε ότι ένα αίτημα 3× παράγει πάντα τριπλάσια κάθε διάσταση της πηγής.\n\nΤο δημοσιευμένο ανώτατο όριο ανάλυσης πηγής είναι 2560×1440. Αυτή η ροή αυξάνει μια επιλέξιμη πηγή προς το 4K και πέρα από αυτό· δεν δέχεται ήδη μεγαλύτερη πηγή μόνο επειδή επιθυμείται υψηλότερη έξοδος. Μειώστε την ανάλυση ή προετοιμάστε κατάλληλο αντίγραφο εργασίας πριν χρησιμοποιήσετε αυτό το τεκμηριωμένο προφίλ. Διατηρήστε ξεχωριστά την αρχική εγγραφή, ώστε η τελική σύγκριση να μην περιορίζεται σε ενδιάμεσο αρχείο αλλαγμένου μεγέθους.\n\n### Προετοιμασία σύντομης, ευανάγνωστης πηγής\n\nΟι συνήθεις οδηγίες προετοιμασίας του κατασκευαστή περιορίζουν τις πηγές σε είκοσι δευτερόλεπτα και πενήντα MB. Ένα απόσπασμα παρέχεται μέσω URL βίντεο ή κωδικοποιημένου MP4. Η ακριβής αναφορά σημειώνει ότι η επεξεργασία καλύπτει τα πρώτα είκοσι δευτερόλεπτα: μια μικρή υπέρβαση διάρκειας μπορεί να υποβληθεί σε επεξεργασία μόνο μέχρι εκεί, ενώ ένα σημαντικά μεγαλύτερο απόσπασμα απορρίπτεται. Δεν δημοσιεύεται αριθμητική ανοχή. Περικόψτε στο επιδιωκόμενο τμήμα έως είκοσι δευτερολέπτων, αντί να βασίζεστε σε αυτή την απροσδιόριστη συμπεριφορά ορίου.\n\nΕπιλέξτε την έκδοση με τη μικρότερη διαθέσιμη συμπίεση. Τα τεχνουργήματα συμπίεσης περιορίζουν την πραγματική λεπτομέρεια που μπορεί να ανακτήσει το εργαλείο μεγέθυνσης, ενώ η δημιουργική ενίσχυση μπορεί να δημιουργήσει εύλογη υφή χωρίς να τεκμηριώνει τι περιείχε η αρχική σκηνή. Ολοκληρώστε την επιδιωκόμενη επεξεργασία και περικοπή πριν μεγεθύνετε το επιλεγμένο απόσπασμα. Μια πρωτότυπη ροή θα μπορούσε πρώτα να ολοκληρώνει ένα πλάνο προϊόντος, να επιλέγει το χρήσιμο διάστημα δράσης και έπειτα να μεγεθύνει αυτή την τελική επιλογή, διατηρώντας την αμετάβλητη πηγή για σύγκριση.\n\nΤο αποτέλεσμα διατηρεί το αρχικό ηχητικό κομμάτι. Επιθεωρήστε τον χρονισμό του με την εικόνα, ιδιαίτερα στην αρχή και στο τέλος επιλεγμένου τμήματος. Το τεκμηριωμένο προφίλ δεν παρέχει ανεξάρτητο επιλογέα ρυθμού καρέ, παραγωγή νέου διαλόγου ή χειριστήρια επεξεργασίας με αναφορά εικόνας. Σκοπός του είναι το μεγαλύτερο βίντεο και η επιλεγμένη απόδοση λεπτομέρειας, με το χρονικό και ηχητικό υλικό της πηγής διατηρημένο εντός του επεξεργασμένου τμήματος.\n\n### Διατήρηση και έλεγχος του παραδοθέντος αποσπάσματος\n\nΗ ροή του κατασκευαστή είναι ασύγχρονη: μια υποβληθείσα εργασία παρέχει ταυτότητα και θέση κατάστασης και το ολοκληρωμένο αποτέλεσμά της περιέχει υπογεγραμμένο σύνδεσμο παράδοσης MP4. Ο σύνδεσμος λήγει έπειτα από περίπου μία ώρα. Διατηρήστε το πραγματικό απόσπασμα, την πηγή, τον επιλεγμένο συντελεστή, τη λειτουργία δημιουργικότητας και την περιγραφή περιεχομένου, αντί να βασίζεστε στην προσωρινή θέση. Διακρίνετε την κατάσταση αποτυχίας ή ελέγχου περιεχομένου από ένα ολοκληρωμένο βίντεο.\n\nΕλέγξτε μεμονωμένα καρέ για πρόσωπα, σημάνσεις και αλλαγές επιφανειών και έπειτα παρακολουθήστε την ακολουθία για συνέχεια, κίνηση και ευθυγράμμιση ήχου. Οι ακριβείς και οι δημιουργικές έξοδοι απαντούν σε διαφορετικές οπτικές απαιτήσεις· το χρήσιμο τεχνούργημα είναι το μεγεθυμένο απόσπασμα που καλύπτει τον επιλεγμένο στόχο πιστότητας στο επιδιωκόμενο μέγεθος προβολής. Η μεγαλύτερη ανάλυση από μόνη της δεν αποδεικνύει ότι η αρχική ταυτότητα, διατύπωση ή λεπτή λεπτομέρεια παρέμεινε σωστή.",
    "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.15",
            "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.15",
            "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-upscale",
    "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-upscale"
                ],
                "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"
              },
              {
                "maximum": 3,
                "minimum": 1.5,
                "name": "upscale_factor",
                "required": true,
                "type": "number"
              },
              {
                "enum": [
                  0,
                  1
                ],
                "enum_known": true,
                "name": "creativity",
                "required": true,
                "type": "integer"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "creativity": {
                  "enum": [
                    0,
                    1
                  ],
                  "type": "integer"
                },
                "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-upscale"
                  ],
                  "type": "string"
                },
                "upscale_factor": {
                  "maximum": 3,
                  "minimum": 1.5,
                  "type": "number"
                }
              },
              "required": [
                "model",
                "input_references",
                "upscale_factor",
                "creativity"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "creativity": "${ACTUAL_CREATIVITY}",
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "black-forest-labs/flux-video-upscale",
                "upscale_factor": "${ACTUAL_UPSCALE_FACTOR}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Χρησιμοποιήστε ακριβώς ένα πραγματικό URL περιεχομένου ολοκληρωμένου αρχείου βίντεο που σας ανήκει, με την υπογραφή που επιστρέφεται. Ο ιδιοκτήτης, ο τύπος και το αποθηκευμένο τεκμήριο byte του αρχείου πρέπει να αντιστοιχούν στο αίτημα."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "upscale_factor",
              "creativity"
            ]
          },
          "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": "ποιότητα: creative",
              "pixels_per_megapixel": 1048576,
              "quoted_unit": "per megapixel-second"
            },
            "label": "Τιμή βίντεο",
            "units": [
              {
                "amount": "0.21",
                "amount_unit": "usd_per_megapixel_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_megapixel_second_creative",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.21",
                "native_quantity": 1,
                "public_unit_label": "per megapixel-second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "megapixel_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "quality: precise",
              "pixels_per_megapixel": 1048576,
              "quoted_unit": "per megapixel-second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.15",
                "amount_unit": "usd_per_megapixel_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_megapixel_second_precise",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.15",
                "native_quantity": 1,
                "public_unit_label": "per megapixel-second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "megapixel_second"
              }
            ]
          },
          {
            "basis": "Αυτή η εκτίμηση δεν αποτελεί πρόσθετη χρέωση ούτε σταθερή τιμή για την ολοκληρωμένη παραγωγή.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Εκτιμώμενο κόστος δημιουργίας",
            "units": [
              {
                "amount": "0.15",
                "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.15",
                "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_UPSCALE_FACTOR:?Set the actual documented input value}\"\nexport AILOOT_UPSCALE_FACTOR\n: \"${AILOOT_CREATIVITY:?Set the actual documented input value}\"\nexport AILOOT_CREATIVITY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'black-forest-labs/flux-video-upscale', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'upscale_factor': '${ACTUAL_UPSCALE_FACTOR}', 'creativity': '${ACTUAL_CREATIVITY}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['upscale_factor']=float(os.environ['AILOOT_UPSCALE_FACTOR'])\nrequest['creativity']=int(os.environ['AILOOT_CREATIVITY'])\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": "quality: creative",
              "pixels_per_megapixel": 1048576,
              "quoted_unit": "per megapixel-second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.21",
                "amount_unit": "usd_per_megapixel_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_megapixel_second_creative",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.21",
                "native_quantity": 1,
                "public_unit_label": "per megapixel-second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "megapixel_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "quality: precise",
              "pixels_per_megapixel": 1048576,
              "quoted_unit": "per megapixel-second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.15",
                "amount_unit": "usd_per_megapixel_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_megapixel_second_precise",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.15",
                "native_quantity": 1,
                "public_unit_label": "per megapixel-second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "megapixel_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.15",
                "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.15",
                "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-upscale",
        "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.21",
            "amount_unit": "usd_per_megapixel_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_megapixel_second_creative",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.21",
            "native_quantity": 1,
            "public_unit_label": "per megapixel-second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "megapixel_second"
          },
          {
            "amount": "0.15",
            "amount_unit": "usd_per_megapixel_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_megapixel_second_precise",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.15",
            "native_quantity": 1,
            "public_unit_label": "per megapixel-second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "megapixel_second"
          },
          {
            "amount": "0.15",
            "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.15",
            "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-upscale",
        "request_model_id": "black-forest-labs/flux-video-upscale",
        "route_label": "Ultra"
      }
    ],
    "name": "Black Forest Labs: FLUX Video Upscale",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.15,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.15,
      "varies": false
    },
    "short": "Το FLUX Video Upscale μεγεθύνει υπάρχον απόσπασμα με πιστή στην πηγή ή δημιουργική ενίσχυση λεπτομέρειας. Το τεκμηριωμένο προφίλ του προσφέρει κλιμάκωση 1.5×–3×, διατηρεί τον αρχικό ήχο και το κάδρο και περιορίζει τη διάρκεια πηγής, την ανάλυση εισόδου και την επιφάνεια καρέ εξόδου."
  },
  "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 Upscale μεγεθύνει υπάρχον απόσπασμα με πιστή στην πηγή ή δημιουργική ενίσχυση λεπτομέρειας. Το τεκμηριωμένο προφίλ του προσφέρει κλιμάκωση 1.5×–3×, διατηρεί τον αρχικό ήχο και το κάδρο και περιορίζει τη διάρκεια πηγής, την ανάλυση εισόδου και την επιφάνεια καρέ εξόδου.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "738dc4fd2a00fd7d1cb512b37f4813fd848db44a5627d51301e3293861ea6360",
    "renderer_sha256": "3ed36f7af4f78822bafbd174fdcaed7b698a18a86efe254253d37f1b098a7566"
  },
  "sourceRevision": "ac5e18b4dce78298c6bf56bb543d5f6fafe15ddd6548d033c004776437e44cd6"
}
