SDKs and frameworks
Point the OpenAI and Anthropic SDKs, LangChain or the Vercel AI SDK at Raon.
Use the official OpenAI and Anthropic SDKs for Raon's supported text generation features. Set the base URL, API key and model ID, then check the supported features and limits when migrating existing code. Matching an API format does not imply support for every feature of its original provider.
| Client | Base URL | Key |
|---|---|---|
| OpenAI SDKs, and frameworks built on them | https://raon-api.krafton.ai/v1 | api_key / apiKey |
| Anthropic SDKs | https://raon-api.krafton.ai (the SDK adds /v1) | api_key / apiKey |
OpenAI SDK
# pip install openai
import os
from openai import OpenAI
client = OpenAI(
base_url="https://raon-api.krafton.ai/v1",
api_key=os.environ["RAON_API_KEY"],
)The same client calls both Chat Completions and Responses.
Anthropic SDK
# pip install anthropic
import os
from anthropic import Anthropic
client = Anthropic(
base_url="https://raon-api.krafton.ai",
api_key=os.environ["RAON_API_KEY"],
)This client calls Messages.
LangChain
ChatOpenAI takes Raon's base URL:
# pip install langchain-openai
import os
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="raon-1-mini-preview",
base_url="https://raon-api.krafton.ai/v1",
api_key=os.environ["RAON_API_KEY"],
)
print(llm.invoke("Hello!").content)Vercel AI SDK
Use the OpenAI-compatible provider. It returns the model's reasoning as reasoningText:
// npm install ai @ai-sdk/openai-compatible
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText } from "ai";
const raon = createOpenAICompatible({
name: "raon",
baseURL: "https://raon-api.krafton.ai/v1",
apiKey: process.env.RAON_API_KEY,
});
const { text } = await generateText({
model: raon("raon-1-mini-preview"),
prompt: "Hello!",
});
console.log(text);Moving code from OpenAI or Anthropic
- Model ID. Use
raon-1-mini-preview. Other providers' model names, such asgpt-4oorclaude-sonnet-4-5, return 403model_not_allowed. - Parameters. Raon fixes
temperature=1.0,top_p=0.95,top_k=20,presence_penalty=1.5,repetition_penalty=1.0,frequency_penalty=0andmin_p=0for all generation APIs to keep responses stable. These values apply even when you omit the parameters, send null or supply different values. Other parameters such asstop,seedandresponse_formatare passed to the model as they are. Effort settings are accepted but have no effect; see Reasoning. - No server-side state.
storeis always off. Send the whole conversation on every request; see What is refused. - Tools. Function tools work on all three APIs. Of the tools a provider runs for you, only web search is available.
- Text only. The model does not read images, audio or files.

