> ## 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

> Documentación de la Venice API — acceso privado y sin restricciones a modelos de chat, imagen, audio y vídeo compatibles con OpenAI tras una sola clave de API.

<div className="venice-hero-copy">
  <p className="venice-hero-tagline">La API para acceso privado y sin restricciones a la inteligencia.</p>
  <p className="venice-hero-subtitle">Chat, imagen, audio y vídeo compatibles con OpenAI tras una única API key.</p>

  <div className="venice-hero-ctas">
    <a className="venice-hero-cta venice-hero-cta-primary" href="https://venice.ai/settings/api">Obtener una API key →</a>
    <a className="venice-hero-cta" href="/overview/getting-started">Empezar</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">Una API para cada modalidad</h2>
  <p className="venice-section-subtitle">Chat, imagen, audio, vídeo y embeddings tras una única API key.</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 con OpenAI con razonamiento, uso de herramientas y streaming en más de 100 modelos de texto.</p>

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

    <span className="venice-api-card-action">Ver referencia →</span>
  </a>

  <a className="venice-api-card" href="/api-reference/endpoint/image/generations">
    <span className="venice-api-card-name">Generación de imágenes</span>
    <p className="venice-api-card-desc">Text-to-image, image-to-image, escalado y eliminación de fondo en modelos fotorrealistas, estilizados y sin censura.</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">Ver referencia →</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">Texto a voz con más de 50 voces multilingües, además de transcripción de voz a texto para cualquier archivo de audio.</p>

    <div className="venice-api-card-chips">
      <span className="venice-api-card-chip">TTS</span>
      <span className="venice-api-card-chip">Transcripción</span>
      <span className="venice-api-card-chip">50+ voces</span>
    </div>

    <span className="venice-api-card-action">Ver referencia →</span>
  </a>

  <a className="venice-api-card" href="/api-reference/endpoint/video/queue">
    <span className="venice-api-card-name">Vídeo</span>
    <p className="venice-api-card-desc">Text-to-video, image-to-video y reference-to-video a través de una cola de trabajos síncrona o asíncrona.</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">Ver referencia →</span>
  </a>
</div>

<p className="venice-apis-extras">
  Además, <a href="/api-reference/endpoint/embeddings/generate">embeddings</a>, <a href="/guides/features/file-inputs">entradas de archivo</a>, <a href="/guides/integrations/venice-mcp">herramientas MCP</a> y <a href="/guides/integrations/x402-venice-api">pagos con monedero</a>. <a className="venice-apis-extras-cta" href="/api-reference">Ver todos los endpoints →</a>
</p>

<div className="venice-section-header">
  <p className="venice-section-eyebrow">Agentes</p>
  <h2 className="venice-section-title">Hecho para agentes de IA</h2>
  <p className="venice-section-subtitle">Inferencia privada, herramientas MCP y flujos de trabajo financiados con monedero para mensajería, programación y agentes 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">Apps de agentes</span>
    <p className="venice-api-card-desc">Conecta Venice a WhatsApp, Telegram, Discord y más mediante OpenClaw, Hermes y NanoClaw.</p>
    <span className="venice-api-card-action">Ver integraciones →</span>
  </a>

  <a className="venice-api-card" href="/guides/integrations/ai-agents#coding-agents">
    <span className="venice-api-card-name">Agentes de programación</span>
    <p className="venice-api-card-desc">Usa Claude Code, Cursor y Codex CLI con modelos de Venice para flujos de trabajo de programación privados.</p>
    <span className="venice-api-card-action">Ver integraciones →</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">Expón chat, imagen, vídeo, audio y embeddings como herramientas MCP o skills en runtime.</p>
    <span className="venice-api-card-action">Ver integraciones →</span>
  </a>
</div>

<p className="venice-apis-extras">
  <a className="venice-apis-extras-cta" href="/guides/integrations/ai-agents">Explorar el hub de agentes de IA →</a>
</p>

<div className="venice-section-header">
  <p className="venice-section-eyebrow">Modelos</p>
  <h2 className="venice-section-title">Modelos populares</h2>
  <p className="venice-section-subtitle">Algunos de los modelos más usados en Venice. Usa el ID como tu parámetro `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">Razonamiento de frontera con pesos abiertos. Sólido contexto largo y uso de herramientas a una fracción de los precios de frontera.</p>

    <div className="venice-model-card-stats">
      <span>Contexto 256K</span>
      <span>\$0.85 / \$4.66 por 1M</span>
      <span className="venice-model-card-privacy">Privado</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">Lo mejor de su clase para programación, planificación y agentes de horizonte largo que necesitan mantenerse coherentes.</p>

    <div className="venice-model-card-stats">
      <span>Contexto 1M</span>
      <span>\$6.00 / \$30.00 por 1M</span>
      <span className="venice-model-card-privacy">Anonimizado</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">Inteligencia general de frontera con contexto de 1M. Opción sólida por defecto para chat, RAG y razonamiento multi-paso.</p>

    <div className="venice-model-card-stats">
      <span>Contexto 1M</span>
      <span>\$6.25 / \$37.50 por 1M</span>
      <span className="venice-model-card-privacy">Anonimizado</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+ modelos</span>
    <span className="venice-models-cta-sub">Texto, imagen, audio y vídeo</span>
  </span>

  <span className="venice-models-cta-action">Explorar el catálogo →</span>
</a>

<div className="venice-section-header">
  <p className="venice-section-eyebrow">Herramientas</p>
  <h2 className="venice-section-title">Herramientas integradas para modelos de chat</h2>
  <p className="venice-section-subtitle">Activa la búsqueda web, adjunta archivos o consulta una blockchain con `venice_parameters` o un endpoint nativo de Venice.</p>
</div>

<CardGroup cols={4}>
  <Card title="Web Search" icon="globe" />

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

  <Card title="File Inputs" icon="file" />

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

<Accordion title="Ejemplos de código de Web Search">
  Añade búsqueda web en tiempo real con citas a cualquier modelo de texto mediante `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"}
    # Alternativa: añade parámetros directamente al ID del modelo
    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="Ejemplos de código de Web Scraping">
  Establece `enable_web_scraping: true` y el modelo obtendrá y leerá cualquier URL del mensaje del usuario antes de responder.

  <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="Ejemplos de código de File Inputs">
  Adjunta PDFs, documentos de Office, código y archivos de texto (hasta 25 MB) directamente en una solicitud de chat. Consulta la [guía de entradas de archivo](/guides/features/file-inputs) para la lista completa de formatos.

  <CodeGroup>
    ```bash Curl theme={"system"}
    # Codifica un archivo local como una URL de datos base64 y envíalo en línea
    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="Ejemplos de código de Crypto RPC">
  Enruta llamadas JSON-RPC 2.0 en 11 cadenas compatibles con tu API key de Venice o un monedero x402. Consulta la [referencia de Crypto RPC](/api-reference/endpoint/crypto/rpc) para cadenas, métodos y niveles de créditos.

  <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">Precios</p>
    <h2 className="venice-section-title">Recarga, haz staking o paga por solicitud</h2>
    <p className="venice-section-subtitle">Financia una cuenta con créditos, haz staking de DIEM para obtener una asignación diaria o sáltate la cuenta por completo con USDC en 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éditos</span>
        <span className="venice-pricing-card-badge">USD o cripto</span>
      </div>

      <p className="venice-pricing-card-desc">Pago por uso en USD o cripto. Los créditos no caducan y funcionan en todos los endpoints.</p>
      <a className="venice-pricing-card-cta" href="https://venice.ai/settings/billing">Comprar créditos</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">Asignación diaria</span>
      </div>

      <p className="venice-pricing-card-desc">Haz staking de DIEM o VVV una vez y obtén una asignación fija de inferencia cada día, sin cargos por llamada.</p>
      <a className="venice-pricing-card-cta" href="https://venice.ai/token">Conoce más sobre 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 en Base</span>
      </div>

      <p className="venice-pricing-card-desc">Paga por solicitud desde cualquier monedero de Base en USDC. Sin cuenta ni API key, hecho para agentes.</p>
      <a className="venice-pricing-card-cta" href="/guides/integrations/x402-venice-api">Leer guía de x402</a>
    </div>
  </div>
</div>

¿Preguntas o comentarios? Únete a nosotros en [Discord](https://discord.gg/askvenice).
