μοντέλα

ByteDance Seed: Seedream 5.0 Flash

Markdown · JSON

ByteDance Seed: Seedream 5.0 Flash

Το Seedream 5.0 Flash δημιουργεί και επεξεργάζεται εικόνες από κείμενο και οπτικές αναφορές, με χωρικά καθοδηγούμενες αλλαγές, πολύγλωσσο κείμενο εικόνας και αποσύνθεση επιπέδων. Η ByteDance Seed τοποθετεί το Flash για ταχύτερη δημιουργία, διατηρώντας το διακριτό από την έκδοση Pro με έμφαση στην ποιότητα.

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

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

Μια ταχύτερη έκδοση δημιουργίας εικόνων

Το Seedream 5.0 Flash είναι το μοντέλο δημιουργίας και επεξεργασίας εικόνων της ByteDance Seed για ροές που δίνουν προτεραιότητα στην ταχύτητα δημιουργίας. Ο οδηγός Pro/Flash του κατασκευαστή περιγράφει τόσο δημιουργία από κείμενο όσο και από εικόνα με μία ή πολλές αναφορές. Διακρίνει την ταχύτερη δημιουργία Flash από την προτεραιότητα υψηλότερης ποιότητας εικόνας του Pro, χωρίς να καθορίζει σταθερό χρόνο απόκρισης για κάθε περιγραφή.

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

Δημιουργία από περιγραφή και αναφορές

Δηλώστε την επιθυμητή εικόνα, το κύριο θέμα, τη σύνθεση και την οπτική απόδοση και προσδιορίστε έπειτα τι ελέγχει κάθε αναφορά. Για οπτικό προϊόντος, διαχωρίστε την αναφορά που καθορίζει το αντικείμενο από εκείνη που παρέχει παλέτα ή υλικό επιφάνειας. Το «Κράτησε τη σιλουέτα και την οπτική γωνία του αντικειμένου από την πρώτη εικόνα· χρησιμοποίησε τη δεύτερη μόνο για την ήπια παλέτα φόντου» δίνει στις αναφορές διακριτούς ρόλους.

Ο κατασκευαστής συνιστά σύντομες προτροπές, όχι περισσότερους από 300 κινεζικούς χαρακτήρες ή 600 αγγλικές λέξεις. Πρόκειται για οδηγία προετοιμασίας αντί για δηλωμένο αυστηρό όριο εισόδου κειμένου. Καταγράψτε πρώτα τις αποφασιστικές απαιτήσεις, μαζί με ακριβή διατύπωση που πρέπει να εμφανιστεί, επιθυμητή αναλογία και λεπτομέρειες που πρέπει να μείνουν αμετάβλητες. Εξετάστε την ολοκληρωμένη εικόνα έναντι αυτής της λίστας, αντί να βασίζεστε μόνο στη συνολική εμφάνιση.

Χωρικά καθοδηγούμενη επεξεργασία

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

Ο οδηγός επεξεργασίας συντεταγμένων του κατασκευαστή χρησιμοποιεί ετικέτες <point> και <bbox> με συντεταγμένες κανονικοποιημένες στο 0–999 ως προς τη συγκεκριμένη εικόνα εισόδου. Ένα σημείο περιέχει x και y· ένα πλαίσιο περιέχει τις συντεταγμένες επάνω αριστερά και κάτω δεξιά. Προσδιορίστε αριθμό εικόνας και αντικείμενο στόχου, ιδίως όταν ένα πλαίσιο περιλαμβάνει αρκετά θέματα. Για επεξεργασία μεταξύ εικόνων, διακρίνετε το αντικείμενο που θα ληφθεί από μία αναφορά και την περιοχή προορισμού σε άλλη.

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

Διαχωρισμός σύνθεσης σε επεξεργάσιμα επίπεδα

Η αποσύνθεση επιπέδων είναι διακριτή λειτουργία που δέχεται ακριβώς μία εικόνα και επιστρέφει εικόνα βάσης μαζί με έως 16 ανεξάρτητα επίπεδα. Κάθε επίπεδο είναι PNG με alpha. Μια προτροπή μπορεί να ονομάζει τα στοιχεία προς διαχωρισμό, όπως τίτλο, κύριο θέμα και διακοσμητικά· χωρίς προτροπή αποσύνθεσης, το μοντέλο προσδιορίζει αυτόματα τα κύρια στοιχεία.

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

Για αναθεώρηση αφίσας, διαχωρίστε το κύριο εικαστικό από τον τίτλο και τα διακοσμητικά και εξετάστε κατόπιν άκρα και κάθε αποκατεστημένη περιοχή φόντου. Ένα διαφανές επίπεδο μπορεί να υποβληθεί σε επεξεργασία ως μία είσοδος με κανάλι alpha, με έξοδο διαφανούς PNG. Η επιλογή διαφανούς φόντου αφορά αυτή τη ροή επεξεργασίας εικόνας μίας εισόδου· η συνήθης δημιουργία από κείμενο είναι χωριστή λειτουργία.

Πολύγλωσση σύνθεση

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

Αρχεία αναφοράς και προδιαγραφές εξόδου

Η δημιουργία εικόνας δέχεται έως 10 αναφορές σε JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC ή HEIF. Καθεμία μπορεί να είναι έως 30 MB, με αμφότερες τις πλευρές πάνω από 14 pixel, 196–36,000,000 συνολικά pixel και αναλογία από 1:16 έως 16:1. Η αποσύνθεση επιπέδων απαιτεί αντίθετα ένα JPEG ή PNG 262,144–36,000,000 pixel, έως 30 MB, στο ίδιο εύρος αναλογίας.

Η δημιουργία προσφέρει βαθμίδες εξόδου 1K, 1.5K και 2K, με προεπιλογή 2K, ή ρητές διαστάσεις με 921,600–4,624,220 συνολικά pixel και αναλογίες από 1:16 έως 16:1. Και οι δύο περιορισμοί ισχύουν για προσαρμοσμένες διαστάσεις. Η έξοδος επιπέδων χρησιμοποιεί 1K, 1.5K, 2K ή auto, με προεπιλογή auto· η βάση και κάθε επίπεδο διατηρούν τις αντίστοιχες αρχικές αναλογίες τους.

Οι ολοκληρωμένες εικόνες είναι JPEG ή PNG. Η μορφή εικόνας βάσης μπορεί να επιλέγεται χωριστά, ενώ τα αποσυντεθειμένα επίπεδα παραμένουν PNG με alpha. Η παράδοση μπορεί να χρησιμοποιεί κωδικοποιημένα δεδομένα εικόνας ή συνδέσμους λήψης που διατηρούνται για 24 ώρες. Αποθηκεύστε κάθε επιστρεφόμενη εικόνα και τα μεταδεδομένα της για την επιθυμητή σχεδιαστική ροή. Εξετάστε κείμενο, επεξεργασμένες λεπτομέρειες και ευθυγράμμιση επιπέδων στο μέγεθος χρήσης του εικαστικού.

Ailoot Ultra · Εικόνες POST /v1/images/generations bytedance-seed/seedream-5-0-flash

bytedance-seed/seedream-5-0-flash

ByteDance Seed /bytedance-seed/seedream-5-0-flash

Εισαγωγή

Δημιουργήστε μία ολοκληρωμένη εικόνα από μια γραπτή περιγραφή.

  • Δημιουργήστε μια στατική εικόνα προϊόντος
  • Εξερευνήστε μια οπτική ιδέα
  • Εικονογραφήστε μια σκηνή
Αποδεκτές είσοδοι
Κείμενο
Αποτελέσματα
Εικόνες

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

Ailoot Ultra · Εικόνες POST /v1/images/generations
Είσοδος
text
Έξοδος
image
Μορφή εξόδου
Αρχείο εικόνας
Πλήθος εξόδων
1 έξοδος
ΠεδίοΤύποςΑπαίτησηΤιμές και όριαΠροεπιλογή
ΠεδίοmodelΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όρια
bytedance-seed/seedream-5-0-flash
Προεπιλογή—
ΠεδίοpromptΤύποςstringΑπαίτησηΥποχρεωτικόΤιμές και όρια
Ελάχιστο μήκος: 1
Συνθήκες: Μη κενή προτροπή UTF8. Δεν επινοείται καθολικό όριο χαρακτήρων του κατασκευαστή.
Προεπιλογή—
ΠεδίοnΤύποςintegerΑπαίτησηΠροαιρετικόΤιμές και όρια
1
Προεπιλογή1
Πεδίοresponse_formatΤύποςstringΑπαίτησηΠροαιρετικόΤιμές και όρια
url, b64_json
Προεπιλογή—
ΠεδίοstreamΤύποςbooleanΑπαίτησηΠροαιρετικόΤιμές και όρια
false
Προεπιλογήfalse
Συνδυασμοί υλικών εισόδου

Κείμενο σε εικόνα · Υποχρεωτικό: prompt

Παράμετροι και κύκλος ζωής μεθόδου
ΠαράμετροςΣύμβαση
Παράμετροςcontent_typeΣύμβασηapplication/json
ΠαράμετροςrequiredΣύμβασηmodel, prompt
Παράμετροςmaterial_typesΣύμβασηtext
ΠαράμετροςoptionalΣύμβασηn, response_format, stream
ΠαράμετροςnΣύμβαση1
ΠαράμετροςstreamΣύμβασηfalse
Παράμετροςresponse_formatΣύμβασηurl, b64_json
Παράμετροςreference_imagesΣύμβασηfalse
ΠαράμετροςeditΣύμβασηfalse
Παράμετροςoutput_format_optionalΣύμβαση
Παράμετροςresolution_controlΣύμβασηnull
Παράμετροςaspect_ratio_controlΣύμβασηnull
Παράμετροςother_fieldsΣύμβασηαπορρίπτονται, εκτός από την ακριβή ορισμένη εσωτερική δρομολόγηση παρόχου

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

GET /v1/media/tasks/{task_id} · Το πραγματικό task_id που επιστράφηκε ή μια εγγραφή στη βιβλιοθήκη πολυμέσων

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Δημιουργήστε μία εικόνα από προτροπή.

Αποθηκεύστε κάθε στοιχείο δεδομένων· τα url/b64_json είναι κωδικοποιήσεις αποτελεσμάτων.

Τιμολόγηση

Πώς υπολογίζεται η τελική χρέωση

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

Οι τιμολογιακές αναφορές δεν προσθέτουν επιλογές αιτήματος. Οι υποστηριζόμενες παράμετροι αναφέρονται στην επιλεγμένη μέθοδο.

Γρήγορη λειτουργία
Δεν έχει οριστεί Όταν επιλέγεται η γρήγορη λειτουργία
Λειτουργία flex
Δεν έχει οριστεί Όταν επιλέγεται η λειτουργία flex
Μέγιστη προσπάθεια συλλογισμού
Δεν έχει οριστεί Όταν η μέγιστη προσπάθεια συλλογισμού χρησιμοποιεί την προσαρμογή default

Εκτιμώμενες χρεώσεις για σύγκριση

Τιμές ανά διαμόρφωση

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

ΔιαμόρφωσηΠίνακας χρεώσεωνΠροβλεπόμενη ποσότηταΜονάδα τιμολόγησηςΧρέωση
ΔιαμόρφωσηΒασικές χρεώσεις tokenΠίνακας χρεώσεωνΒασική χρέωσηΠροβλεπόμενη ποσότητα—Μονάδα τιμολόγησης—Χρέωση
Είσοδος · Token εισόδου · Εκτίμηση μόνο για σύγκριση — / 1K token
Έξοδος · Token εξόδου · Εκτίμηση μόνο για σύγκριση — / 1K token
Είσοδος · Ανάγνωση από την κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση — / 1K token
Είσοδος · Εγγραφή στην κρυφή μνήμη · Εκτίμηση μόνο για σύγκριση — / 1K token
Είσοδος · Εγγραφή στην κρυφή μνήμη, 1 ώρα · Εκτίμηση μόνο για σύγκριση — / 1K token
Διαμόρφωσηεικόνα εισόδουΠίνακας χρεώσεων—Προβλεπόμενη ποσότητα—Μονάδα τιμολόγησηςανά εικόνα εισόδουΧρέωση
Είσοδος · εικόνα εισόδου · Εκτίμηση μόνο για σύγκριση $0 ανά εικόνα εισόδου
ΔιαμόρφωσηUltraΠίνακας χρεώσεων—Προβλεπόμενη ποσότητα—Μονάδα τιμολόγησηςανά εικόνα εξόδουΧρέωση
Έξοδος · έξοδος εικόνας · Εκτίμηση μόνο για σύγκριση $0.036 ανά εικόνα εξόδου
ΔιαμόρφωσηΕκτιμώμενο κόστος δημιουργίαςΠίνακας χρεώσεων—Προβλεπόμενη ποσότηταεκτίμηση για μία δημιουργίαΜονάδα τιμολόγησης—Χρέωση
Έξοδος · Εκτιμώμενο κόστος δημιουργίας · Εκτίμηση μόνο για σύγκριση $0.036 εκτίμηση πριν από τη δημιουργία

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

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

Στοιχεία τιμοκαταλόγου αναφοράς

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

Διαμορφώσεις τιμολόγησης εικόνων

Τιμές ανά διαμόρφωση

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

ΔιαμόρφωσηΣυνθήκες χρέωσηςΧρέωση
ΔιαμόρφωσηΕικόνα εξόδουΣυνθήκες χρέωσηςΔεν δηλώνεται παραλλαγή τιμολόγησης.Χρέωση
Έξοδος · Εικόνα εξόδου $0.036 ανά εικόνα
ΔιαμόρφωσηΕικόνα εισόδουΣυνθήκες χρέωσηςΔεν δηλώνεται παραλλαγή τιμολόγησης.Χρέωση
Είσοδος · Εικόνα εισόδου $0 ανά εικόνα

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

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

Ailoot Ultra · Εικόνες

curlPython SDKNode.js SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "bytedance-seed/seedream-5-0-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")

request={'model': 'bytedance-seed/seedream-5-0-flash', 'prompt': 'A lighthouse on a cliff, watercolor', 'n': 1, 'response_format': 'b64_json'}
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "bytedance-seed/seedream-5-0-flash", "prompt": "A lighthouse on a cliff, watercolor", "n": 1, "response_format": "b64_json"};
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");

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

Ailoot Ultra · Εικόνες

Κατεβάστε κάθε εικόνα που επιστρέφεται ή αποθηκεύστε το περιεχόμενο Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Διατηρήστε όλα τα ολοκληρωμένα αποτελέσματα

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

Αποθηκεύστε κάθε στοιχείο δεδομένων. Αποκωδικοποιήστε κάθε b64_json ή ανακτήστε κάθε υπογεγραμμένο URL που επιστράφηκε. Επιλέξτε την επέκταση του ονόματος αρχείου βάσει του πραγματικού τύπου MIME/των byte.

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

Αν το αποτέλεσμα παραγωγής ή επεξεργασίας εικόνας χρειάζεται έλεγχο, διατηρήστε το αρχικό operation_id/X-Client-Request-ID και τις πληροφορίες αποτελέσματος που επιστράφηκαν. Ανακτήστε τα υπάρχοντα αποτελέσματα που σας ανήκουν μέσω της βιβλιοθήκης πολυμέσων χρησιμοποιώντας πραγματικές τιμές task_id ή asset_id. Μην υποβάλετε ξανά το αίτημα παραγωγής/επεξεργασίας και μην κατασκευάσετε URL περιοδικού ελέγχου από το operation_id.

Πεδία απάντησης
ΠεδίοΤύπος
ΠεδίοcreatedΤύποςinteger
Πεδίοdata[].urlΤύποςstring
Πεδίοdata[].b64_jsonΤύποςbase64 string
ΠεδίοusageΤύποςobject
Σφάλματα και επόμενα βήματα
ΑπάντησηΣυνθήκηΕπόμενο βήμα
Απάντηση400 · invalid_request_errorΣυνθήκηΜη έγκυρα υποχρεωτικά πεδία, μη έγκυρη αναπαράσταση υλικού ή μη έγκυρη τιμή παραμέτρουΕπόμενο βήμαΔιορθώστε τα υποδεικνυόμενα πεδία πριν από νέο αίτημα δημιουργίας.
Απάντησηserver_errorΣυνθήκηΗ απόκριση που επιστράφηκε αναφέρει ότι η λειτουργία ή το αποτέλεσμα χρειάζεται έλεγχοΕπόμενο βήμαΔιατηρήστε το αρχικό ID της λειτουργίας/εργασίας που επιστράφηκε, τις κεφαλίδες του αιτήματος και την απόκριση· συνεχίστε με τις υποστηριζόμενες αναγνώσεις αυτής της αρχικής λειτουργίας. Μην υποβάλετε ξανά το αίτημα δημιουργίας.

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

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

Ailoot Ultra bytedance-seed/seedream-5-0-flash

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

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

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

bytedance-seed/seedream-5-0-flash

FAQ · ByteDance Seed: Seedream 5.0 Flash
Ποιες είσοδοι και αποτελέσματα διατίθενται;

POST /v1/images/generations · bytedance-seed/seedream-5-0-flash: text → image

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

POST /v1/images/generations · bytedance-seed/seedream-5-0-flash: model, prompt, n, response_format, stream

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

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

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

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

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

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

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

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

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

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

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

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