Sepertinya setiap minggu, kita mendapatkan model Generasi Gambar AI baru yang mampu menciptakan visual yang menakjubkan. Salah satu model yang kuat adalah HiDream-I1-Full. Meskipun menjalankan model ini secara lokal dapat memakan banyak sumber daya, memanfaatkan API memberikan cara yang nyaman dan dapat diskalakan untuk mengintegrasikan teknologi ini ke dalam aplikasi atau alur kerja Anda.
Tutorial ini akan membimbing Anda melalui:
- Memahami HiDream-I1-Full: Apa itu dan kemampuannya.
- Opsi API: Menjelajahi dua platform populer yang menawarkan HiDream-I1-Full melalui API: Replicate dan Fal.ai.
- Menguji dengan Apidog: Panduan langkah demi langkah tentang cara berinteraksi dan menguji API ini menggunakan alat Apidog.
Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?
Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
Target Audiens: Pengembang, desainer, penggemar AI, dan siapa saja yang tertarik menggunakan generasi gambar AI canggih tanpa pengaturan lokal yang rumit.
Syarat:
- Pemahaman dasar tentang API (permintaan HTTP, JSON).
- Akun di Replicate dan/atau Fal.ai untuk mendapatkan kunci API.
- Apidog terinstal (atau akses ke versi webnya).
Apa itu HiDream-I1-Full?

HiDream-I1-Full adalah model difusi teks-ke-gambar canggih yang dikembangkan oleh HiDream AI. Model ini termasuk dalam keluarga model yang dirancang untuk menghasilkan gambar berkualitas tinggi, koheren, dan estetis berdasarkan deskripsi tekstual (prompt).

Detail Model: Anda dapat menemukan kartu model resmi dan informasi teknis lebih lanjut di Hugging Face: https://huggingface.co/HiDream-ai/HiDream-I1-Full
Keunggulan Utama (Tipikal untuk model kelas ini):
- Generasi Teks-ke-Gambar: Menciptakan gambar dari prompt teks yang rinci.
- Resolusi Tinggi: Mampu menghasilkan gambar pada resolusi yang cukup tinggi yang sesuai untuk berbagai aplikasi.
- Patuhi Gaya: Sering kali dapat menginterpretasikan petunjuk gaya dalam prompt (misalnya, "dalam gaya Van Gogh," "fotorealistik," "anime").
- Komposisi Adegan Kompleks: Kemampuan untuk menghasilkan gambar dengan banyak subjek, interaksi, dan latar belakang yang rinci berdasarkan kompleksitas prompt.
- Parameter Kontrol: Sering kali memungkinkan penyesuaian melalui parameter seperti prompt negatif (hal-hal yang harus dihindari), benih (untuk reproduktivitas), skala panduan (seberapa kuat mengikuti prompt), dan kemungkinan variasi gambar-ke-gambar atau input kontrol (tergantung pada implementasi API tertentu).

Kenapa Menggunakan API?
Menjalankan model AI besar seperti HiDream-I1-Full secara lokal memerlukan sumber daya komputasi yang signifikan (GPU yang kuat, RAM yang cukup, dan penyimpanan) serta pengaturan teknis (mengelola ketergantungan, bobot model, konfigurasi lingkungan). Menggunakan API menawarkan beberapa keuntungan:
- Tidak Ada Persyaratan Perangkat Keras: Menyerahkan komputasi ke infrastruktur cloud yang kuat.
- Skalabilitas: Dengan mudah menangani beban yang bervariasi tanpa mengelola infrastruktur.
- Kemudahan Integrasi: Mengintegrasikan kemampuan generasi gambar ke dalam situs web, aplikasi, atau skrip menggunakan permintaan HTTP standar.
- Tanpa Pemeliharaan: Penyedia API menangani pembaruan model, pemeliharaan, dan manajemen backend.
- Bayar Sesuai Penggunaan: Sering kali, Anda hanya membayar untuk waktu komputasi yang Anda gunakan.
Cara Menggunakan HiDream-I1-Full melalui API
Beberapa platform menyediakan model AI dan memberikan akses API. Kita akan fokus pada dua pilihan populer untuk HiDream-I1-Full:
Opsi 1: Gunakan API HiDream dari Replicate
Replicate adalah platform yang memudahkan menjalankan model pembelajaran mesin melalui API sederhana, tanpa perlu mengelola infrastruktur. Mereka menghosting perpustakaan besar model yang diterbitkan oleh komunitas.
- Halaman Replicate untuk HiDream-I1-Full: https://replicate.com/prunaai/hidream-l1-full (Catatan: URL menyebutkan
l1-full
, tetapi ini adalah tautan relevan yang diberikan dalam prompt untuk model HiDream di Replicate. Anggap saja itu sesuai dengan model yang dimaksud untuk tutorial ini).
Bagaimana Replicate Bekerja:
- Autentikasi: Anda memerlukan token API Replicate, yang dapat Anda temukan di pengaturan akun Anda. Token ini dikirim dalam header
Authorization
. - Memulai Prediksi: Anda mengirim permintaan POST ke endpoint API Replicate untuk prediksi. Badan permintaan berisi versi model dan parameter input (seperti
prompt
,negative_prompt
,seed
, dll.). - Operasi Asinkron: Replicate biasanya beroperasi secara asinkron. Permintaan POST awal segera mengembalikan ID prediksi dan URL untuk memeriksa status.
- Mendapatkan Hasil: Anda perlu memantau URL status (yang diberikan dalam respons awal) menggunakan permintaan GET sampai statusnya
succeeded
(ataufailed
). Respons akhir yang berhasil akan berisi URL dari gambar yang dihasilkan.
Contoh Python Konseptual (menggunakan requests
):
import requests
import time
import os
REPLICATE_API_TOKEN = "YOUR_REPLICATE_API_TOKEN" # Gunakan variabel lingkungan di produksi
MODEL_VERSION = "TARGET_MODEL_VERSION_FROM_REPLICATE_PAGE" # misalnya, "9a0b4534..."
# 1. Mulai Prediksi
headers = {
"Authorization": f"Token {REPLICATE_API_TOKEN}",
"Content-Type": "application/json"
}
payload = {
"version": MODEL_VERSION,
"input": {
"prompt": "Sebuah pemandangan kota cyberpunk megah saat matahari terbenam, lampu neon memantulkan di jalan basah, ilustrasi rinci",
"negative_prompt": "jelek, cacat, kabur, kualitas rendah, teks, watermark",
"width": 1024,
"height": 1024,
"seed": 12345
# Tambahkan parameter lain sesuai kebutuhan berdasarkan halaman model Replicate
}
}
start_response = requests.post("<https://api.replicate.com/v1/predictions>", json=payload, headers=headers)
start_response_json = start_response.json()
if start_response.status_code != 201:
print(f"Kesalahan memulai prediksi: {start_response_json.get('detail')}")
exit()
prediction_id = start_response_json.get('id')
status_url = start_response_json.get('urls', {}).get('get')
print(f"Prediksi dimulai dengan ID: {prediction_id}")
print(f"URL Status: {status_url}")
# 2. Polling untuk Hasil
output_image_url = None
while True:
print("Memeriksa status...")
status_response = requests.get(status_url, headers=headers)
status_response_json = status_response.json()
status = status_response_json.get('status')
if status == 'succeeded':
output_image_url = status_response_json.get('output') # Biasanya daftar URL
print("Prediksi berhasil!")
print(f"Output: {output_image_url}")
break
elif status == 'failed' or status == 'canceled':
print(f"Prediksi gagal atau dibatalkan: {status_response_json.get('error')}")
break
elif status in ['starting', 'processing']:
# Tunggu sebelum mempolling lagi
time.sleep(5) # Sesuaikan interval polling sesuai kebutuhan
else:
print(f"Status tidak dikenal: {status}")
print(status_response_json)
break
# Sekarang Anda dapat menggunakan output_image_url
Harga: Replicate mengenakan biaya berdasarkan waktu eksekusi model di perangkat keras mereka. Periksa halaman harga mereka untuk detailnya.
Opsi 2: Fal.ai
Fal.ai adalah platform lain yang fokus pada memberikan inferensi AI yang cepat, skalabel, dan hemat biaya melalui API. Mereka sering menekankan kinerja waktu nyata.
Bagaimana Fal.ai Bekerja:
- Autentikasi: Anda memerlukan kredensial API Fal (Key ID dan Key Secret, sering digabungkan sebagai
KeyID:KeySecret
). Ini dikirim dalam headerAuthorization
, biasanya sebagaiKey YourKeyID:YourKeySecret
. - Endpoint API: Fal.ai menyediakan URL endpoint langsung untuk fungsi model tertentu.
- Format Permintaan: Anda mengirim permintaan POST ke URL endpoint model. Badan permintaan biasanya JSON yang berisi parameter input yang diperlukan oleh model (mirip dengan Replicate:
prompt
, dll.). - Synchronous vs. Asynchronous: Fal.ai dapat menawarkan keduanya. Untuk tugas yang mungkin memakan waktu lama seperti generasi gambar, mereka mungkin menggunakan:
- Fungsi Tanpa Server: Siklus permintaan/respons standar, mungkin dengan batas waktu yang lebih lama.
- Antrian: Pola asinkron yang mirip dengan Replicate, di mana Anda mengirimkan pekerjaan dan memantau hasil menggunakan ID permintaan. Halaman API spesifik yang terhubung akan merinci pola interaksi yang diharapkan.
Contoh Python Konseptual (menggunakan requests
- mengasumsikan antrian asinkron):
import requests
import time
import os
FAL_API_KEY = "YOUR_FAL_KEY_ID:YOUR_FAL_KEY_SECRET" # Gunakan variabel lingkungan
MODEL_ENDPOINT_URL = "<https://fal.run/fal-ai/hidream-i1-full>" # Periksa URL yang tepat di Fal.ai
# 1. Kirim Permintaan ke Antrian (Contoh - periksa dokumen Fal untuk struktur yang tepat)
headers = {
"Authorization": f"Key {FAL_API_KEY}",
"Content-Type": "application/json"
}
payload = {
# Parameter biasanya langsung ada dalam payload untuk fungsi tanpa server Fal.ai
# atau dalam objek 'input' tergantung pada pengaturan. Periksa dokumen!
"prompt": "Sebuah potret hiper-realistis seorang astronot yang mengapung di luar angkasa, Bumi memantulkan di visir helm",
"negative_prompt": "kartun, gambar, ilustrasi, sketsa, teks, huruf",
"seed": 98765
# Tambahkan parameter lain yang didukung oleh implementasi Fal.ai
}
# Fal.ai mungkin memerlukan penambahan '/queue' atau parameter kueri tertentu untuk asinkron
# Contoh: POST <https://fal.run/fal-ai/hidream-i1-full/queue>
# Periksa dokumentasi mereka! Mengasumsikan endpoint yang mengembalikan URL status:
submit_response = requests.post(f"{MODEL_ENDPOINT_URL}", json=payload, headers=headers, params={"fal_webhook": "OPTIONAL_WEBHOOK_URL"}) # Periksa dokumen untuk parameter kueri seperti webhook
if submit_response.status_code >= 300:
print(f"Kesalahan mengirim permintaan: {submit_response.status_code}")
print(submit_response.text)
exit()
submit_response_json = submit_response.json()
# Respon asinkron Fal.ai mungkin berbeda - bisa mengembalikan request_id atau URL status langsung
# Mengasumsikan bahwa ia mengembalikan URL status mirip dengan Replicate untuk contoh konseptual ini
status_url = submit_response_json.get('status_url') # Atau konstruksi dari request_id, periksa dokumen
request_id = submit_response_json.get('request_id') # Identifikasi alternatif
if not status_url and request_id:
# Anda mungkin perlu membangun URL status, misalnya <https://fal.run/fal-ai/hidream-i1-full/requests/{request_id}/status>
# Atau kueri endpoint status umum: <https://fal.run/requests/{request_id}/status>
print("Perlu membangun URL status atau menggunakan request_id, periksa dokumentasi Fal.ai.")
exit() # Membutuhkan implementasi spesifik berdasarkan dokumen Fal
print(f"Permintaan telah diajukan. URL Status: {status_url}")
# 2. Polling untuk Hasil (jika asinkron)
output_data = None
while status_url: # Hanya polling jika kita memiliki URL status
print("Memeriksa status...")
# Polling mungkin memerlukan autentikasi juga
status_response = requests.get(status_url, headers=headers)
status_response_json = status_response.json()
status = status_response_json.get('status') # Periksa dokumen Fal.ai untuk kunci status ('COMPLETED', 'FAILED', dll.)
if status == 'COMPLETED': # Status contoh
output_data = status_response_json.get('response') # Atau 'result', 'output', periksa dokumen
print("Permintaan selesai!")
print(f"Output: {output_data}") # Struktur output tergantung pada model di Fal.ai
break
elif status == 'FAILED': # Status contoh
print(f"Permintaan gagal: {status_response_json.get('error')}") # Periksa field error
break
elif status in ['IN_PROGRESS', 'IN_QUEUE']: # Status contoh
# Tunggu sebelum mempolling lagi
time.sleep(3) # Sesuaikan interval polling
else:
print(f"Status tidak dikenal: {status}")
print(status_response_json)
break
# Gunakan output_data (yang mungkin berisi URL gambar atau informasi lain)
Harga: Fal.ai biasanya mengenakan biaya berdasarkan waktu eksekusi, sering kali dengan penagihan per detik. Periksa detail harga mereka untuk model dan sumber daya komputasi spesifik.
Uji API HiDream dengan Apidog
Apidog adalah alat desain, pengembangan, dan pengujian API yang kuat. Ini menyediakan antarmuka yang ramah pengguna untuk mengirim permintaan HTTP, memeriksa respons, dan mengelola detail API, menjadikannya ideal untuk menguji API Replicate dan Fal.ai sebelum mengintegrasikannya ke dalam kode.
Langkah-langkah untuk Menguji API HiDream-I1-Full menggunakan Apidog:
Langkah 1. Instal dan Buka Apidog: Unduh dan instal Apidog atau gunakan versi webnya. Buat akun jika perlu.

Langkah 2. Buat Permintaan Baru:
- Di Apidog, buat proyek baru atau buka proyek yang sudah ada.
- Klik tombol "+" untuk menambahkan Permintaan HTTP baru.
Langkah 3. Atur Metode HTTP dan URL:

- Metode: Pilih
POST
. - URL: Masukkan URL endpoint API.
- Untuk Replicate (Memulai Prediksi):
https://api.replicate.com/v1/predictions
- Untuk Fal.ai (Mengirim Permintaan): Gunakan URL endpoint model spesifik yang disediakan di halaman mereka (misalnya,
https://fal.run/fal-ai/hidream-i1-full
- periksa apakah perlu menambahkan/queue
atau parameter kueri untuk asinkron).
Langkah 4. Konfigurasi Header:

- Masuk ke tab
Headers
.
Tambahkan header Content-Type
:
- Kunci:
Content-Type
- Nilai:
application/json
Tambahkan header Authorization
:
Untuk Replicate:
- Kunci:
Authorization
- Nilai:
Token YOUR_REPLICATE_API_TOKEN
(Gantilah dengan token Anda yang sebenarnya)
Untuk Fal.ai:
- Kunci:
Authorization
- Nilai:
Key YOUR_FAL_KEY_ID:YOUR_FAL_KEY_SECRET
(Gantilah dengan kredensial Anda yang sebenarnya) - Tip Pro: Gunakan variabel Lingkungan Apidog untuk menyimpan kunci API Anda dengan aman daripada menuliskannya langsung dalam permintaan. Buat lingkungan (misalnya, "Replicate Dev", "Fal Dev") dan definisikan variabel seperti
REPLICATE_TOKEN
atauFAL_API_KEY
. Kemudian, dalam nilai header, gunakanToken {{REPLICATE_TOKEN}}
atauKey {{FAL_API_KEY}}
.
Langkah 5. Konfigurasi Badan Permintaan:
Masuk ke tab Body
.
Pilih format raw
dan pilih JSON
dari dropdown.
Tempelkan payload JSON sesuai dengan persyaratan platform.
Contoh Badan JSON untuk Replicate:
{
"version": "PASTE_MODEL_VERSION_FROM_REPLICATE_PAGE_HERE",
"input": {
"prompt": "Sebuah lukisan cat air dari sudut perpustakaan yang nyaman dengan kucing yang sedang tidur",
"negative_prompt": "fotorealistik, render 3d, seni buruk, cacat",
"width": 1024,
"height": 1024,
"seed": 55555
}
}
Contoh Badan JSON untuk Fal.ai
{
"prompt": "Sebuah lukisan cat air dari sudut perpustakaan yang nyaman dengan kucing yang sedang tidur",
"negative_prompt": "fotorealistik, render 3d, seni buruk, cacat",
"width": 1024,
"height": 1024,
"seed": 55555
// Parameter lain seperti 'model_name' mungkin diperlukan tergantung pada pengaturan Fal.ai
}
Penting: Rujuk ke dokumentasi spesifik di halaman Replicate atau Fal.ai untuk parameter yang tepat yang diperlukan dan opsional untuk versi model HiDream-I1-Full yang Anda gunakan. Parameter seperti guidance_scale
, num_inference_steps
, dll., mungkin tersedia.
Langkah 6. Kirim Permintaan:
- Klik tombol "Kirim".
- Apidog akan menampilkan kode status respons, header, dan badan.
- Untuk Replicate: Anda seharusnya mendapatkan status
201 Created
. Badan respons akan berisiid
dari prediksi dan URLurls.get
. Salin URLget
ini. - Untuk Fal.ai (Asinkron): Anda mungkin mendapatkan
200 OK
atau202 Accepted
. Badan respons mungkin berisirequest_id
,status_url
langsung, atau detail lain berdasarkan implementasi mereka. Salin URL atau ID yang relevan yang diperlukan untuk polling. Jika itu sinkron, Anda mungkin mendapatkan hasil langsung setelah pemrosesan (kurang mungkin untuk generasi gambar).
Polling untuk Hasil (untuk API Asinkron):
- Buat permintaan baru di Apidog.
- Metode: Pilih
GET
. - URL: Tempelkan
URL status
yang Anda salin dari respons awal (misalnya,urls.get
dari Replicate atau URL status dari Fal.ai). Jika Fal.ai memberikanrequest_id
, bangun URL status sesuai dengan dokumentasi mereka (misalnya,https://fal.run/requests/{request_id}/status
). - Konfigurasi Header: Tambahkan header
Authorization
yang sama seperti di permintaan POST. (Content-Type biasanya tidak diperlukan untuk GET). - Kirim Permintaan: Klik "Kirim".
- Periksa Respons: Periksa field
status
dalam respons JSON. - Jika
processing
,starting
,IN_PROGRESS
,IN_QUEUE
, dll., tunggu beberapa detik dan klik "Kirim" lagi. - Jika
succeeded
atauCOMPLETED
, cari fieldoutput
(Replicate) atau fieldresponse
/result
(Fal.ai) yang harus berisi URL dari gambar yang dihasilkan. - Jika
failed
atauFAILED
, periksa fielderror
untuk detail.
Lihat Gambar: Salin URL gambar dari respons akhir yang berhasil dan tempelkan ke browser web Anda untuk melihat gambar yang dihasilkan.
Ingin platform terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?
Apidog memenuhi semua permintaan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!

Kesimpulan
HiDream-I1-Full menawarkan kemampuan generasi gambar yang kuat, dan menggunakan API dari platform seperti Replicate atau Fal.ai membuat teknologi ini dapat diakses tanpa mengelola infrastruktur yang kompleks. Dengan memahami alur kerja API (permintaan, polling potensial, respons) dan memanfaatkan alat seperti Apidog untuk pengujian, Anda dapat dengan mudah bereksperimen dengan dan mengintegrasikan generasi gambar AI mutakhir ke dalam proyek Anda.
Ingatlah untuk selalu merujuk pada dokumentasi spesifik di Replicate dan Fal.ai untuk URL endpoint yang paling terbaru, parameter yang diperlukan, metode autentikasi, dan rincian harga, karena ini dapat berubah seiring waktu. Selamat mencoba!