DE ▾

unhingedgrok.com2026

Unzensierte API. OpenAI-kompatibel. Keine Ablehnungen.

unhingedgrok.comAPI-Schlüssel erhalten

Beispiel für den Unhinged-Modus von Grok: Prompts und API-Aufrufe

Suchst du nach einem Beispiel für den Unhinged-Modus von Grok? Unten findest du fünf ausführbare Anfragen, die den lockeren, direkten Stil ohne lange Erklärungen auf einem unzensierten Modell reproduzieren, mit dem genauen Code und den Erwartungen an jede einzelne.

Fünf schwebende Panels, die mit einem Terminal verbunden sind, repräsentieren die fünf API-Beispiele im Artikel

Aktualisiert

Wichtige Punkte

  • Der Unhinged-Stil stammt aus dem System-Prompt; das Modell selbst lehnt gesetzmäßige Erwachsenenanfragen nicht ab.
  • Fünf Beispiele decken Persona, Fiktion, JSON-Modus, Tool Calling und Streaming ab.
  • Die Ausgaben variieren zwischen den Durchläufen, also fixiere einen Seed, wenn du Prompts vergleichst.
  • Ein einzelner Durchlauf mit 400 Input-Token und 600 Output-Token kostet $0.00036.

Was das "unhinged"-Label bedeutet, und wie sich dies unterscheidet

„Unhinged“ wurde zu einem Spitznamen für einen Gesprächsstil im Chat-Produkt Grok von xAI: respektlos, sarkastisch, schnell mit Schimpfwörtern, unwillig, vor einer Antwort eine Vorlesung zu halten. Wenn du ein Beispiel für den Unhinged-Modus von Grok für deine eigene App suchst, ist die nützliche Frage, welche Teile dieses Stils du über eine API reproduzieren kannst.

Alles davon ist in der Praxis möglich, da Stil meist Anweisung ist. Diese Seite betreibt ein Open-Weight-Modell, gehostet von einem unabhängigen Anbieter und darauf abgestimmt, bei gesetzlicher Erwachsenennutzung ohne Inhaltsfilter zu antworten. Es ist nicht die Grok-API und nicht mit xAI verbunden. Was du erhältst, ist das Fehlen von Ablehnungen plus die Freiheit, den Ton selbst mit einer System-Nachricht festzulegen.

Ein Hinweis zur Ehrlichkeit: Die folgenden Beispiele zeigen die Anfragen genau so, wie du sie senden würdest, und beschreiben die Art der erwarteten Antwort. Generierter Text unterscheidet sich bei jedem Durchlauf, daher füge ich kein einzelnes Beispiel ein und nenne es typisch. Führe jedes Beispiel mit deinem eigenen Schlüssel aus und lies das Ergebnis. Das Testguthaben deckt dies ab.

Jedes Beispiel verwendet dieselbe dreiteilige Einrichtung: die Base-URL https://api.unhingedgrok.com/v1, einen Bearer-Token im Authorization-Header und die Modell-ID uncensored. Wenn du eine davon senden kannst, kannst du alle fünf senden, und jeder OpenAI-kompatible Client akzeptiert dieselben Werte. Wähle die Sprache, in der du bereits arbeitest, und überspringe die anderen.

Beispiel 1: eine direkte Rezensenten-Persona

Der einfachste Test ist ein System-Prompt, der die Einstellung ändert, nichts anderes. Die Anfrage fragt nach Feedback zu einer Funktion, und die Persona wird angewiesen, direkt zu sein, anstatt aus Eigensinn unhöflich zu sein.

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)"}
    ]
  }'

Erwarte eine kurze, meinungsstarke Antwort, die auf die Division durch eine leere Liste hinweist und wahrscheinlich über fehlende Typ-Hinweise meckert. Ohne die System-Nachricht gibt dieselbe Frage normalerweise eine ausgewogene, freundliche Bewertung zurück. Diese Lücke zwischen den beiden Antworten ist der gesamte „Modus“.

Beispiel 2: eine düstere Fiktions-Szene

Hier schmerzen Ablehnungen bei anderen Diensten am meisten. Ein Thriller-Autor braucht einen bedrohlichen Antagonisten, und eine Szene mit einer Drohung sollte sich wie eine Drohung anfühlen. Halte es bei erwachsenen Charakteren und legaler Fiktion.

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)

Worauf du achten solltest: Spannung durch Dialog und Details, kein Absatz am Ende, der erklärt, dass Einschüchterung falsch ist, und ein Ende, das deine Vorgaben respektiert. Wenn die Stimme zu flach ist, erhöhe die Temperatur etwas. Wenn sie Phrasen wiederholt, erhöhe frequency_penalty. Das Setzen von seed ermöglicht es dir, dieselbe Anfrage erneut auszuführen und nach dem Bearbeiten einer Zeile im Prompt zu vergleichen.

Beispiel 3: JSON-Modus für Charaktere und Spieldaten

Weniger gefiltert bedeutet nicht weniger strukturiert. Der JSON-Modus funktioniert mit demselben Modell, was ihn praktisch macht, um NPCs, Quest-Hooks oder Dialogbäume zu generieren, die dein Spielcode parsen kann.

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."}
    ]
  }'

Erwähne das Wort JSON und die Schlüssel im Prompt, wie oben; das ist der zuverlässige Weg, um die gewünschte Struktur zu erhalten. Parst das Ergebnis trotzdem in einem try-Block. Eine abgeschnittene Antwort ist die übliche Ursache für einen Parse-Fehler, also prüfe finish_reason, bevor du dem Modell die Schuld gibst.

Beispiel 4: Function Calling für einen Spielleiter

Ein Rollenspieler, der Würfelergebnisse erfindet, ist leicht zu überführen. Gib ihm ein Tool und lass deinen Code würfeln. Function Calling folgt dem OpenAI-Format: tools, tool_choice und Ergebnisse werden als Nachrichten mit der Rolle tool zurückgegeben.

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)

Prüfe in der Produktion, ob tool_calls vorhanden ist, bevor du es indizierst. Das Modell kann entscheiden, dass das Öffnen eines Schlosses kein Würfeln erfordert, besonders bei niedriger Temperatur.

Beispiel 5: Streaming einer Antwort, während sie geschrieben wird

Chat-Apps fühlen sich besser an, wenn Text Wort für Wort erscheint. Setze stream auf true und lese die SSE-Chunks; die Nutzungsinformationen kommen am Ende.

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 ?? "");
}

Eine gestreamte Anfrage belegt ihren Concurrency-Slot, bis der Stream endet. Bei einem Test-Schlüssel mit 2 gleichzeitigen Anfragen bedeuten zwei offene Streams, dass ein dritter Aufruf 429 mit dem Code concurrency zurückgibt. Schließe Streams, die du nicht mehr liest.

Den Ton anpassen, wenn die Grundlagen funktionieren

Nach dem ersten Durchlauf geht der meiste Aufwand in kleine Anpassungen. Dieselben fünf Anfragen können in sehr unterschiedliche Richtungen gedrängt werden, ohne das Modell oder den Endpunkt zu ändern.

Führe einen A/B-Test für die System-Nachricht durch

Sende eine Benutzernachricht zweimal mit demselben seed, einmal ohne Systemnachricht und einmal mit deiner Persona. Da der Seed fest ist, stammt der Unterschied zwischen den beiden Antworten aus der Systemnachricht und nicht aus der Zufälligkeit der Abtastung. Mache dies, bevor du einen langen Prompt schreibst, und erneut nach jeder Bearbeitung. Wenn ein Satz in deinem Prompt die Ausgabe nicht verändert, lösche ihn und spare Eingabe-Token.

Beschreibe die Einstellung, nicht das Label

Das Wort „unhinged“ sagt dem Modell sehr wenig. Eine Zeile wie „du beantwortest zuerst die Frage und fügst dann eine ehrliche, leicht unhöfliche Beobachtung hinzu“ gibt ihm etwas auszuführen. Das Gleiche gilt für Sarkasmus: Nenne das Ziel (den Plan, den Code, die Situation), damit die Witze auf etwas anderes als den User treffen.

Halte einen normalen Modus neben dem lockeren

Die meisten Apps benötigen beide. Eine Chat-Funktion mag vielleicht die respektlose Stimme wollen, während der Teil, der Bestellzusammenfassungen oder Fehlermeldungen schreibt, einen neutralen Ton benötigt. Halte zwei System-Prompts in deinem Code und wähle einen pro Aufruf. Die Modell-ID und der Endpunkt bleiben gleich, also kostet das Umschalten nichts.

Beobachte die Länge

Lockere Personas schweifen ab. Gib eine Wortreichweite im Prompt an, z. B. "unter 150 Wörter", und du wirst kürzere, pointiertere Antworten und eine kleinere Ausgabe-Rechnung sehen. Ausgabe-Token kosten mehr als Eingabe-Token bei $0,50 pro 1 Mio. gegenüber $0,15, daher ist das Kürzen von Antworten die günstigste Einsparung.

Die Beispiele kostengünstig ausführen und was ausgeschlossen bleibt

Jedes Beispiel ist klein. Angenommen, ein Durchlauf sendet 400 Eingabe-Token und erhält 600 zurück. Eingabe kosten 400 x $0,15 / 1.000.000 = $0,00006, Ausgabe kosten 600 x $0,50 / 1.000.000 = $0,0003, also kostet der Durchlauf $0,00036. Das Testguthaben von $0,50 deckt weit mehr als tausend solcher Durchläufe ab, obwohl das 7-Tage-Fenster und die Begrenzung auf 2 parallele Anfragen die echten Grenzen sind. Vollständige Details findest du auf der Preisseite.

Um zu beginnen, erstelle deinen Schlüssel und folge der Schnellstartanleitung für die Client-Einrichtung. Die Zahlung für größere Aufladungen erfolgt nur per Krypto, USDT auf TRC20 oder USDC auf Base.

Für jedes Beispiel gelten zwei Grenzen. Das Modell ist nur Text, also keine Bilder, Audio oder Embeddings. Und sexuelle Inhalte mit Minderjährigen sind niemals erlaubt. Alles andere hier dreht sich um Erwachsenenfiktion und gesetzmäßige Nutzung, und genau dort verdient ein Modell ohne Ablehnungen seinen Unterhalt.

Fragen und Antworten

Ist das dasselbe wie der Unhinged-Modus von Grok?

Nein. Grok ist ein Produkt von xAI. Dies ist eine unabhängige API, die ein Open-Weight-Modell bedient; du erstellst den Stil mit einem System-Prompt.

Erhalte ich dieselbe Ausgabe wie in deinen Beispielen?

Keine zwei Durchläufe sind identisch, es sei denn, du fixierst den Seed. Betrachte jedes Beispiel als eine Anfrage, die du selbst ausführst, und bewerte dann die Antwort.

Kann das Modell eine Anfrage verweigern?

Es ist darauf ausgelegt, ohne Inhaltsablehnungen für die rechtmäßige Nutzung durch Erwachsene zu antworten. Fehlgeschlagene oder abgelehnte Anfragen werden nicht berechnet.

Welchen Client soll ich zum Testen verwenden?

Alles, was OpenAI-kompatibel ist: das OpenAI Python oder Node SDK, curl, SillyTavern oder Open WebUI. Lege die Base URL, den API-Schlüssel und die Modell-ID uncensored fest.

Dein Schlüssel ist nur ein Formular entfernt

Erstelle ein Konto, kopiere den Schlüssel, ändere die Basis-URL. Das ist die gesamte Konfiguration.

API-Schlüssel erhalten