# SDKs

> Utilisez le SDK officiel @tchavi/sdk, le SDK OpenAI en remplacement direct, ou simplement cURL pour appeler l'API.

- Canonical: https://tchavi.com/fr/docs/sdks

---


## @tchavi/sdk (recommandé)

Notre SDK officiel encapsule l'API avec des méthodes typées et le suivi des crédits.

```bash
npm install @tchavi/sdk
```

```typescript
import Tchavi from '@tchavi/sdk';

const client = new Tchavi({ apiKey: 'YOUR_API_KEY' });

// Chat
const chat = await client.chat.completions.create({
  model: 'gpt-4o-mini',
  messages: [{ role: 'user', content: 'Hello!' }],
});

// Images
const images = await client.images.generations.create({
  model: 'nano-banana-pro',
  prompt: 'A futuristic Cotonou skyline at dusk',
});

// Audio — TTS
const tts = await client.audio.speech.create({
  model: 'tts-1',
  input: 'Welcome to Tchavi',
  voice: 'nova',
});

// Vidéo — asynchrone ; createAndWait interroge jusqu'à completed/failed
const video = await client.videos.generations.createAndWait({
  model: 'seedance-2',
  prompt: 'A cinematic shot at golden hour',
  duration: 5,
  resolution: '480p',
});

// Récupérer / lister les jobs asynchrones
const job = await client.jobs.retrieve(video.id);
const { data } = await client.jobs.list({ status: 'completed', limit: 10 });
```

## SDK OpenAI (remplacement direct)

Vous utilisez déjà le SDK OpenAI Python ou Node.js ? Changez simplement l'URL de base :

<CodeTabs>

```python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://tchavi.com/api/v1",
)

# Utilisez-le exactement comme OpenAI
response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)
```

```javascript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://tchavi.com/api/v1',
});

const response = await client.chat.completions.create({
  model: 'claude-sonnet-4-6',
  messages: [{ role: 'user', content: 'Hello!' }],
});

console.log(response.choices[0].message.content);
```

</CodeTabs>

## cURL

Aucun SDK requis — utilisez des requêtes HTTP standards :

```curl
curl -X POST https://tchavi.com/api/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
```

