Introduction
Julian is fully compatible with the OpenAI API. Use the official OpenAI SDKs, set your base URL to OkeyMeta, and call julian-origin.
Base URL
https://api.okeymeta.com.ng/v1Authentication
Authenticate with your API key using the Authorization header. Keys begin with okeymeta-.
Header
Authorization: Bearer okeymeta-...OpenAI SDK
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.OKEYMETA_API_KEY,
baseURL: "https://api.okeymeta.com.ng/v1",
});Models
List available models with GET /v1/models.
cURL
curl https://api.okeymeta.com.ng/v1/models \
-H "Authorization: Bearer $OKEYMETA_API_KEY"| Model | Description |
|---|---|
| julian-origin | Julian Origin — flagship chat & reasoning |
Chat Completions
Create a chat completion with POST /v1/chat/completions. Request and response shapes match the OpenAI Chat Completions API.
TypeScript
const completion = await client.chat.completions.create({
model: "julian-origin",
messages: [
{ role: "system", content: "You are Julian." },
{ role: "user", content: "Write a haiku about building with Julian." },
],
});
console.log(completion.choices[0].message.content);cURL
curl https://api.okeymeta.com.ng/v1/chat/completions \
-H "Authorization: Bearer $OKEYMETA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "julian-origin",
"messages": [{"role":"user","content":"Hello"}]
}'Errors
Errors return OpenAI-compatible JSON with error.message, error.type, and error.code. Invalid keys respond with 401.
Example
{
"error": {
"message": "Invalid API key",
"type": "invalid_request_error",
"code": null
}
}