> ## Documentation Index
> Fetch the complete documentation index at: https://docs.venice.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Venice API

> Documentation de l'API Venice — accès privé et sans restriction à des modèles de chat, d'image, d'audio et de vidéo compatibles OpenAI avec une seule clé d'API.

<div className="venice-hero-copy">
  <p className="venice-hero-tagline">L'API pour un accès privé et sans restriction à l'intelligence.</p>
  <p className="venice-hero-subtitle">Chat, image, audio et vidéo compatibles OpenAI derrière une seule clé API.</p>

  <div className="venice-hero-ctas">
    <a className="venice-hero-cta venice-hero-cta-primary" href="https://venice.ai/settings/api">Obtenir une clé API →</a>
    <a className="venice-hero-cta" href="/overview/getting-started">Commencer</a>
  </div>
</div>

<CodeGroup>
  ```bash curl theme={"system"}
  curl https://api.venice.ai/api/v1/chat/completions \
    -H "Authorization: Bearer $VENICE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "zai-org-glm-5-1",
      "messages": [{"role": "user", "content": "Build without permission."}]
    }'
  ```

  ```ts TypeScript theme={"system"}
  import OpenAI from "openai";

  const client = new OpenAI({
    apiKey: process.env.VENICE_API_KEY,
    baseURL: "https://api.venice.ai/api/v1",
  });

  const res = await client.chat.completions.create({
    model: "zai-org-glm-5-1",
    messages: [{ role: "user", content: "Build without permission." }],
  });
  ```

  ```python Python theme={"system"}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["VENICE_API_KEY"],
      base_url="https://api.venice.ai/api/v1",
  )

  res = client.chat.completions.create(
      model="zai-org-glm-5-1",
      messages=[{"role": "user", "content": "Build without permission."}],
  )
  ```
</CodeGroup>

<div className="venice-section-header">
  <p className="venice-section-eyebrow">Endpoints</p>
  <h2 className="venice-section-title">Une API pour toutes les modalités</h2>
  <p className="venice-section-subtitle">Chat, image, audio, vidéo et embeddings derrière une seule clé API.</p>
</div>

<div className="venice-apis-grid">
  <a className="venice-api-card" href="/api-reference/endpoint/chat/completions">
    <span className="venice-api-card-name">Chat Completions</span>
    <p className="venice-api-card-desc">Chat compatible OpenAI avec raisonnement, utilisation d'outils et streaming sur plus de 100 modèles de texte.</p>

    <div className="venice-api-card-chips">
      <span className="venice-api-card-chip">Streaming</span>
      <span className="venice-api-card-chip">Outils</span>
      <span className="venice-api-card-chip">Vision</span>
    </div>

    <span className="venice-api-card-action">Voir la référence →</span>
  </a>

  <a className="venice-api-card" href="/api-reference/endpoint/image/generations">
    <span className="venice-api-card-name">Génération d'image</span>
    <p className="venice-api-card-desc">Text-to-image, image-to-image, agrandissement et suppression d'arrière-plan sur des modèles photoréalistes, stylisés et non censurés.</p>

    <div className="venice-api-card-chips">
      <span className="venice-api-card-chip">Text-to-image</span>
      <span className="venice-api-card-chip">Image-to-image</span>
      <span className="venice-api-card-chip">Upscale</span>
    </div>

    <span className="venice-api-card-action">Voir la référence →</span>
  </a>

  <a className="venice-api-card" href="/api-reference/endpoint/audio/speech">
    <span className="venice-api-card-name">Audio</span>
    <p className="venice-api-card-desc">Synthèse vocale avec plus de 50 voix multilingues, plus la transcription speech-to-text pour tout fichier audio.</p>

    <div className="venice-api-card-chips">
      <span className="venice-api-card-chip">TTS</span>
      <span className="venice-api-card-chip">Transcription</span>
      <span className="venice-api-card-chip">50+ voix</span>
    </div>

    <span className="venice-api-card-action">Voir la référence →</span>
  </a>

  <a className="venice-api-card" href="/api-reference/endpoint/video/queue">
    <span className="venice-api-card-name">Vidéo</span>
    <p className="venice-api-card-desc">Text-to-video, image-to-video et reference-to-video via une file d'attente de jobs synchrone ou asynchrone.</p>

    <div className="venice-api-card-chips">
      <span className="venice-api-card-chip">Text-to-video</span>
      <span className="venice-api-card-chip">Image-to-video</span>
      <span className="venice-api-card-chip">Reference-to-video</span>
    </div>

    <span className="venice-api-card-action">Voir la référence →</span>
  </a>
</div>

<p className="venice-apis-extras">
  Plus <a href="/api-reference/endpoint/embeddings/generate">embeddings</a>, <a href="/guides/features/file-inputs">entrées de fichiers</a>, <a href="/guides/integrations/venice-mcp">outils MCP</a> et <a href="/guides/integrations/x402-venice-api">paiements par portefeuille</a>. <a className="venice-apis-extras-cta" href="/api-reference">Voir tous les endpoints →</a>
</p>

<div className="venice-section-header">
  <p className="venice-section-eyebrow">Agents</p>
  <h2 className="venice-section-title">Conçu pour les agents IA</h2>
  <p className="venice-section-subtitle">Inférence privée, outils MCP et workflows financés par portefeuille pour la messagerie, le codage et les agents onchain.</p>
</div>

<div className="venice-agents-cards">
  <a className="venice-api-card" href="/guides/integrations/ai-agents#agent-apps">
    <span className="venice-api-card-name">Applications d'agent</span>
    <p className="venice-api-card-desc">Connectez Venice à WhatsApp, Telegram, Discord et plus via OpenClaw, Hermes et NanoClaw.</p>
    <span className="venice-api-card-action">Voir les intégrations →</span>
  </a>

  <a className="venice-api-card" href="/guides/integrations/ai-agents#coding-agents">
    <span className="venice-api-card-name">Agents de codage</span>
    <p className="venice-api-card-desc">Utilisez Claude Code, Cursor et Codex CLI avec les modèles Venice pour des workflows de codage privés.</p>
    <span className="venice-api-card-action">Voir les intégrations →</span>
  </a>

  <a className="venice-api-card" href="/guides/integrations/ai-agents#tools-and-skills">
    <span className="venice-api-card-name">MCP + Skills</span>
    <p className="venice-api-card-desc">Exposez le chat, l'image, la vidéo, l'audio et les embeddings en tant qu'outils MCP ou skills runtime.</p>
    <span className="venice-api-card-action">Voir les intégrations →</span>
  </a>
</div>

<p className="venice-apis-extras">
  <a className="venice-apis-extras-cta" href="/guides/integrations/ai-agents">Explorez le hub Agents IA →</a>
</p>

<div className="venice-section-header">
  <p className="venice-section-eyebrow">Modèles</p>
  <h2 className="venice-section-title">Modèles populaires</h2>
  <p className="venice-section-subtitle">Quelques-uns des modèles les plus utilisés sur Venice. Utilisez l'ID comme votre paramètre `model`.</p>
</div>

<div className="venice-models-grid">
  <a className="venice-model-card" href="/overview/models">
    <div className="venice-model-card-head">
      <span className="venice-model-card-name">Kimi K2.6</span>
      <span className="venice-model-card-maker">Moonshot AI</span>
    </div>

    <p className="venice-model-card-desc">Raisonnement frontière en open-weights. Solide en contexte long et utilisation d'outils, à une fraction des prix frontière.</p>

    <div className="venice-model-card-stats">
      <span>256K contexte</span>
      <span>\$0.85 / \$4.66 par 1M</span>
      <span className="venice-model-card-privacy">Private</span>
    </div>

    <code className="venice-model-card-id">kimi-k2-6</code>
  </a>

  <a className="venice-model-card" href="/overview/models">
    <div className="venice-model-card-head">
      <span className="venice-model-card-name">Claude Opus 4.7</span>
      <span className="venice-model-card-maker">Anthropic</span>
    </div>

    <p className="venice-model-card-desc">Meilleur de sa catégorie pour le codage, la planification et les agents à long horizon qui doivent rester cohérents.</p>

    <div className="venice-model-card-stats">
      <span>1M contexte</span>
      <span>\$6.00 / \$30.00 par 1M</span>
      <span className="venice-model-card-privacy">Anonymized</span>
    </div>

    <code className="venice-model-card-id">claude-opus-4-7</code>
  </a>

  <a className="venice-model-card" href="/overview/models">
    <div className="venice-model-card-head">
      <span className="venice-model-card-name">GPT-5.5</span>
      <span className="venice-model-card-maker">OpenAI</span>
    </div>

    <p className="venice-model-card-desc">Intelligence générale frontière avec 1M de contexte. Choix par défaut solide pour le chat, le RAG et le raisonnement multi-étapes.</p>

    <div className="venice-model-card-stats">
      <span>1M contexte</span>
      <span>\$6.25 / \$37.50 par 1M</span>
      <span className="venice-model-card-privacy">Anonymized</span>
    </div>

    <code className="venice-model-card-id">openai-gpt-55</code>
  </a>
</div>

<a className="venice-models-cta" href="/overview/models">
  <span className="venice-models-cta-left">
    <span className="venice-models-cta-count">250+ modèles</span>
    <span className="venice-models-cta-sub">Texte, image, audio et vidéo</span>
  </span>

  <span className="venice-models-cta-action">Parcourir le catalogue →</span>
</a>

<div className="venice-section-header">
  <p className="venice-section-eyebrow">Outils</p>
  <h2 className="venice-section-title">Outils intégrés pour les modèles de chat</h2>
  <p className="venice-section-subtitle">Activez la recherche web, attachez des fichiers ou interrogez une blockchain avec `venice_parameters` ou un endpoint natif Venice.</p>
</div>

<CardGroup cols={4}>
  <Card title="Recherche web" icon="globe" />

  <Card title="Web Scraping" icon="browser" />

  <Card title="Entrées de fichiers" icon="file" />

  <Card title="Crypto RPC" icon="link" />
</CardGroup>

<Accordion title="Exemples de code de recherche web">
  Ajoutez une recherche web en temps réel avec citations à n'importe quel modèle de texte via `enable_web_search`.

  <CodeGroup>
    ```bash Curl theme={"system"}
    curl https://api.venice.ai/api/v1/chat/completions \
      -H "Authorization: Bearer $VENICE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "zai-org-glm-5-1",
        "messages": [{"role": "user", "content": "What are the latest developments in AI?"}],
        "venice_parameters": {
          "enable_web_search": "auto"
        }
      }'
    ```

    ```ts TypeScript theme={"system"}
    import OpenAI from "openai";

    const client = new OpenAI({
      apiKey: process.env.VENICE_API_KEY!,
      baseURL: "https://api.venice.ai/api/v1",
    });

    const completion = await client.chat.completions.create({
      model: "zai-org-glm-5-1",
      messages: [{ role: "user", content: "What are the latest developments in AI?" }],
      // @ts-expect-error - Venice-specific parameter
      venice_parameters: {
        enable_web_search: "auto",
      },
    });

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

    ```python Python theme={"system"}
    import os
    from openai import OpenAI

    client = OpenAI(
        api_key=os.environ["VENICE_API_KEY"],
        base_url="https://api.venice.ai/api/v1",
    )

    response = client.chat.completions.create(
        model="zai-org-glm-5-1",
        messages=[{"role": "user", "content": "What are the latest developments in AI?"}],
        extra_body={
            "venice_parameters": {
                "enable_web_search": "auto",
            }
        },
    )

    print(response.choices[0].message.content)
    ```

    ```bash Model Suffix theme={"system"}
    # Alternative : ajoutez les paramètres directement à l'ID du modèle
    curl https://api.venice.ai/api/v1/chat/completions \
      -H "Authorization: Bearer $VENICE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "zai-org-glm-5-1:enable_web_search=on&enable_web_citations=true",
        "messages": [{"role": "user", "content": "What are the latest developments in AI?"}]
      }'
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Exemples de code de Web Scraping">
  Définissez `enable_web_scraping: true` et le modèle récupérera et lira toutes les URL du message utilisateur avant de répondre.

  <CodeGroup>
    ```bash Curl theme={"system"}
    curl https://api.venice.ai/api/v1/chat/completions \
      -H "Authorization: Bearer $VENICE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "openai-gpt-55",
        "messages": [
          {"role": "user", "content": "Summarize this post in five bullets: https://venice.ai/blog/how-to-use-venice-api"}
        ],
        "venice_parameters": {
          "enable_web_scraping": true
        }
      }'
    ```

    ```ts TypeScript theme={"system"}
    import OpenAI from "openai";

    const client = new OpenAI({
      apiKey: process.env.VENICE_API_KEY!,
      baseURL: "https://api.venice.ai/api/v1",
    });

    const response = await client.chat.completions.create({
      model: "openai-gpt-55",
      messages: [
        {
          role: "user",
          content:
            "Summarize this post in five bullets: https://venice.ai/blog/how-to-use-venice-api",
        },
      ],
      // @ts-expect-error - Venice-specific parameter
      venice_parameters: {
        enable_web_scraping: true,
      },
    });

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

    ```python Python theme={"system"}
    import os
    from openai import OpenAI

    client = OpenAI(
        api_key=os.environ["VENICE_API_KEY"],
        base_url="https://api.venice.ai/api/v1",
    )

    response = client.chat.completions.create(
        model="openai-gpt-55",
        messages=[
            {
                "role": "user",
                "content": "Summarize this post in five bullets: https://venice.ai/blog/how-to-use-venice-api",
            }
        ],
        extra_body={
            "venice_parameters": {
                "enable_web_scraping": True,
            }
        },
    )

    print(response.choices[0].message.content)
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Exemples de code pour les entrées de fichiers">
  Attachez des PDF, des documents Office, du code et des fichiers texte (jusqu'à 25 Mo) directement à une requête de chat. Voir le [guide Entrées de fichiers](/guides/features/file-inputs) pour la liste complète des formats.

  <CodeGroup>
    ```bash Curl theme={"system"}
    # Encoder un fichier local en URL de données base64, puis l'envoyer en ligne
    FILE_B64=$(base64 q3-report.pdf | tr -d '\n')

    curl https://api.venice.ai/api/v1/chat/completions \
      -H "Authorization: Bearer $VENICE_API_KEY" \
      -H "Content-Type: application/json" \
      -d "{
        \"model\": \"openai-gpt-55\",
        \"messages\": [
          {
            \"role\": \"user\",
            \"content\": [
              {\"type\": \"text\", \"text\": \"Summarize this report in five bullets and list the main risks.\"},
              {\"type\": \"file\", \"file\": {\"filename\": \"q3-report.pdf\", \"file_data\": \"data:application/pdf;base64,${FILE_B64}\"}}
            ]
          }
        ]
      }"
    ```

    ```ts TypeScript theme={"system"}
    import OpenAI from "openai";
    import { readFile } from "node:fs/promises";

    const client = new OpenAI({
      apiKey: process.env.VENICE_API_KEY!,
      baseURL: "https://api.venice.ai/api/v1",
    });

    const pdf = await readFile("q3-report.pdf");
    const fileData = `data:application/pdf;base64,${pdf.toString("base64")}`;

    const response = await client.chat.completions.create({
      model: "openai-gpt-55",
      messages: [
        {
          role: "user",
          content: [
            { type: "text", text: "Summarize this report in five bullets and list the main risks." },
            // @ts-expect-error - Venice file input block
            { type: "file", file: { filename: "q3-report.pdf", file_data: fileData } },
          ],
        },
      ],
    });

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

    ```python Python theme={"system"}
    import base64
    import os
    from pathlib import Path
    from openai import OpenAI

    client = OpenAI(
        api_key=os.environ["VENICE_API_KEY"],
        base_url="https://api.venice.ai/api/v1",
    )

    path = Path("q3-report.pdf")
    file_data = "data:application/pdf;base64," + base64.b64encode(path.read_bytes()).decode("utf-8")

    response = client.chat.completions.create(
        model="openai-gpt-55",
        messages=[
            {
                "role": "user",
                "content": [
                    {"type": "text", "text": "Summarize this report in five bullets and list the main risks."},
                    {"type": "file", "file": {"filename": "q3-report.pdf", "file_data": file_data}},
                ],
            }
        ],
    )

    print(response.choices[0].message.content)
    ```
  </CodeGroup>
</Accordion>

<Accordion title="Exemples de code pour Crypto RPC">
  Transmettez des appels JSON-RPC 2.0 sur 11 chaînes prises en charge avec votre clé Venice ou un portefeuille x402. Voir la [référence Crypto RPC](/api-reference/endpoint/crypto/rpc) pour les chaînes, méthodes et niveaux de crédit.

  <CodeGroup>
    ```bash Curl theme={"system"}
    curl https://api.venice.ai/api/v1/crypto/rpc/ethereum-mainnet \
      -H "Authorization: Bearer $VENICE_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "jsonrpc": "2.0",
        "method": "eth_blockNumber",
        "params": [],
        "id": 1
      }'
    ```

    ```ts TypeScript theme={"system"}
    const response = await fetch(
      "https://api.venice.ai/api/v1/crypto/rpc/base-mainnet",
      {
        method: "POST",
        headers: {
          Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
          "Content-Type": "application/json",
        },
        body: JSON.stringify([
          { jsonrpc: "2.0", method: "eth_chainId", params: [], id: 1 },
          { jsonrpc: "2.0", method: "eth_blockNumber", params: [], id: 2 },
        ]),
      }
    );

    const results = await response.json();
    console.log(results);
    ```

    ```python Python theme={"system"}
    import os
    import requests

    response = requests.post(
        "https://api.venice.ai/api/v1/crypto/rpc/ethereum-mainnet",
        headers={
            "Authorization": f"Bearer {os.environ['VENICE_API_KEY']}",
            "Content-Type": "application/json",
        },
        json={
            "jsonrpc": "2.0",
            "method": "eth_getBalance",
            "params": ["0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "latest"],
            "id": 1,
        },
    )

    print(response.json())
    ```
  </CodeGroup>
</Accordion>

<div className="venice-pricing">
  <div className="venice-section-header">
    <p className="venice-section-eyebrow">Tarification</p>
    <h2 className="venice-section-title">Rechargez, stakez ou payez par requête</h2>
    <p className="venice-section-subtitle">Approvisionnez un compte avec des crédits, stakez DIEM pour une allocation quotidienne, ou contournez le compte entièrement avec USDC sur Base.</p>
  </div>

  <div className="venice-pricing-grid">
    <div className="venice-pricing-card">
      <div className="venice-pricing-card-head">
        <span className="venice-pricing-card-name">Crédits</span>
        <span className="venice-pricing-card-badge">USD ou Crypto</span>
      </div>

      <p className="venice-pricing-card-desc">Payez à l'usage en USD ou en crypto. Les crédits n'expirent jamais et fonctionnent sur tous les endpoints.</p>
      <a className="venice-pricing-card-cta" href="https://venice.ai/settings/billing">Acheter des crédits</a>
    </div>

    <div className="venice-pricing-card">
      <div className="venice-pricing-card-head">
        <span className="venice-pricing-card-name">DIEM</span>
        <span className="venice-pricing-card-badge">Allocation quotidienne</span>
      </div>

      <p className="venice-pricing-card-desc">Stakez DIEM ou VVV une seule fois et gagnez une allocation d'inférence fixe chaque jour, sans frais par appel.</p>
      <a className="venice-pricing-card-cta" href="https://venice.ai/token">En savoir plus sur DIEM</a>
    </div>

    <div className="venice-pricing-card">
      <div className="venice-pricing-card-head">
        <span className="venice-pricing-card-name">x402</span>
        <span className="venice-pricing-card-badge">USDC sur Base</span>
      </div>

      <p className="venice-pricing-card-desc">Payez par requête depuis n'importe quel portefeuille Base en USDC. Pas de compte ni de clé API, conçu pour les agents.</p>
      <a className="venice-pricing-card-cta" href="/guides/integrations/x402-venice-api">Lire le guide x402</a>
    </div>
  </div>
</div>

Questions ou retours ? Rejoignez-nous sur [Discord](https://discord.gg/askvenice).
