API Hop

Dokumentasi

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.

POSThttps://api.apihop.ai/openai/responses

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.

text
POST https://api.apihop.ai/openai/responses

Autentikasi

Semua permintaan memerlukan autentikasi Bearer Token.

http
Authorization: Bearer YOUR_API_KEY

Isi

modelstringwajibBawaan: gpt-5.4

Model aktif saat ini dengan dukungan Responses:

  • gpt-5.4
  • gpt-5.5
  • gpt-5.6-sol
  • gpt-5.6-terra
  • gpt-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:

typestring

Tipe item masukan.

Nilai umum:

  • message: masukan pesan.
  • function_call_output: hasil panggilan alat fungsi.
rolestring

Peran saat type=message.

Nilai umum:

  • developer
  • system
  • user
  • assistant
contentstring | object[]

Isi pesan.

Gunakan larik blok konten untuk permintaan multimodal. Blok konten mendukung:

typestring

Tipe blok konten.

Saat ini didukung:

  • input_text
  • input_image
  • input_file
textstring

Konten teks saat type=input_text.

image_urlstring

URL 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: auto

Tingkat detail gambar saat type=input_image.

Nilai umum:

  • auto
  • low
  • high
file_datastring

Data URL isi file saat type=input_file. PDF dapat menggunakan data:application/pdf;base64,....

filenamestring

Nama file saat type=input_file.

instructionsstring

Instruksi sistem atau pengembang yang dimasukkan ke konteks model.

max_output_tokensinteger

Batas 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: false

Apakah respons dikirim secara streaming.

  • false: kembalikan satu respons lengkap
  • true: kembalikan peristiwa SSE bergaya OpenAI Responses
temperaturenumberBawaan: 1.0

Temperatur sampling, biasanya dari 0 hingga 2.

top_pnumberBawaan: 1.0

Parameter nucleus sampling, biasanya dari 0 hingga 1.

textobject

Konfigurasi keluaran teks.

text.formatobject

Konfigurasi format teks, seperti { "type": "text" } atau skema JSON.

text.verbositystring

Tingkat 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 | object

Kebijakan pemilihan alat.

parallel_tool_callsboolean

Apakah panggilan alat paralel diizinkan.

reasoningobject

Opsi terkait penalaran.

includestring[]

Kolom tambahan untuk disertakan dalam respons.

prompt_cache_keystring

Kunci cache prompt untuk penggunaan ulang cache prompt.

prompt_cache_retentionstring

Kebijakan retensi cache prompt. Nilai yang didukung bergantung pada model yang dipilih dan fitur yang tersedia.

safety_identifierstring

Pengenal pengguna akhir yang stabil untuk kontrol keamanan.

storeboolean

Apakah status respons boleh disimpan.

Perbedaan Parameter Model

  • Penerusan Responses native yang kompatibel OpenAI mempertahankan top_p dalam permintaan upstream; validasi dan perilaku sampling bergantung pada model yang dipilih serta upstream. Pemeriksaan pada 2026-09-26 menerima top_p: 0.9 untuk gpt-5.5, gpt-5.6-sol, dan gpt-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/responses biasa. Ini tidak berarti model yang sama mendukung /openai/responses/compact, WebSocket, atau previous_response_id dengan 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

json
{
  "model": "gpt-5.4",
  "input": "Hello, introduce yourself in one sentence."
}

Parameter Bergaya Codex CLI

json
{
  "model": "gpt-5.5",
  "input": "Reply with READY only.",
  "reasoning": {
    "effort": "xhigh"
  },
  "store": false,
  "text": {
    "verbosity": "low"
  },
  "stream": true
}

Pemahaman Gambar

json
{
  "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.

json
{
  "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

json
{
  "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

json
{
  "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.

idstring

Pengenal respons unik.

objectstring

Tipe objek respons, biasanya response.

created_atinteger

Stempel waktu pembuatan.

modelstring

Model yang sebenarnya digunakan.

outputobject[]

Daftar item keluaran. Item umum mencakup message, function_call, dan keluaran terkait alat.

usageobject

Statistik penggunaan token, seperti input_tokens, output_tokens, dan total_tokens.

Contoh Berhasil

json
{
  "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.

text
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.

json
{
  "code": 40000,
  "message": "Insufficient credit. Required: 30000, Available: 20000",
  "type": "api_error"
}

Catatan

  • Endpoint Responses menggunakan input, bukan messages. Jika klien Anda hanya mengirim messages, gunakan /openai/v1/chat/completions.
  • Masukan gambar menggunakan input_image; image_url harus berupa URL http:// atau https:// publik. Data URL Base64 tidak didukung untuk gambar.
  • Masukan file menggunakan input_file. Untuk PDF, gunakan file_data beserta filename; file_data harus berupa URL data: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/responses adalah jalur publik yang direkomendasikan.
  • /v1/responses mengikuti kontrak permintaan dan respons publik yang sama.
  • /compat/v1/responses mengikuti kontrak permintaan dan respons publik yang sama.
  • /openai/v1/responses mengikuti kontrak permintaan dan respons publik yang sama.