Skip to main content

Prerequisites

  • An KiteFrost account (sign up free)
  • Your sk_live_... API key from Settings → API Keys

Step 1 - Create an encounter

Define the encounter context. The engine uses your campaign’s project state to generate balanced, flavourful output.

Step 2 - Generate a session plan

Pass the encounter id (and any other hooks already in your campaign) to get a full session outline with pacing, contingencies, and boxed read-aloud text.

Step 3 - Track items, quests, and notes

A campaign is more than encounters. Track the loot the players are hunting, the quests they have signed on for, and the lore they have uncovered. Every entity has its own dashboard page and its own REST endpoint.

Track your loot - create an item

Items are gear, treasures, set pieces, and macguffins. They live alongside NPCs and Places in the campaign and can be referenced from quest rewards, encounter loot, or location inventories.
The dashboard’s Items page lists every item in the campaign and lets you create more from a simple form. Vocabulary follows your campaign - in the TTRPG GM pack these objects are called “Items”.

Plan a quest - create a quest with objectives

Quests track multi-step adventure threads. Each quest has a status (offeredactivecompleted), a list of objectives, and optional links to a quest-giver NPC and reward items.
Toggle each objective complete from the dashboard or by patching the quest. When every objective is done, set status: "completed" and link the session that resolved it via completed_session_id.

Capture lore - create a note

Notes are free-form Markdown text - use them for lore, rumours, house rules, and post-session recaps. Pin the ones you reach for every session so they sort to the top.
Pick a note_type to file the note in a category - lore, rumour, house_rule, recap, secret are common values; the field is free text so use whatever taxonomy fits your table. Pinned notes sort first; the rest sort by most recently updated.

Step 4 - Record session outcomes

After the session, record what actually happened so the project state updates for next time.

Next steps

  • Browse Encounter endpoints for stat block export and CR adjustment
  • Use BYOK to route generation through your own LLM provider key
  • Subscribe to generation.completed webhooks to stream results to your VTT