Responses
POST /v1/responses adalah OpenAI Responses API — format yang menjadi dasar Codex dan metode OpenAI SDK yang lebih baru. Setiap model teks di katalog merespons melalui format ini.
Permintaan
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.inferray.com/v1",
apiKey: process.env.INFERRAY_API_KEY,
});
const response = await client.responses.create({
model: "gpt-5.5",
instructions: "Answer in one sentence.",
input: "Why is the sky blue?",
});
console.log(response.output_text);
curl https://api.inferray.com/v1/responses \
-H "Authorization: Bearer $INFERRAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5.5",
"instructions": "Answer in one sentence.",
"input": "Why is the sky blue?"
}'
input berupa string, atau array item input (pesan dengan bagian teks, gambar, dan file, output sebelumnya, serta hasil pemanggilan fungsi). instructions berperan sebagai pesan system. max_output_tokens, tools, text.format untuk structured outputs dan reasoning untuk reasoning effort bekerja seperti di OpenAI API.
Respons dan percakapan tersimpan
Responses disimpan secara default, sehingga Anda dapat melanjutkan percakapan tanpa mengirimkannya ulang:
const first = await client.responses.create({
model: "gpt-5.5",
input: "Pick a random fruit.",
});
const second = await client.responses.create({
model: "gpt-5.5",
previous_response_id: first.id,
input: "What colour is it?",
});
- Respons yang tersimpan disimpan selama 30 hari.
- Hanya kunci dari proyek yang sama yang dapat membaca respons tersebut atau melanjutkannya.
- Atur
store: falsejika Anda tidak ingin respons disimpan. Anda kemudian mengirim riwayat sendiri, sebagaimana Anda lakukan dengan Chat Completions.
Ambil respons tersimpan berdasarkan ID:
curl https://api.inferray.com/v1/responses/$RESPONSE_ID \
-H "Authorization: Bearer $INFERRAY_API_KEY"
Membaca respons yang tersimpan tidak dikenakan biaya lagi.
Compaction
POST /v1/responses/compact meringkas percakapan panjang menjadi bentuk padat yang bisa dilanjutkan, sehingga menghemat input token pada agen yang berjalan selama banyak giliran. Kirim model dan salah satu dari input untuk dipadatkan atau previous_response_id.
Streaming
Dengan stream: true, balasan diterima sebagai server-sent events bertipe: response.output_text.delta untuk teks, diakhiri dengan response.completed, yang berisi usage final. Lihat streaming.
Tidak ditawarkan
Pembatalan dan penghapusan response tidak tersedia, meskipun SDK memiliki metode untuk keduanya. Sesi realtime belum tersedia.