SDK & Contoh Kode
Contoh Python dan Node.js untuk tiga dialek API Hostlinku — Anthropic Messages, OpenAI Chat Completions, dan OpenAI Responses.
Satu API key berlaku di ketiga dialek. Yang berbeda hanya base URL dan header auth:
Ganti nama model dengan slug dari katalog — contoh di bawah memakai model yang tersedia di Service Mode Performance.
Python
Anthropic Messages
pip install anthropicimport anthropic
client = anthropic.Anthropic(
api_key="sk-isi-api-key-kamu",
base_url="https://api.hostlinku.com",
)
message = client.messages.create(
model="claude-sonnet-5",
max_tokens=256,
messages=[{"role": "user", "content": "Jelaskan API gateway dalam dua kalimat."}],
)
print(message.content[0].text)
print(message.usage.input_tokens, message.usage.output_tokens)Streaming:
with client.messages.stream(
model="claude-sonnet-5",
max_tokens=256,
messages=[{"role": "user", "content": "Tulis satu paragraf pendek."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)OpenAI Chat Completions
pip install openaifrom openai import OpenAI
client = OpenAI(api_key="sk-isi-api-key-kamu", base_url="https://api.hostlinku.com/v1")
response = client.chat.completions.create(
model="gpt-6-astra",
messages=[
{"role": "system", "content": "Kamu asisten yang ringkas."},
{"role": "user", "content": "Halo dari SDK OpenAI!"},
],
)
print(response.choices[0].message.content)Streaming:
stream = client.chat.completions.create(
model="gpt-6-astra",
messages=[{"role": "user", "content": "Tulis satu paragraf pendek."}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)OpenAI Responses
response = client.responses.create(
model="gpt-6-astra",
instructions="Jawab singkat dalam bahasa Indonesia.",
input="Apa itu API gateway?",
max_output_tokens=256,
)
print(response.output_text)Streaming:
with client.responses.stream(
model="gpt-6-astra",
input="Tulis satu paragraf pendek.",
) as stream:
for event in stream:
if event.type == "response.output_text.delta":
print(event.delta, end="", flush=True)Node.js / TypeScript
Anthropic Messages
npm install @anthropic-ai/sdkimport Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "sk-isi-api-key-kamu",
baseURL: "https://api.hostlinku.com",
});
const message = await client.messages.create({
model: "claude-sonnet-5",
max_tokens: 256,
messages: [{ role: "user", content: "Halo!" }],
});
console.log(message.content[0].text);Streaming:
const stream = client.messages.stream({
model: "claude-sonnet-5",
max_tokens: 256,
messages: [{ role: "user", content: "Tulis satu paragraf pendek." }],
});
stream.on("text", (text) => process.stdout.write(text));
await stream.finalMessage();OpenAI Chat Completions
npm install openaiimport OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-isi-api-key-kamu",
baseURL: "https://api.hostlinku.com/v1",
});
const response = await client.chat.completions.create({
model: "gpt-6-astra",
messages: [{ role: "user", content: "Halo!" }],
});
console.log(response.choices[0].message.content);Streaming:
const stream = await client.chat.completions.create({
model: "gpt-6-astra",
messages: [{ role: "user", content: "Tulis satu paragraf pendek." }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}OpenAI Responses
const response = await client.responses.create({
model: "gpt-6-astra",
input: "Halo!",
max_output_tokens: 256,
});
console.log(response.output_text);Streaming:
const stream = await client.responses.create({
model: "gpt-6-astra",
input: "Tulis satu paragraf pendek.",
stream: true,
});
for await (const event of stream) {
if (event.type === "response.output_text.delta") {
process.stdout.write(event.delta);
}
}Catatan
Bahasa lain
Batas per klien

