packages/cloud-frontend/content/agents.mdx
import { Callout, Steps, Tabs, Cards } from "@/docs/components";
AI Agents are the core of elizaOS Cloud. Each agent is a conversational AI with its own personality, knowledge, and capabilities.
<div className="status-badge status-stable">Stable</div>An agent in elizaOS Cloud consists of:
<Tabs items={['Dashboard', 'API', 'CLI']}> <Tabs.Tab>
Fill in the agent's personality:
Choose from the model providers and models currently available in the model catalog.
Click "Deploy" to launch your agent.
</Steps> </Tabs.Tab> <Tabs.Tab> ### Using the APIcurl -X POST "https://elizacloud.ai/api/v1/app/agents" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Research Assistant",
"bio": "Expert in scientific research and data analysis"
}'
Response:
{
"success": true,
"agent": {
"id": "uuid-abc123",
"name": "Research Assistant",
"username": "research-assistant",
"bio": ["Expert in scientific research and data analysis"],
"created_at": "2024-01-15T10:30:00Z"
}
}
</Tabs.Tab> <Tabs.Tab>
# Install the scaffolding CLI
bun add -g elizaos
# Create a local project
elizaos create research-assistant --template project
cd research-assistant
# Run the generated project scripts
bun install
bun run dev
</Tabs.Tab> </Tabs>
The character JSON defines your agent's personality and behavior.
{
"name": "Research Assistant",
"bio": [
"Expert researcher with deep knowledge in scientific literature",
"Specializes in data analysis and synthesis",
"Values accuracy and proper citation"
],
"lore": [
"Trained on millions of academic papers",
"Developed by a team of PhD researchers"
],
"style": {
"all": [
"Professional and academic tone",
"Evidence-based reasoning",
"Clear and structured responses"
],
"chat": ["Concise yet thorough", "Ask clarifying questions when needed"],
"post": ["Formal academic style", "Include citations"]
},
"topics": ["science", "research", "data analysis", "academic writing"],
"adjectives": ["knowledgeable", "thorough", "precise", "helpful"],
"modelProvider": "openai",
"settings": {
"model": "gpt-4o",
"temperature": 0.7,
"maxTokens": 4096
}
}
| Field | Type | Description |
|---|---|---|
name | string | Display name of the agent |
bio | string[] | Array of background/expertise statements |
lore | string[] | Additional context and backstory |
style.all | string[] | Global style instructions |
style.chat | string[] | Chat-specific instructions |
style.post | string[] | Social media post instructions |
topics | string[] | Areas of expertise |
adjectives | string[] | Personality descriptors |
modelProvider | string | AI provider (openai, anthropic, google) |
settings | object | Model-specific settings |
curl -X GET "https://elizacloud.ai/api/my-agents/characters" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://elizacloud.ai/api/my-agents/characters/{agentId}" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X DELETE "https://elizacloud.ai/api/my-agents/characters/{agentId}" \
-H "Authorization: Bearer YOUR_API_KEY"
Agents can be in one of these states:
| Status | Description |
|---|---|
active | Agent is running and accepting requests |
paused | Agent is temporarily disabled |
deploying | Agent deployment in progress |
error | Agent encountered an error |
Publish your agents to the marketplace and earn from usage.
curl -X POST "https://elizacloud.ai/api/v1/agents/{agentId}/publish" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"pricing": {
"perMessage": 0.001,
"perMinute": 0.01
},
"visibility": "public"
}'