๐ ARSITEKTUR & SINKRONISASI API GATEWAY
API Gateway Gemini Kukis Web Studio menyediakan antarmuka REST API berperforma tinggi untuk mengakses model AI Google Gemini Web (LLM, Multimodal Canvas, Imagen 3 Image Studio, dan Gemini TTS Engine) tanpa memerlukan API Key Cloud berbayar.
https://gudangbot.com/Gemini/api.phpGunakan header
X-API-Key: YOUR_API_KEY atau query string ?api_key=YOUR_API_KEY pada setiap request.
๐ Metode Autentikasi
| Metode Header | Format Sintaks | Status Keterangan |
|---|---|---|
| X-API-Key | X-API-Key: gk_key_xxxx... |
SANGAT DIREKOMENDASIKAN |
| Authorization | Authorization: Bearer gk_key_xxxx... |
Standar OAuth Bearer Header |
| Query Parameter | ?api_key=gk_key_xxxx... |
Untuk pengujian cepat via Browser / Webhook |
๐ฌ 1. GEMINI CHAT LLM (MULTI-TURN TEKS)
Endpoint untuk melakukan percakapan obrolan teks cerdas dengan riwayat konteks (Multi-turn Conversation) menggunakan Gemini Model.
api.php?action=gemini_send
๐ Parameter Request Body (JSON)
| Parameter | Tipe | Status | Deskripsi |
|---|---|---|---|
prompt |
String | Wajib | Pesan atau pertanyaan teks yang ingin diajukan ke Gemini. |
history |
Array | Opsional | Array riwayat percakapan: [{"sender":"user","text":"..."},{"sender":"gemini","text":"..."}] |
model |
String | Opsional | Pilihan model: flash (default), lite, pro, canvas. |
curl -X POST "https://gudangbot.com/Gemini/api.php?action=gemini_send" \
-H "Content-Type: application/json" \
-H "X-API-Key: gk_key_anda" \
-d '{
"prompt": "Jelaskan tentang Quantum Computing dalam 2 paragraf singkat",
"model": "flash"
}'
const res = await fetch('https://gudangbot.com/Gemini/api.php?action=gemini_send', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'gk_key_anda'
},
body: JSON.stringify({
prompt: "Halo Gemini, buatkan puisi singkat tentang kopi pagi.",
history: [
{ sender: "user", text: "Halo" },
{ sender: "gemini", text: "Halo! Ada yang bisa saya bantu?" }
]
})
});
const data = await res.json();
console.log(data.reply);
๐ 2. CHAT INPUT FILE (MULTIMODAL CANVAS)
Endpoint untuk mengirim dokumen, gambar, audio, atau video bersama dengan prompt teks ke Gemini Multimodal Canvas Engine.
api.php?action=gemini_send
๐ Parameter Request Body (JSON)
| Parameter | Tipe | Status | Deskripsi |
|---|---|---|---|
prompt |
String | Wajib | Instruksi/pertanyaan tentang file yang diunggah. |
model |
String | Wajib | Isi dengan "canvas" untuk pemrosesan file multimodal. |
attached_files |
Array | Wajib | Array objek file: [{"name":"foto.jpg", "type":"image/jpeg", "dataUrl":"data:image/jpeg;base64,..."}] |
import requests
import base64
with open("sampel_dokumen.pdf", "rb") as f:
b64_data = base64.b64encode(f.read()).decode('utf-8')
payload = {
"prompt": "Rangkum poin-poin utama dari dokumen PDF ini",
"model": "canvas",
"attached_files": [
{
"name": "sampel_dokumen.pdf",
"type": "application/pdf",
"dataUrl": f"data:application/pdf;base64,{b64_data}"
}
]
}
headers = {"Content-Type": "application/json", "X-API-Key": "gk_key_anda"}
res = requests.post("https://gudangbot.com/Gemini/api.php?action=gemini_send", json=payload, headers=headers)
print(res.json().get("reply"))
๐จ 3. BUAT GAMBAR (TEXT-TO-IMAGE)
Hasilkan gambar AI resolusi tinggi berbasis model Imagen 3 AI (`gemini-3.1-flash-image`) hanya dari teks deskripsi prompt.
api.php?action=gemini_generate_image
๐ Parameter Request Body (JSON)
| Parameter | Tipe | Opsi Pilihan | Deskripsi |
|---|---|---|---|
prompt |
String | Bebas | Deskripsi visual gambar yang ingin dibuat. |
aspect_ratio |
String | 1:1, 9:16, 16:9, 4:3, 3:4 |
Rasio aspek kanvas gambar (Default: 1:1). |
count |
Integer | 1 hingga 4 |
Jumlah hasil variasi gambar yang ingin digenerate. |
curl -X POST "https://gudangbot.com/Gemini/api.php?action=gemini_generate_image" \
-H "Content-Type: application/json" \
-H "X-API-Key: gk_key_anda" \
-d '{
"prompt": "Seekor kucing astronot imut memakai helm luar angkasa di permukaan bulan, lighting sinematik, 8k render",
"aspect_ratio": "16:9",
"count": 1
}'
๐ผ๏ธ 4. GAMBAR REFERENSI 1 FOTO (IMAGE-TO-IMAGE)
Ubah atau modifikasi gaya visual dari 1 foto referensi. Backend secara otomatis menyisipkan prefix instruksi resmi Google Gemini:
[Petunjuk Foto Acuan terlampir]: <PROMPT>. Harap gunakan elemen dan gaya visual dari foto acuan yang dilampirkan secara harmonis.
const base64Foto = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD...";
const res = await fetch('https://gudangbot.com/Gemini/api.php?action=gemini_generate_image', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'gk_key_anda'
},
body: JSON.stringify({
prompt: "Ubah pria ini memakai jaket kulit cyberpunk dan kacamata neon hitam",
aspect_ratio: "1:1",
image_inputs: [
{ dataUrl: base64Foto, type: "image/jpeg" }
]
})
});
const data = await res.json();
console.log("URL Gambar Hasil:", data.image_url);
๐ผ๏ธ๐ผ๏ธ 5. GAMBAR REFERENSI LEBIH DARI 1 (MAKS 5 FOTO)
Kombinasikan hingga 5 foto referensi sekaligus. Sesuai standar HAR Google Gemini Web Canvas, backend akan membungkus instruksi dengan prefix:
[Petunjuk Multi-Foto (N foto acuan terlampir)]: <PROMPT>. Harap gunakan elemen dan gaya visual dari foto-foto acuan yang dilampirkan secara harmonis.
const fotoRef1 = "data:image/jpeg;base64,..."; // Foto Tokoh Pria
const fotoRef2 = "data:image/jpeg;base64,..."; // Foto Latar Belakang Candi
const res = await fetch('https://gudangbot.com/Gemini/api.php?action=gemini_generate_image', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'gk_key_anda'
},
body: JSON.stringify({
prompt: "Gabungkan pria dari foto #1 berdiri anggun dengan latar belakang suasana candi dari foto #2, pencahayaan sore hari",
aspect_ratio: "16:9",
image_inputs: [
{ dataUrl: fotoRef1, type: "image/jpeg" },
{ dataUrl: fotoRef2, type: "image/jpeg" }
]
})
});
const data = await res.json();
console.log("Hasil Gambar Gabungan Multi-Foto:", data.image_url);
๐ 6. GEMINI TTS VOICE STUDIO (TEXT-TO-SPEECH)
Konversi naskah narasi menjadi file audio bermutu tinggi WAV (PCM 16-bit 24kHz) dengan 8 pilihan karakter suara AI dan preset intonasi emosi.
api.php?action=gemini_generate_tts
๐ Karakter Suara AI (Voice)
Pilihan voice: Kore (Default), Puck, Zephyr, Fenrir, Aoede, Charon, Sulafat, Vindemiatrix.
curl -X POST "https://gudangbot.com/Gemini/api.php?action=gemini_generate_tts" \
-H "Content-Type: application/json" \
-H "X-API-Key: gk_key_anda" \
-d '{
"prompt": "Selamat datang di studio suara cerdas Google Gemini AI.",
"intonation": "๐ Ceria & Energetik",
"voice": "Kore"
}'
๐ฌ 7. GEMINI VIDEO STUDIO (GOOGLE VEO 3.1)
Generasi video AI berdurasi 8โ10 detik menggunakan engine resmi Google Veo 3.1 dengan 3 mode utama: Text-to-Video (T2V), Frame-to-Video (I2V), dan Reference-to-Video (R2V), dilengkapi dengan pembersihan watermark otomatis.
api.php?action=submit_video
api.php?action=job_status&job_id=JOB_ID
api.php?action=download&file=FILENAME
๐ฏ Model Key Resmi
model: "veo_3_1_t2v_lite_low_priority"model: "veo_3_1_i2v_lite_low_priority" (Start Frame & End Frame)model: "veo_3_1_r2v_lite_low_priority" (Maksimal 5 gambar referensi)๐ Parameter Request Body (JSON Submit `action=submit_video`)
| Parameter | Tipe | Status | Deskripsi |
|---|---|---|---|
prompt |
String | Wajib | Deskripsi visual & gerakan skenario video. |
model |
String | Wajib | veo_3_1_t2v_lite_low_priority, veo_3_1_i2v_lite_low_priority, atau veo_3_1_r2v_lite_low_priority. |
aspect |
String | Opsional | portrait (9:16), landscape (16:9), atau square (1:1). (Default: portrait) |
duration |
Integer | Opsional | Durasi video dalam detik (Default: 8). |
start |
String | Kondisional | Data URL Base64 (data:image/jpeg;base64,...) / Media ID gambar awal *(Wajib untuk Mode I2V)*. |
end |
String | Opsional | Data URL Base64 / Media ID gambar akhir *(Mode I2V)*. |
ref |
Array | Kondisional | Array Data URL Base64 / Media ID *(Maks 5 gambar, Wajib untuk Mode R2V)*. |
1๏ธโฃ Mode 1: Text to Video (T2V)
Membuat video animasi murni dari instruksi kalimat deskripsi prompt teks.
curl -X POST "https://gudangbot.com/Gemini/api.php?action=submit_video" \
-H "Content-Type: application/json" \
-H "X-API-Key: gk_key_anda" \
-d '{
"prompt": "Burung elang raksasa terbang bebas melintasi pegunungan bersalju di sore hari yang cerah dengan pencahayaan sinematik",
"aspect": "landscape",
"duration": 8,
"model": "veo_3_1_t2v_lite_low_priority"
}'
const res = await fetch('https://gudangbot.com/Gemini/api.php?action=submit_video', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'gk_key_anda'
},
body: JSON.stringify({
prompt: "Pria astronot berjalan pelan di permukaan planet Mars, badai debu merah di latar belakang",
aspect: "portrait",
duration: 8,
model: "veo_3_1_t2v_lite_low_priority"
})
});
const data = await res.json();
console.log("Job ID Diterima:", data.job_id); // Gunakan job_id untuk polling status
2๏ธโฃ Mode 2: Frame to Video (I2V)
Menganimasikan 1 gambar diam (Start Frame) atau transisi 2 gambar (Start Frame โ End Frame).
curl -X POST "https://gudangbot.com/Gemini/api.php?action=submit_video" \
-H "Content-Type: application/json" \
-H "X-API-Key: gk_key_anda" \
-d '{
"prompt": "Karakter dari foto ini tersenyum manis lalu melambaikan tangan ke arah kamera",
"aspect": "portrait",
"duration": 8,
"model": "veo_3_1_i2v_lite_low_priority",
"start": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ..."
}'
const base64Start = "data:image/jpeg;base64,..."; // Gambar Posisi Awal
const base64End = "data:image/jpeg;base64,..."; // Gambar Posisi Akhir
const res = await fetch('https://gudangbot.com/Gemini/api.php?action=submit_video', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'gk_key_anda'
},
body: JSON.stringify({
prompt: "Transisi animasi halus dari karakter berdiri diam (Start) menjadi melompat bahagia (End)",
aspect: "portrait",
duration: 8,
model: "veo_3_1_i2v_lite_low_priority",
start: base64Start,
end: base64End
})
});
const data = await res.json();
console.log("Job ID Diterima:", data.job_id);
3๏ธโฃ Mode 3: Reference Video (R2V)
Menggunakan hingga 5 foto referensi aset/karakter sebagai panduan konsistensi visual video.
curl -X POST "https://gudangbot.com/Gemini/api.php?action=submit_video" \
-H "Content-Type: application/json" \
-H "X-API-Key: gk_key_anda" \
-d '{
"prompt": "Karakter dari foto referensi #1 mengendarai sepeda motor listrik cyberpunk di kota masa depan",
"aspect": "landscape",
"duration": 8,
"model": "veo_3_1_r2v_lite_low_priority",
"ref": [
"data:image/jpeg;base64,/9j/4AAQSkZJRg...",
"data:image/jpeg;base64,/9j/4AAQSkZJRg..."
]
}'
const refPhotos = [
"data:image/jpeg;base64,...", // Referensi Tokoh
"data:image/jpeg;base64,..." // Referensi Pakaian / Latar
];
const res = await fetch('https://gudangbot.com/Gemini/api.php?action=submit_video', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'gk_key_anda'
},
body: JSON.stringify({
prompt: "Karakter dari foto referensi beraksi dalam adegan aksi sinematik, sudut kamera dinamis",
aspect: "landscape",
duration: 8,
model: "veo_3_1_r2v_lite_low_priority",
ref: refPhotos
})
});
const data = await res.json();
console.log("Job ID Diterima:", data.job_id);
๐ 4. Polling Status Job & Download Hasil MP4
curl -X GET "https://gudangbot.com/Gemini/api.php?action=job_status&job_id=JOB_ID_ANDA" \ -H "X-API-Key: gk_key_anda"
async function pollVideoStatus(jobId) {
const timer = setInterval(async () => {
const res = await fetch(`https://gudangbot.com/Gemini/api.php?action=job_status&job_id=${encodeURIComponent(jobId)}`, {
headers: { 'X-API-Key': 'gk_key_anda' }
});
const data = await res.json();
if (data.status === 'done') {
clearInterval(timer);
console.log("Video Selesai!", data.outputs);
// data.outputs[0].filename -> omni_xxx.mp4
} else if (data.status === 'failed') {
clearInterval(timer);
console.error("Job Gagal:", data.error);
}
}, 4000); // Polling tiap 4 detik
}
https://gudangbot.com/Gemini/api.php?action=download&file=omni_12345.mp4&disposition=attachmentFile otomatis diunduh dengan penamaan resmi:
santriai_vids_12345.mp4.
๐งช 7. LIVE INTERACTIVE API TESTER PLAYGROUND
Uji coba panggilan API Gateway secara langsung dari browser Anda tanpa menulis kode!