# SDK dan tool lain

> Pakai Vikey dari SDK OpenAI, SDK Anthropic, dan tool apa pun yang bisa diatur base URL-nya.

Tool apa pun yang bisa diatur **base URL** dan **API key** untuk OpenAI atau Anthropic bisa memakai Vikey. Aturannya:

| Tool memakai format | Base URL | Contoh model |
| --- | --- | --- |
| OpenAI | `https://api.vikey.ai/v1` | `openai/gpt-6.1-sol`, `vikey/agent-gpt` |
| Anthropic | `https://api.vikey.ai` | `anthropic/claude-sonnet-5.5`, `vikey/agent-coding` |

Model dari provider mana pun bisa dipanggil lewat kedua format. Misalnya model GPT bisa dipanggil lewat SDK Anthropic, dan model Claude lewat SDK OpenAI.

## SDK OpenAI

**Python**

  ```python
  from openai import OpenAI

  client = OpenAI(base_url="https://api.vikey.ai/v1", api_key="API_KEY_KAMU")

  stream = client.chat.completions.create(
      model="anthropic/claude-sonnet-5.5",
      messages=[{"role": "user", "content": "Jelaskan rekursi dalam dua kalimat."}],
      stream=True,
  )
  for chunk in stream:
      print(chunk.choices[0].delta.content or "", end="")
  ```
**Node.js**

  ```js
  import OpenAI from 'openai'

  const client = new OpenAI({ baseURL: 'https://api.vikey.ai/v1', apiKey: 'API_KEY_KAMU' })

  const stream = await client.chat.completions.create({
    model: 'anthropic/claude-sonnet-5.5',
    messages: [{ role: 'user', content: 'Jelaskan rekursi dalam dua kalimat.' }],
    stream: true,
  })
  for await (const chunk of stream) process.stdout.write(chunk.choices[0]?.delta?.content || '')
  ```

## SDK Anthropic

**Python**

  ```python
  import anthropic

  client = anthropic.Anthropic(base_url="https://api.vikey.ai", api_key="API_KEY_KAMU")

  message = client.messages.create(
      model="anthropic/claude-sonnet-5.5",
      max_tokens=1024,
      messages=[{"role": "user", "content": "Jelaskan rekursi dalam dua kalimat."}],
  )
  print(message.content[0].text)
  ```
**Node.js**

  ```js
  import Anthropic from '@anthropic-ai/sdk'

  const client = new Anthropic({ baseURL: 'https://api.vikey.ai', apiKey: 'API_KEY_KAMU' })

  const message = await client.messages.create({
    model: 'anthropic/claude-sonnet-5.5',
    max_tokens: 1024,
    messages: [{ role: 'user', content: 'Jelaskan rekursi dalam dua kalimat.' }],
  })
  console.log(message.content[0].text)
  ```

## Lewat variabel environment

Banyak tool membaca variabel standar ini. Kalau tool kamu mendukungnya, cukup set:

```bash
# Tool format OpenAI
export OPENAI_BASE_URL=https://api.vikey.ai/v1
export OPENAI_API_KEY=API_KEY_KAMU

# Tool format Anthropic
export ANTHROPIC_BASE_URL=https://api.vikey.ai
export ANTHROPIC_AUTH_TOKEN=API_KEY_KAMU
```

Lalu pilih model id Vikey di setelan tool tersebut.

Source: https://docs.vikey.ai/agents/other-tools/
