Lewati ke konten utama

API GPT-Image-1: Panduan Langkah demi Langkah dengan Contoh

Pelajari cara membuat dan mengedit gambar dengan API GPT-Image-1, termasuk penyiapan, penggunaan parameter, dan contoh praktis seperti masking serta menggabungkan beberapa gambar.
Diperbarui 28 Sep 2026  · 12 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Beberapa minggu lalu, ChatGPT viral dengan model pembuatan gambar terbarunya. Model ini sejauh ini yang terbaik yang pernah saya lihat. Kemampuan mengedit gambarnya yang membuatnya menonjol. Akurasinya luar biasa dan membuat imajinasi sangat mudah diwujudkan. Model lain juga bisa melakukannya, tetapi tidak dengan tingkat akurasi yang sama.

Membuat gambar di antarmukanya itu mudah, karena kita hanya perlu memberikan prompt teks. Namun, sebagai programmer, saya menantikan ketersediaannya di API agar bisa berinteraksi secara terprogram. Hari itu akhirnya tiba, dan saya menulis blog ini untuk mengajari Anda cara menggunakannya dengan Python.

Jika Anda hanya tertarik mempelajari cara menggunakannya di antarmuka chat, sebelumnya saya menulis panduan pembuatan gambar GPT-4o dengan delapan contoh praktis. Anda juga dapat menemukan artikel terbaru kami yang membahas ChatGPT Images terbaru, menggunakan model GPT-Image-1.5.

Penyiapan API GPT-Image-1

Model gambar GPT yang baru dilindungi, artinya diperlukan verifikasi tambahan untuk dapat menggunakannya. Pada bagian ini, kami menjelaskan cara menyiapkan API. Jika Anda sudah memiliki kunci API, Anda bisa melewati langkah pertama.

Langkah 1: Buat kunci API

Langkah pertama adalah membuat kunci API. Kita dapat membuatnya dengan masuk ke platform mereka dan menavigasi ke halaman API keys. Lalu, klik tombol "Create new secret key".

Setelah kunci dibuat, buat berkas bernama .env dan salin dengan format berikut:

OPENAI_API_KEY=<paste_your_api_key_here>

Langkah 2: Verifikasi organisasi kita

Perbedaan besar dengan model OpenAI lainnya adalah penggunaan API gambar GPT mengharuskan kita memverifikasi organisasi. Alasannya, GPT-Image-1 dapat menghasilkan gambar yang realistis dan detail, yang menimbulkan kekhawatiran tentang potensi penyalahgunaan, seperti membuat deepfake atau konten yang tidak pantas. Dengan memverifikasi organisasi, OpenAI dapat memantau penggunaan dengan lebih baik dan menegakkan kebijakan keamanannya.

Anda dapat memverifikasi organisasi meski Anda tidak memiliki perusahaan. Namun, perhatikan bahwa proses ini memerlukan pemberian KTP/paspor resmi dan menyelesaikan verifikasi wajah.

Untuk melakukan verifikasi, buka tab general di platform OpenAI API dan klik tombol di bagian "Verifications".

Proses ini dilakukan oleh pihak ketiga dan terdiri dari:

  1. Mengunggah foto dokumen identitas.
  2. Menggunakan kamera ponsel untuk memverifikasi bahwa identitas Anda cocok dengan dokumen yang diberikan.

Prosesnya hanya membutuhkan beberapa menit untuk diselesaikan, lalu sekitar 15 menit untuk diproses.

Penyiapan Python

Untuk tutorial ini, kita akan memasang paket Python berikut:

  • openai: Paket resmi OpenAI yang memungkinkan kita berinteraksi dengan API mereka.
  • dotenv: Paket Python yang memudahkan memuat kunci API secara aman dari berkas .env yang kita buat di atas.

Kita dapat memasangnya dengan perintah:

pip install openai dotenv

Membuat Gambar Pertama Kita dengan GPT-Image-1

Mari lihat cara kita dapat membuat gambar dengan gpt-image-1. Mulailah dengan membuat berkas Python baru, misalnya, generate_image.py, di folder yang sama dengan berkas .env.

Lalu, impor paket yang diperlukan:

# Import the packages
from openai import OpenAI
from dotenv import load_dotenv
import os
import base64
import time

Perhatikan bahwa os dan base64 adalah paket bawaan Python dan tidak perlu dipasang.

Selanjutnya, kita memuat kunci API dan menginisialisasi klien OpenAI:

# Load the API key
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
# Initialize the OpenAI client
client = OpenAI(api_key=api_key)

Kemudian, kita meminta pengguna memasukkan prompt teks menggunakan fungsi bawaan input() dan mengirim permintaan pembuatan gambar ke API:

# Ask the user to input a prompt in the terminal
print("What do you want to generate?")
prompt = input("> ")
print("Generating image...")
# Send the prompt to the API
img = client.images.generate(
  model="gpt-image-1",
  prompt=prompt,
  background="auto",
  n=1,
  quality="high",
  size="1024x1024",
  output_format="png",
  moderation="auto",
)

Terakhir, kita menyimpan gambar yang dihasilkan ke dalam berkas:

# Save the image into a file
image_bytes = base64.b64decode(img.data[0].b64_json)
with open(f"output_{int(time.time())}.png", "wb") as f:
  f.write(image_bytes)

Skrip lengkapnya dapat ditemukan di sini. Untuk menjalankan skrip ini, gunakan perintah:

python generate_image.py

Berikut contoh dengan keluarannya:

Contoh menjalankan gpt-image-1 melalui API

Parameter GPT-Image-1

Pada bagian ini, kami menjelaskan parameter paling relevan dari model gpt-image-1:

  • prompt: Instruksi tekstual yang menjelaskan gambar apa yang ingin kita buat dengan model.
  • background: Jenis latar belakang untuk gambar. Harus salah satu dari "transparent", "opaque", atau "auto". Nilai default adalah "auto", di mana model akan memutuskan berdasarkan konten jenis latar belakang apa yang terbaik. Perhatikan bahwa gambar JPEG tidak mendukung latar belakang transparan.
  • n: Jumlah gambar yang akan dibuat. Harus bernilai dari 1 hingga 10.
  • quality: Kualitas gambar yang dihasilkan. Harus salah satu dari "high", "medium", atau "low", dengan default "high".
  • size: Ukuran gambar dalam piksel. Harus salah satu dari "1024x1024" (persegi), "1536x1024" (lanskap), "1024x1536" (potret).
  • output_format: Format gambar. Harus salah satu dari "png", "jpeg", atau "webp". Default-nya adalah "png".
  • moderation: Tingkat moderasi konten. Harus "low" untuk filter yang kurang ketat atau "auto", yang merupakan default.

Kita telah membahas parameter terpenting yang tersedia untuk model gpt-image-1. Untuk detail lebih lanjut dan daftar lengkap parameter, lihat dokumentasi API resmi.

Dampak parameter quality

Berikut perbandingan berdampingan gambar yang dibuat menggunakan prompt yang sama dengan kualitas berbeda:

Dampak kualitas pada gambar fotorealistik menggunakan gpt-image-1

Kita melihat kucing pertama (dengan kualitas terendah) memiliki beberapa artefak di sekitar mata, dan gambar menjadi jauh lebih realistis seiring peningkatan kualitas.

Berikut contoh lain dengan keluaran bergaya kartun:

Dampak kualitas pada gambar ilustrasi dalam pembuatan gpt-image-1

Dalam kasus ini, kita juga melihat bahwa semakin tinggi kualitas, gambar semakin rapi. Namun, menurut saya, ini kurang relevan untuk konten yang memang tidak dimaksudkan realistis.

Ingat bahwa semakin tinggi kualitas, semakin tinggi pula biaya dan waktu komputasi, jadi ada baiknya mencari kompromi yang tepat, bergantung pada kasus penggunaan. Saya sarankan mencoba parameter dari rendah ke tinggi untuk melihat nilai minimum yang memberikan hasil yang dapat diterima untuk tiap kasus.

Parameter background

Dalam eksperimen saya, saya menemukan bahwa model sebagian besar mengabaikan parameter ini. Berikut contoh berdampingan saat saya mengubah parameter background dan instruksi transparansi dalam prompt:

Contoh transparansi latar belakang di gpt-image-1

Pada contoh pertama, parameter transparansi diabaikan. Pada contoh kedua, saya menambahkan instruksi transparansi ke prompt, dan hasilnya sedikit lebih baik. Pada contoh terakhir, saya meminta latar belakang buram (opaque) tetapi menentukan saya ingin stiker di prompt dan mendapatkan latar belakang transparan.

Saya tetap merekomendasikan menggunakan parameter agar sesuai dengan keinginan Anda, tetapi pastikan juga menyebutkan hasil yang diinginkan dalam prompt untuk mempertegasnya.

Mengedit Gambar dengan GPT-Image-1

Seperti saya sebutkan di pendahuluan, bagian paling menarik dari GPT-Image-1 adalah kemampuannya mengedit gambar. Mari mulai dengan mempelajari cara memintanya mengedit gambar lalu mengeksplor beberapa kasus penggunaan.

Untuk mengedit gambar, sebagian besar kode dapat digunakan kembali. Satu-satunya bagian yang berubah adalah alih-alih menggunakan fungsi client.images.generate(), kita menggunakan fungsi client.images.edit().

Berikut contohnya:

img = client.images.edit(
  model="gpt-image-1",
  image=[
    open("my-image.jpg", "rb"),
  ],
  prompt=prompt,
  n=1,
  quality="high",
  size="1024x1536",
)

Parameter barunya adalah image. Ini adalah daftar gambar masukan yang akan digunakan dalam pengeditan. Dalam kasus ini, kita hanya memberikan satu gambar bernama my-image.jpg yang berada di folder yang sama dengan skrip.

Berikut contoh menggunakan GPT Image 1 untuk mengedit salah satu foto saya:

Contoh mengedit gambar dengan gpt-image-1

Perhatikan bahwa karena gambar asli memiliki rasio potret, saya menggunakan ukuran potret 1024x1536. Namun, ini bukan rasio yang sama dengan gambar asli. Bahkan dalam mode pengeditan, model hanya dapat menghasilkan gambar dalam tiga ukuran yang disebutkan di atas.

Skrip pengeditan lengkapnya dapat ditemukan di sini.

Menggunakan mask

Mode pengeditan menyediakan parameter mask yang dapat kita gunakan untuk menentukan area mana yang harus diedit pada gambar. Mask harus berupa gambar PNG maksimal 4 MB dan memiliki ukuran yang sama dengan gambar. Area dengan transparansi 100% adalah area yang boleh diedit oleh GPT Image 1.

Kita memberikan mask dengan cara yang sama seperti gambar, kecuali kali ini bukan berupa daftar:

img = client.images.edit(
  model="gpt-image-1",
  image=[
    open(sys.argv[1], "rb"),
  ],
  # We provide the mask like this
  mask=open("mask.png", "rb"),
  prompt=prompt,
  n=1,
  quality="high",
  size="1536x1024",
)

Namun, saat saya mencobanya, hasilnya kurang baik, dan saya melihat laporan serupa dari orang lain di internet.

Berikut contohnya:

Contoh penggunaan masking dengan GPT Image 1

Saya juga mencoba menggunakannya untuk menambahkan elemen di lokasi spesifik, dan hasilnya tidak konsisten. Sama seperti penggunaan parameter background untuk pembuatan gambar, saya menemukan bahwa mendeskripsikan keinginan saya dalam prompt memberikan hasil terbaik.

Menggunakan beberapa gambar

Model dapat memproses dan menggabungkan beberapa gambar sekaligus. Pada contoh di bawah, kita menggunakannya untuk membuat poster pemasaran dengan menggabungkan gambar dari tiga minuman ini:

Menggabungkan beberapa foto di gpt-image-1

Kita memberikan ketiga gambar tersebut sebagai daftar di parameter image, sebagai berikut:

prompt = """
Create a vibrant and eye-catching marketing poster to 
promote the cold drinks offerings at our coffee shop.
"""

img = client.images.edit(
  model="gpt-image-1",
  # We can provide multiple images at once
  image=[
    open("latte.png", "rb"),
    open("americano.png", "rb"),
    open("icetea.png", "rb"),
  ],
  prompt=prompt,
  size="1536x1024",
)

Berikut hasilnya:

Hasil menggabungkan beberapa foto dengan gpt-image-1

Harga GPT-Image-1

Pembuatan gambar dikenakan biaya berdasarkan:

  1. Jumlah token dalam prompt teks.
  2. Jumlah token dalam gambar masukan.
  3. Jumlah token dalam gambar keluaran.

Informasi harga token dengan gpt-image-1

Terkadang sulit membayangkan biaya ini karena kita tidak tahu berapa banyak token yang terkandung dalam sebuah gambar. 

Karena dimensi gambar keluaran sudah diketahui, kita tahu berapa banyak token yang diperlukan untuk masing-masing, jadi kita dapat memberikan nilai pasti untuk harga token gambar keluaran (yang merupakan bagian paling mahal):

Informasi harga keluaran dengan gpt-image-1

Harga ini bergantung pada kualitas dan ukuran gambar. Untuk detail lebih lanjut, lihat halaman harga GPT Image 1.

Saat kita membuat gambar, API mengembalikan jumlah token yang digunakan, sehingga kita dapat mengombinasikannya dengan informasi di atas untuk mengetahui dengan tepat berapa biayanya. 

Kita bisa menampilkan jumlah token yang digunakan dengan mencetak field usage dari hasil:

img = client.images.generate(
  model="gpt-image-1",
  prompt=prompt,
  background="transparent",
  n=1,
  quality="medium",
  size="1024x1024",
  moderation="auto",
  output_format="png",
)
# Add this to see the usage
print("Prompt tokens:", img.usage.input_tokens_details.text_tokens)
print("Input images tokens:", img.usage.input_tokens_details.image_tokens)
print("Output image tokens:", img.usage.output_tokens)

Keluaran:

Prompt tokens: 8
Input images tokens: 0
Output image tokens: 272

Kesimpulan

Terlepas dari beberapa kekurangan pada API, seperti masking dan transparansi yang belum cukup andal, model ini dapat mengeksekusi instruksi dalam prompt dengan presisi tinggi.

Saya pikir model ini membuka banyak kemungkinan untuk membangun berbagai hal di sekitarnya. Dalam tutorial ini, kita mempelajari dasar-dasar cara menggunakannya. Berikut beberapa ide yang mungkin ingin Anda eksplorasi untuk dikembangkan dari apa yang Anda pelajari di sini:

  • Mempermudah konversi foto makanan dari ponsel menjadi fotografi makanan yang indah untuk digunakan restoran di menu mereka.
  • Berdasarkan foto teman atau swafoto, buat paket stiker yang mengekspresikan berbagai emosi untuk digunakan di aplikasi chat.
  • Buat alat yang, berdasarkan deskripsi tiap adegan, membuat strip komik dari adegan-adegan tersebut.

François Aubry's photo
Author
François Aubry
LinkedIn
Insinyur full-stack & pendiri di CheapGPT. Mengajar selalu menjadi passion saya. Sejak masa awal sebagai mahasiswa, saya aktif mencari peluang untuk membimbing dan membantu mahasiswa lain. Passion ini mendorong saya menempuh studi PhD, di mana saya juga menjadi asisten pengajar untuk mendukung kegiatan akademik saya. Selama tahun-tahun itu, saya menemukan kepuasan besar dalam suasana kelas tradisional, membangun koneksi dan memfasilitasi proses belajar. Namun, dengan hadirnya platform pembelajaran daring, saya melihat potensi transformatif pendidikan digital. Bahkan, saya terlibat aktif dalam pengembangan salah satu platform tersebut di universitas kami. Saya sangat berkomitmen untuk mengintegrasikan prinsip-prinsip pengajaran tradisional dengan metodologi digital yang inovatif. Tujuan saya adalah menciptakan kursus yang tidak hanya menarik dan informatif, tetapi juga mudah diakses oleh para pembelajar di era digital ini.
Topik
Kecerdasan Buatan
Large Language Models
OpenAI

Pelajari AI dengan kursus-kursus ini!

Kursus

Bekerja dengan OpenAI API

3 jam
180.3K
Mulai perjalanan Anda mengembangkan aplikasi berbasis AI dengan OpenAI API. Pelajari fungsionalitas yang menjadi dasar aplikasi AI populer seperti ChatGPT.
Lihat DetailRight Arrow
Mulai Kursus
Lihat SelengkapnyaRight Arrow
Terkait

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya