Skip to main content

AI Completions API

Generate AI responses using state-of-the-art language models with real-time streaming.

What You Can Do​

  • Stream responses in real-time using Server-Sent Events (SSE)
  • Use multiple AI models (Claude, GPT, Gemini, etc.)
  • Execute tools with client-side function calling
  • Extended thinking for complex reasoning tasks (Anthropic models)
  • Fine-grained control over temperature, max tokens, and more

Quick Example​

Here's a simple request to get started:

curl -X POST https://app.bike4mind.com/api/ai/v1/completions \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
--no-buffer \
-d '{
"model": "claude-3-5-sonnet",
"messages": [
{"role": "user", "content": "Hello, world!"}
]
}'

Response (SSE stream):

data: {"type":"content","text":"Hello! How can I help you today?","usage":{"inputTokens":10,"outputTokens":9}}

data: [DONE]

Use Cases​

  • Chatbots and conversational AI - Build interactive chat experiences
  • Code generation and assistance - Generate, debug, and explain code
  • Content creation and editing - Write articles, emails, and creative content
  • Data analysis and summarization - Process and summarize large amounts of information
  • Research and information gathering - Answer questions and explore topics

Getting Started​

Follow these steps to make your first successful request in 5 minutes.

Prerequisites​

You'll need an API key to authenticate your requests. If you don't have one yet, see the Authentication guide to learn how to obtain an API key.

Your First Request​

Let's make a simple completion request using curl:

curl -X POST https://app.bike4mind.com/api/ai/v1/completions \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
--no-buffer \
-d '{
"model": "claude-3-5-sonnet",
"messages": [
{"role": "user", "content": "What is 2+2?"}
]
}'

Important: Replace YOUR_API_KEY with your actual B4M API key. Use the --no-buffer flag to see streaming output in real-time.

Understanding the Response​

The API returns a Server-Sent Events (SSE) stream. Each event has the format:

data: {JSON payload}

Example response:

data: {"type":"content","text":"2+2 equals 4.","usage":{"inputTokens":12,"outputTokens":7}}

data: [DONE]

Response breakdown:

  • type: "content" - This is a content event (response text)
  • text - The actual response from the model
  • usage - Token usage for billing
    • inputTokens: Tokens in your request
    • outputTokens: Tokens in the response
  • [DONE] - Signal that the stream is complete

Request Format​

The minimal request requires:

FieldTypeDescription
modelstringModel identifier (e.g., "claude-3-5-sonnet")
messagesarrayConversation history with role and content

Message structure:

{
"role": "user" | "assistant" | "system",
"content": "Your message text"
}

Next Steps​

Now that you've made your first request, explore more:


By Use Case​

By Language​


Support​

If you encounter issues or have questions:

  • Error Handling Guide - Troubleshoot common problems
  • API Status - Check service status (coming soon)
  • Support - Contact support for assistance (coming soon)