packages/cloud-frontend/content/sdks.mdx
import { Callout, Tabs, Cards } from "@/docs/components";
Integrate elizaOS Cloud with official SDKs and community libraries.
Since elizaOS Cloud is 100% OpenAI API compatible, you can use any existing OpenAI SDK by simply changing the base URL. No special SDK required!
<Tabs items={['TypeScript', 'Python', 'cURL']}> <Tabs.Tab>
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.ELIZA_API_KEY,
baseURL: 'https://elizacloud.ai/api/v1',
});
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Hello!' }],
});
console.log(response.choices[0].message.content);
</Tabs.Tab> <Tabs.Tab>
from openai import OpenAI
client = OpenAI(
api_key="eliza_xxx",
base_url="https://elizacloud.ai/api/v1"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
</Tabs.Tab> <Tabs.Tab>
curl -X POST "https://elizacloud.ai/api/v1/chat/completions" \
-H "Authorization: Bearer $ELIZA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Hello!"}]
}'
</Tabs.Tab> </Tabs>
npm install openai
# or
bun add openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.ELIZA_API_KEY,
baseURL: "https://elizacloud.ai/api/v1",
});
const stream = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Tell me a story" }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
const embedding = await client.embeddings.create({
input: "Hello world",
model: "text-embedding-3-small",
});
pip install openai
from openai import OpenAI
client = OpenAI(
api_key="eliza_xxx",
base_url="https://elizacloud.ai/api/v1"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Tell me a story"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
For APIs that extend beyond OpenAI compatibility (images, video, voice), use direct HTTP calls:
const response = await fetch("https://elizacloud.ai/api/v1/generate-image", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ELIZA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
prompt: "A sunset over mountains",
model: "google/gemini-2.5-flash-image",
}),
});
const data = await response.json();
console.log(data.images[0].url);
const response = await fetch("https://elizacloud.ai/api/v1/generate-video", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.ELIZA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
prompt: "A cat playing piano",
model: "fal-ai/veo3",
}),
});
const data = await response.json();
console.log(data.video.url);
import { generateText } from "ai";
import { createOpenAI } from "@ai-sdk/openai";
const openai = createOpenAI({
apiKey: process.env.ELIZA_API_KEY,
baseURL: "https://elizacloud.ai/api/v1",
});
const { text } = await generateText({
model: openai("gpt-4o"),
prompt: "Hello!",
});
from llama_index.llms.openai import OpenAI
llm = OpenAI(
api_key="eliza_xxx",
api_base="https://elizacloud.ai/api/v1",
model="gpt-4o"
)
response = llm.complete("Hello!")
Connect to elizaOS Cloud MCP endpoint:
import { Client } from "@modelcontextprotocol/sdk";
const client = new Client({
url: "https://elizacloud.ai/api/mcp",
headers: {
Authorization: `Bearer ${process.env.ELIZA_API_KEY}`,
},
});
await client.initialize();
const tools = await client.listTools();
const result = await client.callTool("generate_image", {
prompt: "A sunset",
});
Since elizaOS Cloud is OpenAI-compatible, you can use any OpenAI SDK in your preferred language:
| Language | Library | Installation |
|---|---|---|
| Go | sashabaranov/go-openai | go get github.com/sashabaranov/go-openai |
| Rust | async-openai | cargo add async-openai |
| Ruby | ruby-openai | gem install ruby-openai |
| PHP | openai-php/client | composer require openai-php/client |
Simply configure the base URL to https://elizacloud.ai/api/v1 and use your elizaOS API key.
| Feature | OpenAI SDK | Direct REST |
|---|---|---|
| Chat Completions | ✅ | ✅ |
| Streaming | ✅ | ✅ |
| Embeddings | ✅ | ✅ |
| Image Generation | ❌ | ✅ |
| Video Generation | ❌ | ✅ |
| Voice / TTS | ❌ | ✅ |
| Knowledge Base | ❌ | ✅ |
| MCP Tools | ❌ | ✅ |
| Agents API | ❌ | ✅ |
We welcome SDK contributions! See our GitHub for guidelines.