Black Forest Labs: FLUX.3 Image
FLUX 3 Image membuat dan menyunting gambar dari brief tertulis dan hingga sepuluh referensi. Model menambahkan kotak pembatas berbasis prompt untuk komposisi dan perubahan lokal, grounding web dan gambar, serta lima kelas resolusi.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
FLUX 3 Image adalah model generasi dan penyuntingan gambar Black Forest Labs dengan kendali eksplisit atas komposisi. Deskripsi teks dapat membuat adegan baru; gambar yang diberikan dapat menetapkan subjek, adegan yang direvisi, atau beberapa elemen yang digabungkan. Kotak pembatas memungkinkan brief menentukan tempat setiap elemen dan bagian gambar yang sudah ada yang harus berubah. Hasilnya berupa gambar, dengan adegan, teks, dan tata letak yang diminta untuk diperiksa.
Buat adegan atau berikan instruksi suntingan
Untuk gambar baru, jelaskan subjek, aksi atau pose, latar, cahaya, dan pembingkaian. Letakkan kata-kata persis yang tampil dalam gambar di dalam tanda kutip dan nyatakan tempatnya. Brief produk orisinal dapat menampilkan mug berkemah merah di permukaan batu pucat, dengan judul besar di atasnya dan cahaya pagi lembut yang memperlihatkan gagang. Tentukan hubungan judul, produk, dan latar, alih-alih menawarkan kata-kata gaya yang tidak berkaitan.
Untuk penyuntingan, tentukan objek tertentu dan perubahannya: warnai ulang mug, ganti label, pindahkan sosok, atau ubah gaya adegan. Satu suntingan tidak memerlukan kotak yang digambar manual. Alur yang didokumentasikan memperluas instruksi sebelum generasi dan dapat menemukan elemen bernama serta menambahkan kotak secara otomatis. Prompt diperluas yang dikembalikan mencatat penafsiran itu, yang berguna ketika instruksi memilih objek salah atau memperkenalkan detail tidak diinginkan.
Gabungkan dan siapkan gambar referensi
Profil produsen yang tepat menerima satu hingga sepuluh referensi, berupa URL gambar atau data gambar terenkode. Setiap gambar harus minimal 256×256 piksel dan tidak lebih besar dari 16 megapiksel. Sebutkan referensi menurut posisi atau konten terlihat, lalu jelaskan perannya: orang dari Image 1, jaket dari Image 2, dan ruangan dari Image 3. Referensi gambar adalah sumber informasi visual, bukan instruksi menyalin setiap detail tidak berkaitan di dalamnya.
Pengaturan rasio aspek secara bawaan adalah auto. Dalam spesifikasi permintaan, rasio yang diminta dalam prompt mendapat prioritas; jika tidak, referensi pertama menetapkan pembingkaian, dengan keluaran persegi sebagai cadangan ketika tidak ada referensi maupun bentuk yang diminta yang menetapkannya. Untuk komposit, tempatkan referensi adegan yang dimaksud di awal atau pilih rasio secara eksplisit. Simpan gambar sumber dan urutannya bersama hasil agar revisi berikutnya menggunakan titik awal visual yang sama.
Tempatkan elemen dengan kotak pembatas
Prompt tata letak menggabungkan keterangan dengan larik JSON berisi baris elemen. Keterangan menyebut elemen melalui penanda seperti <cup_1>; baris memuat id, bbox, dan desc. Koordinat berupa bilangan bulat 0 hingga 1000 dalam urutan [top, left, bottom, right], diukur dari sudut kiri atas. Misalnya, [0, 0, 500, 500] menjelaskan seperempat kiri atas terlepas dari dimensi piksel gambar. Gunakan rasio aspek yang menjadi dasar desain tata letak karena kisi koordinat itu meregang mengikuti bingkai.
Baris suntingan menggunakan from, src_bbox, dan tgt_bbox bersama pengenal serta deskripsi. ref_image_0 berarti gambar pertama yang diberikan. Kotak sumber dan sasaran yang sama menambatkan elemen; kotak berbeda memindahkan atau mengubah ukurannya. Baris baru tanpa sumber menghasilkan deskripsinya di lokasi sasaran, memungkinkan penambahan, penggantian, atau pewarnaan ulang. Baris sumber tanpa sasaran menghapus elemen. Nyatakan penambahan dan penghapusan dalam instruksi tertulis maupun baris, serta pertahankan baris penambat untuk detail yang harus tetap di tempatnya.
Berikan kotak tersendiri pada huruf dan kutip kata-kata persisnya dalam desc. Kotak memandu penempatan dan skala; kotak bukan clipping mask, sehingga elemen dapat melampaui persegi panjang. Pembuat melaporkan bahwa objek baru dalam kotak sekitar 40×25 piksel sering gagal muncul dalam contohnya. Sediakan ruang terlihat yang cukup dan periksa batas suntingan. Piksel di luar sasaran biasanya tetap stabil, tetapi bayangan, pantulan, dan pencahayaan sekitar masih dapat berubah.
Grounding, kelas keluaran, dan catatan berguna
Profil yang didokumentasikan mengaktifkan grounding secara bawaan, sehingga pencarian web dan gambar dapat memberi informasi untuk generasi. Fitur dapat dinonaktifkan untuk brief yang hanya boleh menggunakan deskripsi dan referensinya. Untuk subjek dunia nyata, tentukan lokasi, peristiwa, atau objek dengan jelas dan pisahkan konten faktual dari pengolahan artistik. Gambar berbantuan pencarian tetap perlu dibandingkan dengan materi berwenang ketika label, objek, atau peristiwa yang digambarkan harus akurat.
Lima kelas resolusinya adalah 768sq, 1k, 1.5k, 2k, dan 4k, dengan 1k sebagai bawaan. Kelas tersebut mewakili tingkat luas piksel setara, sehingga lebar dan tinggi tepat bergantung pada rasio pilihan. Lima belas rasio tetap berkisar dari 21:9 melalui format persegi dan potret hingga 9:21. Profil model ini mengendalikan ukuran melalui rasio dan resolusi; profil tidak menyediakan kolom seed, width, atau height yang digunakan dalam profil permintaan FLUX.2. Pemilih versi yang didokumentasikan saat ini menamai rilis yang terus berubah, bukan menetapkan kecocokan bobot pemasok bertanggal.
Alur produsen mengembalikan gambar setelah pemrosesan asinkron, bersama prompt yang diperluas. Tautan unduhan gambar bertanda tangan berlaku selama satu jam. Simpan gambar sebenarnya, prompt akhir, dan referensi, alih-alih mengandalkan tautan sementara. Untuk aset yang ditinjau, bandingkan teks yang diminta, penempatan objek, identitas referensi, dan bagian yang diubah pada ukuran tampilan yang dimaksud. Generasi selesai merupakan titik awal pemeriksaan persyaratan visual itu.
Ailoot Ultra · Gambar POST /v1/images/generations black-forest-labs/flux-3-image
black-forest-labs/flux-3-image
black-forest-labs/flux-3-imageMulai
FLUX 3 Image membuat dan menyunting gambar dari brief tertulis dan hingga sepuluh referensi. Model menambahkan kotak pembatas berbasis prompt untuk komposisi dan perubahan lokal, grounding web dan gambar, serta lima kelas resolusi.
- Masukan yang diterima
- Teks · Gambar
- Hasil
- Gambar
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Gambar POST /v1/images/generations
- Masukan
text,image- Keluaran
image
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan black-forest-labs/flux-3-image | Bawaan— |
Kolomprompt | Jenisstring | PersyaratanWajib | Nilai & batasan Panjang minimum: 1 | Bawaan— |
Kolomresolution | Jenisstring | PersyaratanOpsional | Nilai & batasan 768, 1K, 1.5K, 2K, 4K | Bawaan— |
Kolomaspect_ratio | Jenisstring | PersyaratanOpsional | Nilai & batasan 21:9, 2:1, 16:9, 3:2, 7:5, 4:3, 5:4, 1:1, 4:5, 3:4, 5:7, 2:3, 9:16, 1:2, 9:21, auto | Bawaan— |
Kolomn | Jenisinteger | PersyaratanOpsional | Nilai & batasan Minimum: 1 Maksimum: 1 | Bawaan— |
Kolominput_references | Jenisarray | PersyaratanOpsional | Nilai & batasan Item minimum: 0 Item maksimum: 10 | Bawaan— |
Kolomprovider | Jenisobject | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, prompt |
Parametermaterial_types | Kontraktext, image |
Siklus hidup: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id aktual yang dikembalikan atau catatan pustaka media
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Paket
Cara menghitung biaya akhir
Tarif yang ditampilkan memperkirakan biaya sebelum pembuatan. Biaya akhir dihitung dari biaya yang tercatat untuk proses pembuatan awal. Durasi keluaran yang terukur dan kuantitas perkiraan bukanlah kuantitas akhir yang ditagihkan.
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
Perkiraan tarif untuk perbandingan
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Jumlah perkiraan | Biaya |
|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Jumlah perkiraan— | Biaya Masukan · Token masukan · Perkiraan hanya untuk perbandingan — / 1K token Keluaran · Token keluaran · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Pembacaan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache, 1 jam · Perkiraan hanya untuk perbandingan — / 1K token |
| KonfigurasiPerkiraan biaya pembuatan | Jadwal tarif— | Jumlah perkiraanestimasi satu kali pembuatan | Biaya Keluaran · Perkiraan biaya pembuatan · Perkiraan hanya untuk perbandingan $0.082 estimasi sebelum pembuatan Perkiraan ini bukan biaya tambahan maupun tarif tetap untuk proses pembuatan yang telah selesai. |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Gambar
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={'model': 'black-forest-labs/flux-3-image', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
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
Terima dan simpan hasil
Ailoot Ultra · Gambar
Unduh setiap gambar yang dikembalikan atau simpan konten Base64-nya
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Pembacaan konten lain
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Simpan semua hasil yang selesai
Simpan setiap gambar yang selesai; ambil setiap URL yang dikembalikan atau dekode konten Base64-nya.
Simpan respons dan header secara lengkap, setiap keluaran aktual, identifikator asli yang dikembalikan, dan semua kolom usage. Pulihkan operasi asli tanpa mengirim ulang permintaan pembuatan.
Jika respons asli perlu diperiksa
Simpan X-Client-Request-ID yang dikembalikan untuk rekonsiliasi. Baca hanya nilai task_id/asset_id yang benar-benar dikembalikan atau pustaka media milik Anda; jangan pernah membuat URL tugas dari ID operasi dan jangan pernah mengirim ulang permintaan pembuatan.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomcreated | Jenis |
Kolomdata[].url | Jenis |
Kolomdata[].b64_json | Jenis |
Kolomusage | Jenis |
Alias
Alias model
Ailoot Ultra black-forest-labs/flux-3-image
Alias jalur metode
/v1/images
ID pemanggil terkait
FAQ · Black Forest Labs: FLUX.3 Image
- Input dan hasil apa yang tersedia?
POST /v1/images/generations·black-forest-labs/flux-3-image:text,image→image- Kolom apa yang digunakan permintaan?
POST /v1/images/generations·black-forest-labs/flux-3-image:model,prompt,resolution,aspect_ratio,n,input_references,provider- Batasan apa yang berlaku?
POST /v1/images/generations·black-forest-labs/flux-3-image:n.minimum:1;n.maximum:1