Dokumentasi API Hop
Responses Multimodal OpenAI
API Responses yang kompatibel OpenAI. Endpoint ini menggunakan input bergaya OpenAI, mendukung teks, URL gambar publik, masukan file PDF, panggilan alat, opsi penalaran, dan parameter streaming.
https://api.apihop.ai/openai/responsesAPI Responses yang kompatibel OpenAI. Endpoint ini menggunakan input bergaya OpenAI, mendukung teks, URL gambar publik, masukan file PDF, panggilan alat, opsi penalaran, dan parameter streaming.
POST https://api.apihop.ai/openai/responsesAutentikasi
Semua permintaan memerlukan autentikasi Bearer Token.
Authorization: Bearer YOUR_API_KEYIsi
modelstringwajibBawaan: gpt-5.4Model aktif saat ini dengan dukungan Responses:
gpt-5.4gpt-5.5gpt-5.6-solgpt-5.6-terragpt-6-astra
Lihat Katalog Model untuk model yang terlihat oleh API Key saat ini.
inputstring | object[]Konten masukan. Wajib kecuali previous_response_id yang tidak kosong disediakan. Menghilangkan kedua kolom atau menggunakan tipe masukan yang tidak valid mengembalikan 400 sebelum penagihan.
Bentuk yang didukung:
- String, setara dengan satu masukan teks
user. - Larik item masukan untuk riwayat percakapan, masukan multimodal, dan hasil panggilan alat.
Setiap objek dalam larik masukan dapat berisi kolom berikut:
typestringTipe item masukan.
Nilai umum:
message: masukan pesan.function_call_output: hasil panggilan alat fungsi.
rolestringPeran saat type=message.
Nilai umum:
developersystemuserassistant
contentstring | object[]Isi pesan.
Gunakan larik blok konten untuk permintaan multimodal. Blok konten mendukung:
typestringTipe blok konten.
Saat ini didukung:
input_textinput_imageinput_file
textstringKonten teks saat type=input_text.
image_urlstringURL gambar publik saat type=input_image.
Hanya URL gambar http:// atau https:// yang dapat diakses publik yang didukung. Data URL Base64 seperti data:image/...;base64,... tidak didukung.
detailstringBawaan: autoTingkat detail gambar saat type=input_image.
Nilai umum:
autolowhigh
file_datastringData URL isi file saat type=input_file. PDF dapat menggunakan data:application/pdf;base64,....
filenamestringNama file saat type=input_file.
instructionsstringInstruksi sistem atau pengembang yang dimasukkan ke konteks model.
max_output_tokensintegerBatas maksimum token output opsional, berupa bilangan bulat positif. Hilangkan kolom ini untuk menggunakan nilai bawaan penyedia hulu bagi model yang dipilih. Bergantung pada model, anggaran ini dapat mencakup token penalaran dan teks akhir. Anggaran kecil dapat memotong jawaban atau habis sebelum teks akhir dihasilkan; menaikkannya dapat meningkatkan biaya.
streambooleanBawaan: falseApakah respons dikirim secara streaming.
false: kembalikan satu respons lengkaptrue: kembalikan peristiwa SSE bergaya OpenAI Responses
temperaturenumberBawaan: 1.0Temperatur sampling, biasanya dari 0 hingga 2.
top_pnumberBawaan: 1.0Parameter nucleus sampling, biasanya dari 0 hingga 1.
textobjectKonfigurasi keluaran teks.
text.formatobjectKonfigurasi format teks, seperti { "type": "text" } atau skema JSON.
text.verbositystringTingkat kerincian keluaran, seperti low, medium, atau high. Dukungan bergantung pada model yang dipilih.
toolsobject[]Definisi alat. Ketersediaan bergantung pada model yang dipilih dan fitur yang tersedia.
tool_choicestring | objectKebijakan pemilihan alat.
parallel_tool_callsbooleanApakah panggilan alat paralel diizinkan.
reasoningobjectOpsi terkait penalaran.
includestring[]Kolom tambahan untuk disertakan dalam respons.
prompt_cache_keystringKunci cache prompt untuk penggunaan ulang cache prompt.
prompt_cache_retentionstringKebijakan retensi cache prompt. Nilai yang didukung bergantung pada model yang dipilih dan fitur yang tersedia.
safety_identifierstringPengenal pengguna akhir yang stabil untuk kontrol keamanan.
storebooleanApakah status respons boleh disimpan.
Perbedaan Parameter Model
- Penerusan Responses native yang kompatibel OpenAI mempertahankan
top_pdalam permintaan upstream; validasi dan perilaku sampling bergantung pada model yang dipilih serta upstream. Pemeriksaan pada 2026-09-26 menerimatop_p: 0.9untukgpt-5.5,gpt-5.6-sol, dangpt-5.6-terra. Penerimaan dan penerusan tidak membuktikan efek sampling atau menjamin dukungan untuk nilai lain, model lain, atau permintaan berikutnya. Mulai dengan permintaan minimal. - Dukungan di halaman ini hanya berlaku untuk endpoint
/openai/responsesbiasa. Ini tidak berarti model yang sama mendukung/openai/responses/compact, WebSocket, atauprevious_response_iddengan status tersimpan. - Lima model GPT yang tercantum di atas saat ini tidak memiliki kanal Compact terverifikasi. Permintaan Compact ditolak sebelum penagihan jika tidak tersedia kanal yang diaktifkan secara eksplisit. Responses biasa dan Responses WebSocket tetap tersedia.
Contoh Permintaan
Contoh di bawah menyediakan input. Kelanjutan dapat menghilangkan input jika menyediakan previous_response_id yang valid dan kanal yang dipilih mendukung kelanjutan dengan status tersimpan. ID respons tidak mengaktifkan kemampuan tersebut pada kanal yang tidak mendukungnya. Hasil alat tetap merupakan item masukan yang valid, termasuk function_call_output.
Teks
{
"model": "gpt-5.4",
"input": "Hello, introduce yourself in one sentence."
}Parameter Bergaya Codex CLI
{
"model": "gpt-5.5",
"input": "Reply with READY only.",
"reasoning": {
"effort": "xhigh"
},
"store": false,
"text": {
"verbosity": "low"
},
"stream": true
}Pemahaman Gambar
{
"model": "gpt-5.4",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "What is in this image?"
},
{
"type": "input_image",
"image_url": "https://example.com/cat.png",
"detail": "high"
}
]
}
]
}Masukan File
Gunakan file_data beserta filename untuk mengirim isi PDF. file_data harus berupa Data URL lengkap.
{
"model": "gpt-5.4",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Summarize the key points in this PDF."
},
{
"type": "input_file",
"file_data": "data:application/pdf;base64,JVBERi0xLjQKJc...",
"filename": "report.pdf"
}
]
}
]
}Masukan Gambar dan File
{
"model": "gpt-5.4",
"input": [
{
"type": "message",
"role": "user",
"content": [
{
"type": "input_text",
"text": "Give three conclusions based on the image and attachment."
},
{
"type": "input_image",
"image_url": "https://example.com/chart.png",
"detail": "high"
},
{
"type": "input_file",
"file_data": "data:application/pdf;base64,JVBERi0xLjQKJc...",
"filename": "notes.pdf"
}
]
}
]
}Keluaran Streaming
{
"model": "gpt-5.4",
"stream": true,
"input": [
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "Explain this diagram step by step."
},
{
"type": "input_image",
"image_url": "https://example.com/diagram.png"
}
]
}
]
}Respons
Respons tanpa streaming mengikuti gaya OpenAI Responses. Kolom sebenarnya dapat berbeda sesuai kemampuan model yang dipilih.
idstringPengenal respons unik.
objectstringTipe objek respons, biasanya response.
created_atintegerStempel waktu pembuatan.
modelstringModel yang sebenarnya digunakan.
outputobject[]Daftar item keluaran. Item umum mencakup message, function_call, dan keluaran terkait alat.
usageobjectStatistik penggunaan token, seperti input_tokens, output_tokens, dan total_tokens.
Contoh Berhasil
{
"id": "resp_123",
"object": "response",
"created_at": 1766534400,
"model": "gpt-5.4",
"output": [
{
"type": "message",
"role": "assistant",
"content": [
{
"text": "The image shows a cat, and the attachment is a document about pet care."
}
]
}
],
"usage": {
"input_tokens": 128,
"output_tokens": 42,
"total_tokens": 170
}
}Respons Streaming
Saat stream=true, endpoint mengembalikan Server-Sent Events.
event: response.output_text.delta
data: {"type":"response.output_text.delta","delta":"The image"}
event: response.completed
data: {"type":"response.completed","response":{"id":"resp_123"}}Baca peristiwa hingga response.completed atau koneksi ditutup.
Respons Kesalahan
Lihat Kode Kesalahan dan Pemecahan Masalah untuk referensi kode lengkap, perbedaan protokol, dan langkah diagnosis.
Kesalahan HTTP yang dihasilkan platform menggunakan kolom datar di bawah, bukan pembungkus error. Sebagian kesalahan upstream dapat mempertahankan struktur aslinya; kesalahan di dalam stream SSE yang sudah dimulai tidak mengikuti contoh respons HTTP ini.
{
"code": 40000,
"message": "Insufficient credit. Required: 30000, Available: 20000",
"type": "api_error"
}Catatan
- Endpoint
Responsesmenggunakaninput, bukanmessages. Jika klien Anda hanya mengirimmessages, gunakan/openai/v1/chat/completions. - Masukan gambar menggunakan
input_image;image_urlharus berupa URLhttp://atauhttps://publik. Data URL Base64 tidak didukung untuk gambar. - Masukan file menggunakan
input_file. Untuk PDF, gunakanfile_databesertafilename;file_dataharus berupa URLdata:application/pdf;base64,...lengkap. - Masukan/keluaran audio, alat pembuatan gambar, pencarian file, dan kemampuan lanjutan lainnya bergantung pada model yang dipilih dan fitur yang tersedia.
- Kolom yang tercantum di halaman ini membentuk kontrak permintaan Responses publik saat ini; jangan menganggap kolom yang tidak tercantum tersedia.
/openai/responsesadalah jalur publik yang direkomendasikan./v1/responsesmengikuti kontrak permintaan dan respons publik yang sama./compat/v1/responsesmengikuti kontrak permintaan dan respons publik yang sama./openai/v1/responsesmengikuti kontrak permintaan dan respons publik yang sama.