Responses API

POST /v1/responses dipakai Codex CLI dan SDK Responses OpenAI. Permintaan dan balasan diteruskan apa adanya ke penyedia, secara stateless.

Permintaan

Body
{
  "model": "MODEL_ID",
  "input": [{"role": "user", "content": "..."}],
  "max_output_tokens": 500,
  "store": false
}
FieldWajibKeterangan
modelyaID dari GET /v1/models.
inputyaTeks, atau larik item masukan (1 sampai 5.000 item).
max_output_tokenstidakBatas token keluaran. Bila kosong dipakai batas model. Di atas batas model ditolak 400 invalid_request.
streamtidaktrue untuk SSE Responses (response.created, response.output_text.delta, response.completed, dan lainnya).
storetidakBila tidak diisi, dipaksa false (tanpa penyimpanan di penyedia).
lainnyatidakDiteruskan apa adanya. Dukungannya bergantung model.

Contoh

curl https://api.markas.ai.id/v1/responses \
  -H "Authorization: Bearer $MARKASAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MODEL_ID",
    "input": "Apa itu API?",
    "max_output_tokens": 300
  }'
import os
from openai import OpenAI

client = OpenAI(base_url="https://api.markas.ai.id/v1", api_key=os.environ["MARKASAI_API_KEY"])

resp = client.responses.create(model="MODEL_ID", input="Apa itu API?", max_output_tokens=300)
print(resp.output_text)
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.markas.ai.id/v1", apiKey: process.env.MARKASAI_API_KEY });

const resp = await client.responses.create({ model: "MODEL_ID", input: "Apa itu API?", max_output_tokens: 300 });
console.log(resp.output_text);

Penagihan

  • Tagihan memakai usage Responses (input_tokens, output_tokens, input_tokens_details.cached_tokens) dari respons biasa atau event response.completed saat streaming.
  • Bila penyedia tidak melaporkan usage, tagihan memakai perkiraan konservatif dan ditandai estimasi di dashboard.

Batasan

Karena stateless, GET /v1/responses/{id}, POST /v1/responses/{id}/cancel, dan previous_response_id tidak tersedia. Kirim ulang riwayat percakapan di input.