Apigator by MixerBox

Documentación

Referencia de la API

Apigator es compatible con OpenAI. Apunta cualquier SDK de OpenAI a la base URL, usa tu clave de Apigator y llama a cientos de modelos (chat, imagen, audio, embeddings, decisiones) a través de un solo endpoint.

¿Buscas recetas para tareas e integraciones con herramientas (LangChain, Vercel AI SDK, Cursor, Cline)? Consulta el Cookbook.

Inicio rápido gratis

Sin tarjeta: los modelos gratuitos funcionan con una clave recién creada.

Obtén una clave en el Panel y haz tu primera llamada de inmediato con un modelo gratuito: cuesta $0, así que no necesitas recargar. Cada cuenta nueva también empieza con un crédito de $0.042 (≈ 1 M de tokens del modelo de decisión Jev). Los modelos de pago se desbloquean cuando agregas saldo.

curl https://api.apigator.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"free/nemotron-nano-30b","messages":[{"role":"user","content":"Hello from Apigator!"}]}'
from openai import OpenAI

client = OpenAI(base_url="https://api.apigator.ai/v1", api_key="sk-YOUR_KEY")

resp = client.chat.completions.create(
    model="free/nemotron-nano-30b",  # free — no balance needed
    messages=[{"role": "user", "content": "Hello from Apigator!"}],
)
print(resp.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.apigator.ai/v1", apiKey: "sk-YOUR_KEY" });

const r = await client.chat.completions.create({
  model: "free/nemotron-nano-30b", // free — no balance needed
  messages: [{ role: "user", content: "Hello from Apigator!" }],
});
console.log(r.choices[0].message.content);
free/nemotron-nano-30bfree/nemotron-super-120bfree/gemma-4-31b

Inicio rápido

Cambia la base URL: esa es toda la integración. Elige tu lenguaje:

curl https://api.apigator.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"gpt-4o","messages":[{"role":"user","content":"Hello!"}]}'
from openai import OpenAI

client = OpenAI(base_url="https://api.apigator.ai/v1", api_key="sk-...")

resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)
import OpenAI from "openai";

const client = new OpenAI({ baseURL: "https://api.apigator.ai/v1", apiKey: "sk-..." });

const r = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(r.choices[0].message.content);

Base URL https://api.apigator.ai/v1 · Autenticación Authorization: Bearer sk-YOUR_KEY (obtén una clave en el Panel).

Endpoints por modalidad

No todo es chat. Cada modelo en /models indica el endpoint que usa; elige el correcto. Misma base URL, misma clave.

Modalidad Endpoint Ejemplo de ID de modelo
Chat POST /v1/chat/completions gpt-4o
Generación de imágenes POST /v1/images/generations openai/gpt-image-1, fal_ai/fal-ai/flux/schnell
Texto a voz POST /v1/audio/speech elevenlabs-tts
Voz a texto POST /v1/audio/transcriptions groq/whisper-large-v3
Embeddings POST /v1/embeddings openai/text-embedding-3-small
Generación de video (asíncrona) POST /v1/videos gemini/veo-3.1-fast-generate-preview
Decisión (Jev) POST /typesafe/v1/systemone jev-latest

Ejemplos

Los ejemplos en Python asumen el client de Inicio rápido.

Generación de imágenes

curl https://api.apigator.ai/v1/images/generations \
  -H "Authorization: Bearer sk-..." \
  -d '{"model":"openai/gpt-image-1","prompt":"a red crocodile mascot","n":1}'
client.images.generate(model="openai/gpt-image-1", prompt="a red crocodile mascot", n=1)
const img = await client.images.generate({
  model: "openai/gpt-image-1",
  prompt: "a red crocodile mascot",
  n: 1,
});

Embeddings

curl https://api.apigator.ai/v1/embeddings \
  -H "Authorization: Bearer sk-..." \
  -d '{"model":"openai/text-embedding-3-small","input":"hello world"}'
client.embeddings.create(model="openai/text-embedding-3-small", input="hello world")
const e = await client.embeddings.create({
  model: "openai/text-embedding-3-small",
  input: "hello world",
});

Texto a voz

curl https://api.apigator.ai/v1/audio/speech \
  -H "Authorization: Bearer sk-..." \
  -d '{"model":"elevenlabs-tts","input":"Hello","voice":"21m00Tcm4TlvDq8ikWAM"}' \
  --output speech.mp3
with client.audio.speech.with_streaming_response.create(
    model="elevenlabs-tts", voice="21m00Tcm4TlvDq8ikWAM", input="Hello",
) as r:
    r.stream_to_file("speech.mp3")
import fs from "fs";
const mp3 = await client.audio.speech.create({
  model: "elevenlabs-tts", voice: "21m00Tcm4TlvDq8ikWAM", input: "Hello",
});
fs.writeFileSync("speech.mp3", Buffer.from(await mp3.arrayBuffer()));

voice debe ser un ID de voz de ElevenLabs, no un nombre. Guía completa de audio: /audio.md.

Modelo de decisión (TypeSafe Jev)

curl https://api.apigator.ai/typesafe/v1/systemone \
  -H "Authorization: Bearer sk-..." \
  -H "Content-Type: application/json" \
  -d '{"model":"jev-latest","state":"Help! My payouts have been failing for 3 days.",
       "questions":{"is_urgent":{"type":"noul","instructions":"Does this convey urgency?"},
                    "department":{"type":"choice","instructions":"Which team should handle this?",
                                  "criteria":{"billing":"Payments","technical":"Bugs","sales":"Pricing"}}}}'
# -> {"answers":{"is_urgent":{"type":"noul","noul":0.95},
#     "department":{"type":"choice","choice":"billing","probabilities":{...},"confidence":0.81}}, ...}
import requests

r = requests.post(
    "https://api.apigator.ai/typesafe/v1/systemone",
    headers={"Authorization": "Bearer sk-..."},
    json={"model": "jev-latest",
          "state": "Help! My payouts have been failing for 3 days.",
          "questions": {"is_urgent": {"type": "noul", "instructions": "Does this convey urgency?"}}},
)
print(r.json()["answers"]["is_urgent"]["noul"])  # 0.95 = P(yes)
const r = await fetch("https://api.apigator.ai/typesafe/v1/systemone", {
  method: "POST",
  headers: { Authorization: "Bearer sk-...", "Content-Type": "application/json" },
  body: JSON.stringify({
    model: "jev-latest",
    state: "Help! My payouts have been failing for 3 days.",
    questions: { is_urgent: { type: "noul", instructions: "Does this convey urgency?" } },
  }),
});
console.log((await r.json()).answers.is_urgent.noul); // 0.95 = P(yes)

Parámetros compatibles con OpenAI

Seguimos la especificación de OpenAI Chat Completions. Verificado en la familia GPT-5 (sep. 2026):

La Responses API también está disponible en POST https://api.apigator.ai/v1/responses para todos los modelos, en el formato Responses de OpenAI. Los modelos GPT-5 y GPT-6 aceptan function tools directamente en chat/completions: el gateway hace el puente con la Responses API por ti; si algún modelo rechaza tools en chat/completions, envía las mismas tools a /v1/responses.

Modelos y Claude

Explora todos los modelos disponibles (con precios y el endpoint que usa cada uno) en apigator.ai/models, o llama a GET https://api.apigator.ai/v1/models. Todo excepto Claude está abierto para cualquier clave de forma predeterminada; Claude requiere estar en una lista de acceso y funciona en un endpoint independiente compatible con Anthropic; consulta Claude Code CLI.

Para agentes de IA

¿Configurando un cliente para tu usuario? Descarga estos archivos markdown sin formato y síguelos al pie de la letra.

Errores