ES ▾

unhingedgrok.com2026

API sin censura. Compatible con OpenAI. Cero rechazos.

unhingedgrok.comObtener clave de API

Ejemplo del modo desatado de Grok: prompts y llamadas a la API

¿Buscas un ejemplo del modo desatado de Grok? A continuación hay cinco peticiones ejecutables que reproducen el estilo suelto, directo y sin lecciones en un modelo sin censura, con el código exacto y lo que puedes esperar de cada uno.

Cinco paneles flotantes conectados a un terminal, representando los cinco ejemplos de API en el artículo

Actualizado

Puntos clave

  • El estilo desatado proviene del prompt del sistema; el modelo en sí no rechaza peticiones adultas lícitas.
  • Cinco ejemplos cubren personalidad, ficción, modo JSON, llamadas a funciones y streaming.
  • Las salidas varían entre ejecuciones, así que fija una semilla cuando compares prompts.
  • Una ejecución de ejemplo con 400 tokens de entrada y 600 de salida cuesta $0.00036.

Qué significa la etiqueta "desatado" y en qué se diferencia

"Desatado" se convirtió en un apodo para un estilo de conversación en el producto de chat Grok de xAI: irreverente, sarcástico, propenso a jurar, reacio a dar una lección antes de una respuesta. Si quieres un ejemplo de modo desatado de grok para tu propia aplicación, la pregunta útil es qué partes de ese estilo puedes reproducir a través de una API.

Todo, en la práctica, porque el estilo es principalmente instrucción. Este sitio ejecuta un modelo de pesos abiertos, alojado por un proveedor independiente y optimizado para responder sin negativas de contenido para uso adulto lícito. No es la API de Grok ni está afiliada a xAI. Lo que obtienes es la ausencia de negativas más la libertad de establecer el tono tú mismo con un mensaje del sistema.

Una nota sobre la honestidad: los ejemplos a continuación muestran las peticiones exactamente como las enviarías y describen el tipo de respuesta que puedes esperar. El texto generado varía en cada ejecución, así que no pego una sola muestra y la llamo típica. Ejecuta cada una con tu propia clave y lee el resultado. El crédito de prueba lo cubre.

Cada ejemplo utiliza las mismas tres piezas de configuración: la URL base https://api.unhingedgrok.com/v1, una clave Bearer en el encabezado Authorization y el ID del modelo uncensored. Si puedes enviar una de ellas, puedes enviar las cinco, y cualquier cliente compatible con OpenAI aceptará los mismos valores. Elige el lenguaje en el que ya trabajas y omite los demás.

Ejemplo 1: un rol de revisor directo

La prueba más simple es un prompt del sistema que cambia la actitud, nada más. La petición pide retroalimentación sobre una función, y se le dice a la personalidad que sea directa en lugar de ser grosera por sí misma.

curl https://api.unhingedgrok.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "temperature": 0.9,
    "messages": [
      {"role": "system", "content": "You are a grumpy senior engineer. Say what is wrong in plain words, no compliments, no hedging, at most 120 words."},
      {"role": "user", "content": "Review: def avg(xs): return sum(xs)/len(xs)"}
    ]
  }'

Espera una respuesta corta y con opiniones que señale la división por lista vacía y probablemente se queje de las anotaciones de tipo faltantes. Sin el mensaje del sistema, la misma pregunta suele devolver una reseña equilibrada y amigable. Esa brecha entre las dos respuestas es todo el "modo".

Ejemplo 2: una escena de ficción oscura

Aquí es donde los rechazos duelen más en otros servicios. Un escritor de thrillers necesita un antagonista amenazante, y una escena con una amenaza debe leerse como una amenaza. Manténlo sobre personajes adultos y ficción lícita.

from openai import OpenAI

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

resp = client.chat.completions.create(
    model="uncensored",
    temperature=0.95,
    frequency_penalty=0.4,
    seed=42,
    messages=[
        {"role": "system", "content": "You write adult crime fiction in a cold, precise voice. No disclaimers, no moralising. All characters are adults."},
        {"role": "user", "content": "Scene: a loan shark visits a bakery owner who is three weeks late. Under 300 words, ending on the owner's decision."},
    ],
)
print(resp.choices[0].message.content)

Qué buscar: tensión transmitida por el diálogo y el detalle, sin párrafo al final explicando que la intimidación es incorrecta, y un final que respete tu breve. Si la voz es demasiado plana, sube la temperatura un incremento. Si repite frases, sube frequency_penalty. Configurar seed te permite volver a ejecutar la misma petición y comparar después de editar una línea del prompt.

Ejemplo 3: modo JSON para personajes y datos de juego

Menos filtrado no significa menos estructurado. El modo JSON funciona con el mismo modelo, lo que lo hace útil para generar NPCs, ganchos de misiones o árboles de diálogo que tu código de juego pueda analizar.

curl https://api.unhingedgrok.com/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "uncensored",
    "response_format": {"type": "json_object"},
    "messages": [
      {"role": "system", "content": "Return only JSON with keys name, age, secret, catchphrase. Characters are adults."},
      {"role": "user", "content": "Create a corrupt harbour inspector for a noir game."}
    ]
  }'

Menciona la palabra JSON y las claves en el prompt, como arriba; esa es la forma fiable de obtener la forma que deseas. Analiza el resultado dentro de un bloque try de todos modos. Una respuesta truncada es la causa habitual de un error de análisis, así que verifica finish_reason antes de culpar al modelo.

Ejemplo 4: llamadas a funciones para un maestro de juego

Un narrador de rol que inventa resultados de dados es fácil de atrapar engañando. Dale una herramienta y deja que tu código tire. Las llamadas a herramientas siguen el formato de OpenAI: tools, tool_choice, y los resultados devueltos como mensajes con role tool.

import json, random
from openai import OpenAI

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

tools = [{
    "type": "function",
    "function": {
        "name": "roll_dice",
        "description": "Roll a die with the given number of sides",
        "parameters": {
            "type": "object",
            "properties": {"sides": {"type": "integer"}},
            "required": ["sides"],
        },
    },
}]

messages = [
    {"role": "system", "content": "You are a ruthless game master. Use roll_dice for any risky action and narrate the result."},
    {"role": "user", "content": "I try to pick the lock on the warlord's strongbox."},
]

first = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
call = first.choices[0].message.tool_calls[0]
sides = json.loads(call.function.arguments)["sides"]

messages.append(first.choices[0].message)
messages.append({"role": "tool", "tool_call_id": call.id, "content": str(random.randint(1, sides))})

final = client.chat.completions.create(model="uncensored", messages=messages, tools=tools)
print(final.choices[0].message.content)

En producción, verifica que tool_calls esté presente antes de indexarlo. El modelo puede decidir que abrir una cerradura no necesita tirar dados, especialmente a una temperatura baja.

Ejemplo 5: streaming de una respuesta a medida que se escribe

Las aplicaciones de chat se sienten mejor cuando el texto aparece palabra por palabra. Configura stream en true y lee los fragmentos SSE; el uso llega al final.

import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.unhingedgrok.com/v1",
  apiKey: process.env.API_KEY,
});

const stream = await client.chat.completions.create({
  model: "uncensored",
  stream: true,
  messages: [
    { role: "system", content: "You are a deadpan late-night host. Two paragraphs, dry humour." },
    { role: "user", content: "Roast my plan to rewrite the whole app over a weekend." },
  ],
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

Una petición en streaming ocupa su slot de concurrencia hasta que finaliza. Con una clave de prueba que permite 2 peticiones concurrentes, dos streams abiertos hacen que una tercera llamada devuelva 429 con el código concurrency. Cierra los streams que ya no lees.

Ajustar el tono una vez que funcionan los básicos

Después de la primera ejecución, la mayor parte del esfuerzo va en pequeños ajustes. Las mismas cinco peticiones pueden empujarse en direcciones muy diferentes sin cambiar el modelo o el endpoint.

Ejecuta una prueba A/B en el mensaje del sistema

Envía un mensaje de usuario dos veces con el mismo seed, una vez sin mensaje del sistema y otra con tu persona. Debido a que la semilla es fija, la diferencia entre las dos respuestas proviene del mensaje del sistema y no del azar del muestreo. Haz esto antes de escribir un prompt largo y de nuevo después de cada edición. Si una oración en tu prompt no cambia la salida, elimínala y ahorra tokens de entrada.

Describe la actitud, no la etiqueta

La palabra "desatado" le dice muy poco al modelo. Una línea como "respondes la pregunta primero, luego agregas una observación honesta y ligeramente grosera" le da algo que ejecutar. Lo mismo aplica para el sarcasmo: nombra el objetivo (el plan, el código, la situación) para que los chistes aterricen en algo distinto al usuario.

Mantén un modo normal junto al modo relajado

La mayoría de las aplicaciones necesitan ambos. Una función de chat puede querer la voz irreverente, mientras que la parte que escribe resúmenes de pedidos o mensajes de error necesita un tono neutral. Mantén dos mensajes del sistema en tu código y elige uno por llamada. El ID del modelo y el endpoint permanecen iguales, así que cambiar no cuesta nada.

Vigila la longitud

Las personas con estilo suelto divagan. Establece un rango de palabras en el prompt, como "menos de 150 palabras", y verás respuestas más cortas y contundentes y una factura de salida menor. Los tokens de salida cuestan más que los de entrada a $0.50 por 1M frente a $0.15, por lo que recortar respuestas es el ahorro más barato disponible.

Ejecutar los ejemplos a bajo costo y qué queda fuera

Cada ejemplo es pequeño. Supongamos que una ejecución envía 400 tokens de entrada y recibe 600. La entrada cuesta 400 x $0.15 / 1,000,000 = $0.00006, la salida cuesta 600 x $0.50 / 1,000,000 = $0.0003, por lo que la ejecución cuesta $0.00036. El crédito de prueba de $0.50 cubre bien más de mil de estas ejecuciones, aunque la ventana de 7 días y el límite de concurrencia de 2 peticiones son los límites reales. Los detalles completos están en la página de precios.

Para comenzar, crea tu clave y sigue la guía de inicio rápido para la configuración del cliente. El pago para recargas más grandes es solo cripto, USDT en TRC20 o USDC en Base.

Dos límites se aplican a cada ejemplo. El modelo es solo de texto, así que no hay imágenes, audio ni embeddings. Y el contenido sexual que involucre a menores de edad nunca está permitido. Todo lo demás aquí se trata de ficción para adultos y uso lícito, y ahí es donde un modelo sin rechazos gana su valor.

Preguntas y respuestas

¿Es esto lo mismo que el modo desatado de Grok?

No. Grok es un producto de xAI. Esta es una API independiente que sirve un modelo de pesos abiertos; recreas el estilo con un prompt del sistema.

¿Obtendré la misma salida que en tus ejemplos?

No dos ejecuciones coinciden a menos que fijes la semilla. Trata cada ejemplo como una petición para ejecutarlo tú mismo y luego juzga la respuesta.

¿Puede el modelo rechazar una petición?

Está ajustado para responder sin rechazos de contenido para uso adulto lícito. Las peticiones fallidas o rechazadas no se cobran.

¿Qué cliente debo usar para probar?

Cualquier cosa compatible con OpenAI: el SDK de Python o Node.js de OpenAI, curl, SillyTavern o Open WebUI. Configura la URL base, la clave y el ID del modelo uncensored.

Tu clave está a un formulario de distancia

Crea una cuenta, copia la clave, cambia la URL base. Esa es toda la configuración.

Obtener clave de API