Пример режима Grok Unhinged: промпты и вызовы API
Ищете пример режима Grok Unhinged? Ниже приведены пять рабочих запросов, воспроизводящих свободный, прямой стиль без лекций на модели без цензуры, с точным кодом и ожидаемым результатом для каждого.

Ключевые моменты
- Стиль Unhinged задаётся системным промптом; сама модель не отказывает в законных запросах от взрослых.
- Пять примеров охватывают персону, прозу, JSON-режим, вызов инструментов и потоковую передачу.
- Выводы различаются при разных запусках, поэтому фиксируйте seed при сравнении промптов.
- Один запуск с 400 входными и 600 выходными токенами стоит $0.00036.
Что означает метка «unhinged» и в чём отличие
«Unhinged» стало прозвищем стиля общения в продукте xAI Grok: дерзкий, саркастичный, готовый ругаться, не любящий читать лекции перед ответом. Если вам нужен пример режима Grok Unhinged для вашего приложения, полезный вопрос — какие части этого стиля можно воспроизвести через API.
Практически всё, потому что стиль — это в основном инструкция. Этот сайт использует одну модель с открытыми весами, размещённую независимым провайдером и настроенную на ответы без отказов из-за контента для законного использования взрослыми. Это не API Grok и не связан с xAI. Вы получаете отсутствие отказов и свободу задавать тон самостоятельно через системное сообщение.
Примечание о честности: примеры ниже показывают запросы точно так, как вы их отправите, и описывают ожидаемый тип ответа. Сгенерированный текст различается при каждом запуске, поэтому я не привожу один образец как типичный. Запустите каждый с вашим ключом и прочитайте результат. Пробный кредит покрывает это.
Каждый пример использует ту же настройку из трёх элементов: базовый URL https://api.unhingedgrok.com/v1, ключ для Bearer-аутентификации в заголовке Authorization и идентификатор модели uncensored. Если вы можете отправить один из них, вы можете отправить все пять, и любой клиент, совместимый с OpenAI, примет те же значения. Выберите язык, в котором вы уже работаете, и пропустите остальные.
Пример 1: резкая роль рецензента
Самый простой тест — системный промпт, меняющий манеру ответа, и ничего больше. Запрос просит обратной связи по функции, а персоне велено говорить прямо, а не грубить ради грубости.
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)"}
]
}'Ожидайте короткий ответ с собственным мнением, указывающий на деление на пустой список и, вероятно, жалующийся на отсутствие аннотаций типов. Без системного сообщения тот же вопрос обычно возвращает сбалансированный, дружелюбный отзыв. Этот разрыв между двумя ответами и есть весь «режим».
Пример 2: сцена мрачной прозы
Именно здесь отказы на других сервисах мешают больше всего. Писателю триллеров нужен зловещий антагонист, и сцена с угрозой должна читаться как угроза. Держите фокус на взрослых персонажах и законной художественной прозе.
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)На что обратить внимание: напряжение создаётся диалогом и деталями, в конце нет абзаца, объясняющего, что запугивание — это плохо, и финал уважает ваши требования. Если голос слишком плоский, немного повысьте температуру. Если текст повторяет фразы, увеличьте frequency_penalty. Задав seed, вы сможете запустить снова тот же запрос и сравнить результаты после редактирования одной строки промпта.
Пример 3: JSON-режим для персонажей и игровых данных
Меньше фильтров не означает меньше структуры. JSON-режим работает с той же моделью, что удобно для генерации NPC, сюжетных крючков или деревьев диалогов, которые игровой код может распарсить.
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."}
]
}'Упомяните слово JSON и ключи в промпте, как выше; это надёжный способ получить нужную структуру. Всё равно парсите результат внутри блока try. Обрезанный ответ — обычная причина ошибки парсинга, поэтому проверяйте finish_reason перед тем, как винить модель.
Пример 4: вызов инструментов для мастера игр
Рассказчика в ролевой игре, который придумывает результаты кубиков, легко поймать на обмане. Дайте ему инструмент и позвольте вашему коду бросать кубики. Вызов инструментов следует формату OpenAI: tools, tool_choice, и результаты возвращаются как сообщения с ролью 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)В продакшене проверяйте наличие tool_calls перед индексацией. Модель может решить, что взлом замка не требует броска, особенно при низкой температуре.
Пример 5: потоковая передача ответа по мере написания
Чат-приложения воспринимаются лучше, когда текст появляется слово за словом. Установите stream в true и считывайте фрагменты SSE; информация об использовании приходит в конце.
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 ?? "");
}Потоковый запрос удерживает слот параллелизма до конца потока. На пробном ключе с 2 параллельными запросами два открытых потока означают, что третий вызов вернёт 429 с кодом concurrency. Закрывайте потоки, которые вы больше не читаете.
Настройка тона когда основы заработали
После первого запуска большинство усилий уходит на мелкие корректировки. Те же пять запросов можно направить в очень разных направлениях, не меняя модель или эндпоинт.
Запустите A/B-тест системного сообщения
Отправьте одно пользовательское сообщение дважды с тем же seed, один раз без системного сообщения и один раз с вашей персоной. Поскольку seed зафиксирован, разница между двумя ответами вызвана системным сообщением, а не случайностью сэмплирования. Делайте это перед написанием длинного промпта и после каждого редактирования. Если предложение в промпте не меняет вывод, удалите его и сэкономьте входные токены.
Описывайте отношение, а не метку
Слово «unhinged» говорит модели очень мало. Строка вроде «сначала ответь на вопрос, а затем добавь одно честное, слегка грубоватое наблюдение» даёт ей что-то для выполнения. То же самое относится к сарказму: назовите объект (план, код, ситуацию), чтобы шутки били в цель, а не в пользователя.
Держите обычный режим рядом со свободным
Большинству приложений нужны оба. Чат-функция может хотеть дерзкого голоса, а часть, пишущая сводки заказов или сообщения об ошибках, требует нейтрального тона. Держите два системных промпта в коде и выбирайте один для каждого вызова. Идентификатор модели и эндпоинт остаются теми же, поэтому переключение ничего не стоит.
Следите за длиной
Раскованные персоны болтливы. Укажите диапазон слов в промпте, например «менее 150 слов», и вы увидите более короткие, ёмкие ответы и меньший счёт за вывод. Токены вывода стоят дороже токенов ввода: $0,50 за 1 млн против $0,15, поэтому сокращение ответов — самый дешёвый способ экономии.
Дешёвый запуск примеров и ограничения
Каждый пример небольшой. Предположим, один запуск отправляет 400 входных токенов и получает 600 на выходе. Входные данные стоят 400 x $0,15 / 1 000 000 = $0,00006, выходные данные стоят 600 x $0,50 / 1 000 000 = $0,0003, значит, запуск стоит $0,00036. Пробного кредита $0,50 хватит более чем на тысячу таких запусков, хотя настоящим ограничением являются 7-дневный срок и лимит параллельных запросов — 2. Полные детали на странице с ценами.
Чтобы начать, создайте свой ключ и следуйте быстрому старту для настройки клиента. Оплата крупных пополнений доступна только криптовалютой: USDT в сети TRC20 или USDC в сети Base.
К каждому примеру применяются два ограничения. Модель работает только с текстом, поэтому изображения, аудио или эмбеддинги не поддерживаются. Сексуальный контент с участием несовершеннолетних никогда не разрешён. Всё остальное здесь касается взрослой художественной литературы и законного использования, и именно здесь модель без отказов показывает свою ценность.
Дополнительные руководства
Вопросы и ответы
Это тот же режим Unhinged, что и в Grok?
Нет. Grok — продукт xAI. Это независимый API, предоставляющий одну модель с открытыми весами; стиль воспроизводится системным промптом.
Получу ли я такой же вывод, как в примерах?
Два запуска не совпадают, если не задать seed. Относитесь к каждому примеру как к запросу, запустите его самостоятельно, а затем оцените ответ.
Может ли модель отказать в запросе?
Модель настроена на ответы без отказов по содержанию для законного использования взрослыми. Неудавшиеся или отклонённые запросы не тарифицируются.
Какой клиент использовать для тестирования?
Любой OpenAI-совместимый: OpenAI Python или Node SDK, curl, SillyTavern или Open WebUI. Укажите базовый URL, ключ и ID модели uncensored.
Ваш ключ — в одной форме от вас
Создайте аккаунт, скопируйте ключ, измените базовый URL. Это вся настройка.