Inicio rápido: Primera solicitud
Empieza apuntando tu cliente a nuestra URL base. Usa https://api.grockapi.com/v1 y configurar tu clave de API en el encabezado. El identificador del modelo es siempre uncensored. Esto funciona con cualquier SDK compatible con OpenAI.
La autenticación requiere un token Bearer válido. Pásalo como Authorization: Bearer YOUR_API_KEY. Si la clave falta o no es válida, recibes un error 401 inmediatamente.
Realiza tu primera llamada para probar la conectividad. El cuerpo de la solicitud debe incluir el nombre del modelo y un array de mensajes.
Parámetros y modos compatibles
Configura el comportamiento de generación usando parámetros estándar. Puedes ajustar la temperatura para la creatividad o top_p para el muestreo de núcleo. Usa el parámetro stop para definir secuencias específicas que detengan la generación.
Establece seed para salidas deterministas durante la depuración. Las penalizaciones de presencia y frecuencia ayudan a reducir la repetición. El modelo admite hasta 100,000 tokens en la ventana de contexto.
La salida máxima suele ser de 16.000 tokens por solicitud. Deja max_tokens sin establecer para usar el límite de salida predeterminado de 2.048. Los errores y las denegaciones no consumen crédito.
Streaming y Uso de Tokens
Habilita la transmisión estableciendo stream: true. La API devuelve fragmentos mediante Server-Sent Events (SSE). Cada fragmento contiene contenido parcial y metadatos.
Los detalles de uso de tokens aparecen en el último fragmento. Esto te permite rastrear los costos con precisión en tiempo real. El último fragmento incluye las estadísticas completas de uso para la solicitud.
Maneja el cierre del flujo correctamente para evitar fugas de recursos. Procesa siempre el último fragmento para obtener datos de facturación precisos.
Llamada de funciones (Herramientas)
Define las herramientas en el cuerpo de la solicitud. Especifica los nombres de las herramientas, sus descripciones y los esquemas de parámetros. El modelo responde con llamadas a herramientas cuando corresponde.
Utiliza el parámetro tool_choice para forzar o permitir comportamientos específicos. Puedes establecerlo en auto, required o IDs de herramientas específicas.
Procesa llamadas a herramientas en la lógica de tu aplicación. Envía la salida de la herramienta de vuelta al modelo para continuar la conversación. Esto permite flujos de trabajo complejos de múltiples pasos sin análisis externo.
Modo JSON y restricciones
Fuerza una salida estructurada estableciendo response_format a json_object. El modelo devolverá JSON sin bloques de código markdown.
Este modo es ideal para analizar datos en aplicaciones. Asegúrate de que tu esquema sea claro para mejorar la precisión. Las estructuras JSON inválidas pueden causar errores de análisis en tu cliente.
Combina el modo JSON con controles de temperatura para un formato consistente. Usa secuencias de parada para evitar caracteres finales después de la llave de cierre.
Límites de velocidad y cuotas
Cada clave de API está limitada a 300 solicitudes por minuto. Puedes ejecutar hasta 8 solicitudes concurrentes simultáneamente. El tamaño máximo del cuerpo de la solicitud es de 8 MB.
Un error 429 indica que has excedido el límite de velocidad. Espera antes de reintentar o reduce tu concurrencia. Existe una clave activa por cuenta; generar una nueva clave reemplaza a la antigua.
Monitorea tu uso a través del último fragmento de transmisión o los encabezados de respuesta. Los errores como 402 (sin crédito) o 401 (clave inválida) son gratuitos y no se descuentan de tu cuota.
cURL
curl https://api.grockapi.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "calculate the sum of two and three"}]
}'Python
from openai import OpenAI
client = OpenAI(base_url="https://api.grockapi.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)Node.js
import OpenAI from "openai";
const client = new OpenAI({ baseURL: "https://api.grockapi.com/v1", apiKey: process.env.API_KEY });
const resp = await client.chat.completions.create({
model: "uncensored",
messages: [{ role: "user", content: "Draft a villain monologue for my game." }],
});
console.log(resp.choices[0].message.content);Transmisión
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Tell the story in second person."}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)