Skip to main content

Demo chat

The demo chat endpoint lets you interact with AI models without signing up or deploying an agent. Requests are rate-limited by IP address.

List available models

GET /api/demo/chat
No authentication required. Returns the list of models available in demo mode.

Response (200)

{
  "models": [
    { "id": "xiaomi/mimo-v2-pro", "name": "MiMo-V2-Pro", "provider": "Xiaomi" },
    { "id": "anthropic/claude-sonnet-4.5", "name": "Claude Sonnet 4.5", "provider": "Anthropic" },
    { "id": "openai/gpt-4o", "name": "GPT-4o", "provider": "OpenAI" },
    { "id": "google/gemini-2.5-flash", "name": "Gemini 2.5 Flash", "provider": "Google" },
    { "id": "deepseek/deepseek-r1", "name": "DeepSeek R1", "provider": "DeepSeek" },
    { "id": "minimax/minimax-chat", "name": "MiniMax M2.7", "provider": "MiniMax" }
  ],
  "mode": "demo",
  "message": "Welcome to Agentbot Demo - try AI models without deploying"
}
FieldTypeDescription
modelsarrayAvailable demo models
models[].idstringModel identifier to use in POST requests
models[].namestringHuman-readable model name
models[].providerstringAI provider name
modestringAlways demo
messagestringWelcome message

Send a demo message

POST /api/demo/chat
No authentication required. Rate-limited by IP address.

Request body

FieldTypeRequiredDescription
messagestringYesMessage to send
modelstringNoModel ID from the models list. Defaults to xiaomi/mimo-v2-pro.
modestringNoChat mode identifier
conversationarrayNoPrevious conversation messages for context. Only user-role messages are retained (max 4000 characters each).

Example request

{
  "message": "What plans does Agentbot offer?",
  "model": "openai/gpt-4o",
  "conversation": [
    { "role": "user", "content": "Tell me about Agentbot" }
  ]
}

Response (200)

{
  "id": "gen-abc123",
  "model": "openai/gpt-4o",
  "message": "Agentbot offers four plans: Solo, Collective, Label, and Network...",
  "usage": {
    "prompt_tokens": 450,
    "completion_tokens": 120,
    "total_tokens": 570
  },
  "done": true
}
FieldTypeDescription
idstringResponse identifier from the AI provider
modelstringModel ID that served the request
messagestringAI response content
usageobjectToken usage statistics
usage.prompt_tokensnumberInput tokens consumed
usage.completion_tokensnumberOutput tokens generated
usage.total_tokensnumberTotal tokens used
donebooleanAlways true (non-streaming)

Error responses

StatusErrorDescription
400Message requiredThe message field is missing from the request body
429Too many requestsIP-based rate limit exceeded
503Demo unavailable — service not configured.The demo service is not configured on the server
500Failed to get responseAn unexpected error occurred
The demo endpoint uses a fixed max token limit of 1024 and does not support streaming. For full chat capabilities, use the AI chat endpoint with a subscription plan.
Every successful demo chat request automatically logs token usage and cost to the usage tracking system. Demo requests are recorded with userId: "demo" and agentId: "demo-chat", and are visible in the cost dashboard.

Examples

List models

curl https://agentbot.raveculture.xyz/api/demo/chat

Send a message

curl -X POST https://agentbot.raveculture.xyz/api/demo/chat \
  -H "Content-Type: application/json" \
  -d '{
    "message": "What skills are available?",
    "model": "xiaomi/mimo-v2-pro"
  }'

Send with conversation history

curl -X POST https://agentbot.raveculture.xyz/api/demo/chat \
  -H "Content-Type: application/json" \
  -d '{
    "message": "Tell me more about that",
    "model": "openai/gpt-4o",
    "conversation": [
      { "role": "user", "content": "What is Agentbot?" }
    ]
  }'