Make Your First Request

Make Your First Request

Let's send your first AI chat request through Cencori. This is the exciting part! 🚀

Basic Chat Request

Here's the simplest way to make an AI request:

app/api/chat/route.ts
import { Cencori } from 'cencori';

const cencori = new Cencori();

// Make a chat request
const response = await cencori.ai.chat({
  model: 'gpt-4o',  // or 'claude-3-opus', 'gemini-2.5-flash'
  messages: [
    { role: 'user', content: 'Hello! What can you do?' }
  ],
  temperature: 0.7,
  maxTokens: 500,
});

console.log(response.content);
// "Hello! I'm an AI assistant that can help you with..."

console.log(response.usage);
// { promptTokens: 12, completionTokens: 45, totalTokens: 57 }

In a Next.js API Route

Here's a complete example for a Next.js app:

app/api/chat/route.ts
import { Cencori } from 'cencori';
import { NextRequest, NextResponse } from 'next/server';

const cencori = new Cencori();

export async function POST(req: NextRequest) {
  const { messages } = await req.json();

  try {
    const response = await cencori.ai.chat({
      model: 'gpt-4o',
      messages: messages,
    });

    return NextResponse.json({
      content: response.content,
      model: response.model,
      usage: response.usage,
    });
  } catch (error) {
    console.error('Cencori error:', error);
    return NextResponse.json(
      { error: 'Failed to get response' },
      { status: 500 }
    );
  }
}

Switch Models Instantly

The magic of Cencori — switch providers with one parameter:

switching-models.ts
// OpenAI GPT-4
await cencori.ai.chat({ model: 'gpt-4o', messages });

// Anthropic Claude 
await cencori.ai.chat({ model: 'claude-3-5-sonnet', messages });

// Google Gemini
await cencori.ai.chat({ model: 'gemini-2.5-flash', messages });

// Same code, different providers!

✓ What Cencori does automatically:

  • • Routes to the correct provider based on model name
  • • Logs the request for your dashboard
  • • Scans for security threats
  • • Tracks token usage and cost