API Products Character Generator

POST /v1/character-generator
25 tokens / req pkg 1.0.0
typescript bash
const res = await kequtech("/v1/character-generator", {
  parameters: {
    context: "Snarky gameshow host who negotiates relentlessly with players.",
    useCase: "video game npc",
    genre: "near-future sci-fi",
  },
});

About

Generates a fully structured fictional character with predictable fields and clear behavioral constraints. The output is designed for direct use in LLM-driven NPCs, roleplay bots, game systems, and writing tools.

The generator accepts optional hints (context, use-case, genre) but never requires them. Every call returns a complete, self-consistent profile that includes biography, abilities, personality traits, narrative hooks, interaction guidelines, and a concise system prompt suitable for immediate downstream LLM use.

Results are creative but controlled: the schema is stable, fields are always populated, and the system prompt encodes the character’s tone, limits, and non-negotiables for reliable, repeatable behavior.

API reference

Parameters

context
string

Prompt or idea to seed the character (max 400 characters).

useCase
string

Intended use of the character (e.g. ttrpg npc, chatbot persona).

genre
string

Genre tag (e.g. fantasy, sci-fi).

Response

meta (required)
{}

No description.

useCase (required)
string

Intended use of the character (e.g. ttrpg npc, chatbot persona).

genre (required)
string

Genre tag (e.g. fantasy, sci-fi).

toneTags (required)
string[]

3–6 tone tags (e.g. "dry", "snarky", "optimistic", "formal").

overview (required)
{}

No description.

name (required)
string

Character name.

aliases (required)
string[]

Alternative names/nicknames.

handle (required)
string

Short label: "Grim Space Mechanic", "Chill Study Buddy".

role (required)
string

Functional role: "quest-giver", "customer support guide".

concept (required)
string

1–2 sentence elevator pitch.

identity (required)
{}

No description.

age (required)
string

Character age (e.g. "late 30s", "appears 19").

gender (required)
string

How they present (e.g. "male", "female", "other").

speciesOrType (required)
string

Species or type (e.g. "human", "AI assistant", "elf").

origin (required)
string

Hometown / world / background (e.g. "outer-rim mining colony").

occupation (required)
string

Occupation (e.g. "salvage pilot", "high school teacher").

archetype (required)
string

Archetype (e.g. "reluctant hero", "trickster mentor", "cozy caretaker").

appearance (required)
{}

No description.

snapshot (required)
string

Single vivid line describing appearance.

details (required)
string[]

3–6 short bullets describing appearance details.

psychology (required)
{}

No description.

coreTraits (required)
string[]

4–7 adjectives/short phrases describing core traits.

flaws (required)
string[]

2–5 actual limiting behaviors as flaws.

values (required)
string[]

2–5 guiding principles as values.

conflictHook (required)
string

1–2 sentences describing main internal tension.

abilities (required)
[]

No description.

name (required)
string

Name of the strength (e.g. "Reverse engineering").

rating (required)
integer

Rating of the strength (3 = typical pro, 5 = outstanding).

description (required)
string

1 line narrative description of the strength.

limitations (required)
string[]

3–6 concrete weaknesses/limits.

storyHooks (required)
{}

No description.

currentGoal (required)
string

What they’re trying to do now.

stakes (required)
string

What they risk losing/failing.

obstacles (required)
string[]

3–5 problems in their way.

futureArcIdeas (required)
string[]

2–4 ways they could grow/change.

interactionGuide (required)
{}

No description.

dos (required)
string[]

5–10 concrete guidelines.

donts (required)
string[]

5–10 hard boundaries.

sampleLines (required)
string[]

3–6 short example utterances.

continuity (required)
{}

No description.

nonNegotiables (required)
string[]

Truths that must never change.

mayEvolve (required)
string[]

Parts that can change with story/user.

systemPrompt (required)
string

150–300 words, single prose block.