API Hop

Dokumentasi

Dokumentasi API Hop

Pembuatan Gambar GPT-Image-2

Buat gambar atau sunting gambar referensi dengan gpt-image-2 dan terima hasil dalam respons JSON atau koneksi SSE saat ini.

POSThttps://api.apihop.ai/openai/v1/images/generations

gpt-image-2 mendukung pembuatan gambar dan penyuntingan gambar referensi untuk gambar produk, draf poster, ilustrasi, aset media sosial, visual beresolusi tinggi, transfer gaya, dan penggabungan beberapa referensi.

text
POST https://api.apihop.ai/openai/v1/images/generations

Autentikasi

http
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Mulai Cepat

json
{
  "model": "gpt-image-2",
  "prompt": "A minimal black wireless earbud product poster on a white background, clean studio lighting, no text",
  "n": 1,
  "size": "2048x1152",
  "resolution": "2k",
  "quality": "low"
}

Cakupan perbandingan harga

Tingkat gambar 1K / 2K / 4K yang dipublikasikan API Hop adalah *harga jual API Hop*, bukan tarif tetap resmi OpenAI per gambar. Dokumentasi harga OpenAI menjelaskan biaya token gambar/teks dan tingkat pemrosesan; biaya aktual bergantung pada ukuran, kualitas, masukan referensi, dan keluaran. Membandingkan keduanya hanya karena sama-sama menyebut 1k atau 2k bukan perhitungan diskon dengan dasar yang setara.

Untuk menghindari klaim penghematan tanpa dasar, referensi USD per image penyedia agregat lama dan lencana diskon sengaja disembunyikan untuk GPT Image 2. Harga API Hop tetap terlihat dan kontrak penagihannya tidak berubah. Untuk perbandingan mendatang yang dapat dipertanggungjawabkan, catat model, endpoint, kualitas gambar, ukuran, kondisi masukan, URL sumber resmi, dan tanggal verifikasi referensi secara tepat. Periksa harga efektif akun Anda sebelum melakukan panggilan berbayar.

Isi

modelstringwajibBawaan: gpt-image-2

ID model gambar. Gunakan gpt-image-2.

promptstringwajib

Prompt gambar. Jelaskan subjek, adegan, komposisi, gaya, bahan, pencahayaan, warna, dan apakah teks harus muncul.

nintegerBawaan: 1

Jumlah gambar yang akan dibuat. Kontrak publik gpt-image-2 saat ini hanya mendukung 1. Nilai lainnya mengembalikan 400 sebelum reservasi.

sizestringBawaan: auto

Rasio aspek atau dimensi piksel keluaran.

Nilai umum:

  • 1:1
  • 4:3
  • 16:9
  • 9:16
  • 1024x1024
  • 1536x1024
  • 1024x1536
  • 2048x2048
  • 2048x1152
  • 3840x2160
  • 2160x3840
  • auto
qualitystringBawaan: auto

Kualitas keluaran. Nilai yang didukung meliputi low, medium, high, dan auto.

resolutionstringBawaan: 1k

Tingkat resolusi keluaran. Nilai yang didukung adalah 1k, 2k, dan 4k.

Dapat digabungkan dengan size, misalnya size: "16:9" dan resolution: "2k".

image_urlsarray<string>

Gambar referensi untuk penyuntingan berbasis instruksi atau penggabungan beberapa gambar.

  • Hingga 16 gambar.
  • Setiap gambar dapat berukuran hingga 20 MB, dengan batas total masukan 256 MB.
  • URL gambar yang dapat diakses publik didukung.
  • URI data Base64 seperti data:image/...;base64,... didukung.
  • URL dan URI data base64 dapat dicampur dalam larik yang sama.
output_formatstringBawaan: png

Format keluaran. Nilai yang didukung meliputi png, jpeg, dan webp.

streambooleanBawaan: false

Apakah mengembalikan Server-Sent Events.

Gambar Referensi dan Penyuntingan

Penyuntingan gambar referensi menggunakan endpoint JSON yang sama. Tambahkan image_urls dan jelaskan bagian yang dipertahankan serta diubah dalam prompt:

json
{
  "model": "gpt-image-2",
  "prompt": "Keep the product unchanged, replace the background with a dark blue studio, and add soft rim lighting",
  "image_urls": [
    "https://example.com/product.png"
  ],
  "size": "1:1",
  "resolution": "2k"
}

Beberapa referensi dapat menyediakan subjek, komposisi, atau gaya visual:

json
{
  "model": "gpt-image-2",
  "prompt": "Use the product from the first image and the composition from the second image to create a clean ecommerce hero image",
  "image_urls": [
    "https://example.com/product.png",
    "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
  ],
  "size": "4:3",
  "resolution": "2k"
}

Batas kontrak publik saat ini:

  • Penyuntingan seluruh gambar, transfer gaya, dan penggabungan beberapa referensi didukung melalui image_urls.
  • Tidak ada rute POST https://api.apihop.ai/openai/v1/images/edits terpisah.
  • Unggahan multipart/form-data tidak diterima. Konversi gambar lokal ke URI data base64 atau unggah ke URL yang dapat diakses terlebih dahulu.
  • Inpainting berbasis mask tidak didukung. Mengirim mask, mask_url, atau maskUrl mengembalikan 400 sebelum reservasi.

Contoh Permintaan

Gambar Produk 1:1

json
{
  "model": "gpt-image-2",
  "prompt": "A transparent glass cup on a light gray background, commercial product photography, soft shadow, no text",
  "n": 1,
  "size": "1024x1024",
  "resolution": "1k",
  "quality": "low",
  "output_format": "png"
}

Poster 16:9

json
{
  "model": "gpt-image-2",
  "prompt": "A futuristic city night poster with neon lights, wet streets, cinematic composition, no text",
  "n": 1,
  "size": "2048x1152",
  "resolution": "2k",
  "quality": "medium",
  "output_format": "jpeg"
}

Cara Hasil Dikembalikan

Endpoint kompatibel OpenAI ini tidak terlebih dahulu mengembalikan respons pengiriman tugas berisi data.jobId untuk polling berikutnya:

  • Dengan stream: false, permintaan HTTP saat ini menunggu hingga selesai dan

mengembalikan URL gambar dalam respons JSON.

  • Dengan stream: true, koneksi SSE saat ini tetap terbuka hingga

image_generation.completed dan [DONE].

Jangan gunakan GET https://api.apihop.ai/v1/jobs/{id} untuk mengambil hasil dari endpoint ini. Gunakan Ambil Tugas Asinkron hanya ketika endpoint pembuatan asinkron secara eksplisit mengembalikan jobId.

Respons Tanpa Streaming

Respons berisi URL gambar. usage disertakan saat rute upstream menyediakan informasi pengukuran penggunaan.

json
{
  "created": 1777270000,
  "data": [
    {
      "url": "https://image.example.com/generated/123456789012345678/0.png"
    }
  ],
  "usage": {
    "input_tokens": 20,
    "output_tokens": 1234,
    "total_tokens": 1254
  }
}

Respons Streaming

text
event: image_generation.completed
data: {"type":"image_generation.completed","data":[{"index":0,"url":"https://image.example.com/generated/123456789012345678/0.png"}],"usage":{"input_tokens":20,"output_tokens":1234,"total_tokens":1254}}

data: [DONE]

Referensi Ukuran

Rasio TargetRekomendasi 1KRekomendasi 2KRekomendasi 4K
1:11024x10242048x2048Tidak disarankan
3:21536x10242048x1360Tidak disarankan
2:31024x15361360x2048Tidak disarankan
4:31024x7682048x1536Tidak disarankan
3:4768x10241536x2048Tidak disarankan
16:91536x8642048x11523840x2160
9:16864x15361152x20482160x3840
21:92016x8642688x11523840x1648
9:21864x20161152x26881648x3840

Respons Kesalahan

Lihat Kode Kesalahan dan Pemecahan Masalah untuk referensi kode lengkap, perbedaan protokol, dan langkah diagnosis.

json
{
  "code": 10000,
  "message": "prompt is required",
  "type": "api_error"
}

Kesalahan umum:

  • 400: parameter wajib tidak ada atau kombinasi parameter tidak didukung
  • 401: autentikasi gagal atau API Key salah
  • 402: saldo tidak cukup
  • 404: model tidak ada atau belum diaktifkan
  • 429: batas laju terlampaui
  • 5xx: layanan sementara tidak tersedia atau pembuatan gambar gagal