OpenAI: GPT Image 1
GPT Image 1 menjana dan menyunting imej daripada teks serta input visual, termasuk komposisi berpandukan rujukan dan perubahan bertopeng. Model ini menyokong fideliti input boleh pilih, saiz bingkai standard, latar belakang telus dan output PNG, JPEG atau WebP.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
GPT Image 1 ialah model imej multimodal natif OpenAI yang menerima input teks serta imej dan menghasilkan output imej. Model ini boleh menjana adegan baharu, menggunakan imej rujukan untuk membentuk komposisi atau menyunting aset sedia ada melalui arahan baharu. Kerja praktikal termasuk ilustrasi, imejan produk, konsep reka bentuk dan perubahan setempat berpandukan topeng. Ini edisi bernama GPT Image 1, berasingan daripada Image 1 Mini, Image 1.5 dan versi GPT Image kemudian.
Sediakan taklimat yang menyatakan subjek, latar, komposisi, pencahayaan dan gaya visual. Jika tugasan memerlukan teks yang kelihatan, sertakan perkataan tepat dan jelaskan hierarki serta kedudukan yang dimaksudkan. Untuk komposisi rujukan, tetapkan peranan jelas kepada setiap imej, seperti produk, persekitaran atau olahan visual. Aliran kerja penjanaan dan penyuntingan langsung membenarkan prompt sehingga 32,000 aksara serta satu hingga sepuluh hasil imej. Bandingkan variasi yang dipulangkan dengan taklimat sama dan simpan aset terpilih untuk kerja susulan.
Penyuntingan boleh menerima sehingga enam belas imej rujukan. GPT Image 1 menyokong input_fidelity low dan high, dengan low sebagai lalai. Kawalan ini mempengaruhi usaha mengekalkan ciri serta gaya imej sumber; ia berasingan daripada kualiti pemaparan dan saiz output. Suntingan fideliti tinggi berguna apabila butiran sumber penting, tetapi tidak menjamin setiap butiran pengenalan kekal sama. Nyatakan perkara yang perlu dikekalkan dan perkara yang boleh berubah, bukannya bergantung pada tetapan fideliti sahaja.
Penyuntingan bertopeng mengenal pasti kawasan untuk diubah. Sediakan sumber dan topeng dalam format serta dimensi sama, di bawah 50 MB menurut keperluan panduan, dengan saluran alfa dalam topeng. Dengan berbilang imej sumber, topeng digunakan pada imej pertama. Taklimat suntingan yang berguna boleh meminta warna dinding berbeza sambil mengekalkan perabot, sudut kamera dan pencahayaan. Model menggunakan topeng sebagai panduan tanpa menjanjikan sempadan tepat, jadi periksa kawasan yang diubah dan sekelilingnya.
Saiz output standard yang didokumenkan ialah 1024 × 1024, 1536 × 1024 dan 1024 × 1536 piksel, dengan pemilihan saiz automatik jika disokong. Kualiti ialah low, medium, high atau auto. GPT Image 1 menggunakan bingkai standard dan tahap kualiti sehingga high ini. Pilih bingkai standard berdasarkan paparan yang dimaksudkan dan tahap butiran berdasarkan tujuan aset.
PNG ialah output lalai, dengan JPEG dan WebP sebagai pilihan lain. Pemampatan daripada 0 hingga 100 tersedia untuk JPEG dan WebP. Pilihan latar belakang telus, legap dan automatik menyokong keperluan penghantaran berbeza; ketelusan memerlukan PNG atau WebP. Untuk grafik terasing, gunakan format yang mengekalkan saluran alfanya sebelum meletakkannya dalam susun atur kemudian. Untuk adegan lengkap, kekalkan latar belakang dan hubungan subjek dengannya dalam taklimat.
OpenAI mendokumenkan penjanaan dan penyuntingan langsung, dan kad model turut merangkumi penggunaan imej dalam perbualan. Untuk kerja berulang, simpan hasil terpilih sebagai sumber perubahan susulan, bukannya memilih variasi berbeza secara tersirat. Rujukan imej mendokumenkan penstriman dengan sehingga tiga imej separa; ini menunjukkan kemajuan, bukannya aset siap tambahan. Simpan imej siap dan taklimat bersama supaya suntingan kemudian merujuk komposisi sebenar. Antara muka pengeluar juga menyokong pemprosesan kelompok.
Model masih boleh menghadapi kesukaran dengan penempatan teks tepat, susun atur yang sangat berstruktur dan ketekalan subjek berulang. Periksa tulisan, sempadan objek, olahan warna dan butiran yang mengenal pasti bahan sumber pada saiz yang dimaksudkan. Jika suntingan memerlukan penambahbaikan, terangkan ketidakpadanan yang kelihatan serta unsur yang perlu dikekalkan. GPT Image 1 berguna untuk urutan konkrit penjanaan, penyuntingan berpandukan rujukan dan penyediaan aset, dengan saiz standard serta fideliti input boleh pilihnya dibezakan daripada edisi lain.
Ailoot Ultra · Imej POST /v1/images/generations openai/gpt-image-1
openai/gpt-image-1Pengenalan
GPT Image 1 menjana dan menyunting imej daripada teks serta input visual, termasuk komposisi berpandukan rujukan dan perubahan bertopeng. Model ini menyokong fideliti input boleh pilih, saiz bingkai standard, latar belakang telus dan output PNG, JPEG atau WebP.
- Input yang diterima
- Teks · Imej
- Hasil
- Imej
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Imej POST /v1/images/generations
- Input
text,image- Output
image
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had openai/gpt-image-1 | Lalai— |
Medanprompt | Jenisstring | KeperluanDiperlukan | Nilai & had Panjang minimum: 1 | Lalai— |
Medanaspect_ratio | Jenisstring | KeperluanPilihan | Nilai & had 1:1, 3:2, 2:3, auto | Lalai— |
Medanquality | Jenisstring | KeperluanPilihan | Nilai & had auto, low, medium, high | Lalai— |
Medanbackground | Jenisstring | KeperluanPilihan | Nilai & had auto, transparent, opaque | Lalai— |
Medann | Jenisinteger | KeperluanPilihan | Nilai & had Minimum: 1 Maksimum: 10 | Lalai— |
Medaninput_references | Jenisarray | KeperluanPilihan | Nilai & had Item minimum: 0 Item maksimum: 16 | Lalai— |
Medanoutput_compression | Jenisinteger | KeperluanPilihan | Nilai & had Minimum: 0 Maksimum: 100 | Lalai— |
Medanprovider | Jenisobject | KeperluanPilihan | Nilai & had | Lalai— |
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, prompt |
Parametermaterial_types | Kontraktext, image |
Kitar hayat: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · task_id sebenar yang dikembalikan atau rekod pustaka media
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pelan harga
Cara caj akhir dikira
Kadar yang dipaparkan menganggarkan kos sebelum penjanaan. Caj akhir dikira berdasarkan kos yang direkodkan untuk penjanaan asal. Tempoh output yang diukur dan kuantiti ramalan bukan kuantiti akhir yang boleh dibilkan.
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Anggaran kadar untuk perbandingan
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Kuantiti ramalan | Caj |
|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Kuantiti ramalan— | Caj Input · Token input · Anggaran untuk perbandingan sahaja — / 1K token Output · Token output · Anggaran untuk perbandingan sahaja — / 1K token Input · Bacaan cache · Anggaran untuk perbandingan sahaja — / 1K token Input · Penulisan cache · Anggaran untuk perbandingan sahaja — / 1K token Input · Penulisan cache, 1 jam · Anggaran untuk perbandingan sahaja — / 1K token |
| KonfigurasiAnggaran kos penjanaan | Jadual kadar— | Kuantiti ramalananggaran untuk satu penjanaan | Caj Output · Anggaran kos penjanaan · Anggaran untuk perbandingan sahaja $0.32768 anggaran sebelum penjanaan Anggaran ini bukan caj tambahan atau kadar tetap bagi penjanaan yang telah selesai. |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Imej
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': 'openai/gpt-image-1', '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 · Imej
Muat turun setiap imej yang dikembalikan atau simpan kandungan Base64-nya
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Pembacaan kandungan 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 imej yang selesai; dapatkan setiap URL yang dikembalikan atau nyahkod kandungan Base64-nya.
Simpan respons dan pengepala yang lengkap, setiap output sebenar, pengecam asal yang dikembalikan serta semua medan penggunaan. Pulihkan operasi asal tanpa menghantar permintaan penciptaan sekali lagi.
Jika respons asal perlu disemak
Simpan X-Client-Request-ID yang dikembalikan untuk penyelarasan rekod. Baca hanya nilai task_id/asset_id sebenar yang dikembalikan atau pustaka media milik anda; jangan sekali-kali bina URL tugas daripada ID operasi atau hantar semula permintaan penciptaan.
Medan respons
| Medan | Jenis |
|---|---|
Medancreated | Jenis |
Medandata[].url | Jenis |
Medandata[].b64_json | Jenis |
Medanusage | Jenis |
Alias
Alias model
Ailoot Ultra openai/gpt-image-1
Alias laluan kaedah
/v1/images
ID pemanggil berkaitan
FAQ · OpenAI: GPT Image 1
- Apakah input dan hasil yang tersedia?
POST /v1/images/generations·openai/gpt-image-1:text,image→image- Apakah medan yang digunakan oleh permintaan?
POST /v1/images/generations·openai/gpt-image-1:model,prompt,aspect_ratio,quality,background,n,input_references,output_compression,provider- Apakah had yang terpakai?
POST /v1/images/generations·openai/gpt-image-1:n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100