Hostlinku

Hostlinku Docs

Dokumentasi

Menu

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:

DialekBase URLHeader
Anthropic Messageshttps://api.hostlinku.com (tanpa /v1)x-api-key: <API_KEY>
OpenAI Chat Completionshttps://api.hostlinku.com/v1Authorization: Bearer <API_KEY>
OpenAI Responseshttps://api.hostlinku.com/v1Authorization: Bearer <API_KEY>

Ganti nama model dengan slug dari katalog — contoh di bawah memakai model yang tersedia di Service Mode Performance.

Python

Anthropic Messages

pip install anthropic
import 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 openai
from 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/sdk
import 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 openai
import 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