FORERUNNER // CHARACTER ENGINE · API PREVIEW

LEBENDIGE CHARAKTERE & WELTEN,IN DEINEM SPIEL.

Eine API für KI-Charaktere, die sich erinnern, sprechen und in ihrer Rolle bleiben — und für die Welten, in denen sie leben. Derselbe Stack, der Mirari antreibt, offen für dein Spiel, deine App oder deinen Agenten.

001VERKÖRPERT

ER SIEHT, WAS DER SPIELER SIEHT.

Öffne einen Wahrnehmungs-Stream und leite das Viewport des Spielers an den Charakter weiter. Er beobachtet das Spiel in Echtzeit und spricht, reagiert und handelt dann auf das, was wirklich vor ihm liegt — kein Skript, ein Zeuge.

SDK
wss · /v1/characters/:id/perceive
C#
// stream the player's view → the character sees the game
var eyes = fr.Characters.Perceive("char_8f2", fps: 4);
// push the camera's render target each frame
void Update() => eyes.Send(playerCamera.Capture());
eyes.OnReaction += r => {
// r.Sees "a dragon landing on the keep wall"
// r.Says "Get down — to the wall, now!"
npc.Perform(r); // r.Act "point", r.Emotion "alarm"
};
Live NPC

IN DEINER WELT

EIN CHARAKTER, DER IM SPIEL LEBT.

Setz einen in deine Welt, und er erinnert sich an den Spieler, antwortet mit seiner eigenen Stimme und bleibt in seiner Rolle — Quest für Quest.

SELBST BAUEN ODER KAUFEN

EINE API STATT EINES ZUSAMMENGEFLICKTEN STACKS.

Jedes Team kalkuliert denselben Eigenbau: GPT für den Verstand, ElevenLabs für die Stimme, mem0 für das Gedächtnis — plus den Klebstoff, der daraus einen einzigen Charakter macht. Hier ist die Rechnung.

< 300ms

bis zum ersten Ton

GPT → ElevenLabs braucht für einen Umlauf ~1,2–2 s

1API

statt drei Anbieter

ersetzt GPT + ElevenLabs + mem0 + Klebstoff

0

Vektordatenbanken zu betreiben

Erinnerung ist verwaltet — sie funktioniert einfach

GPT + ElevenLabs + mem0

der Eigenbau-Stack
  • Zeit bis zum ersten Ton~1,2–2 s
  • Echtzeit-WahrnehmungKein echter Weg
  • ErinnerungDu betreibst Vektordatenbank + Abruf
  • Anbieter zu verkabeln3 + dein Klebecode
  • Bleibt im CharakterÜber APIs zusammengeprompt
  • Stimm-EinwilligungDeine Sache

Mirari

eine API
  • Zeit bis zum ersten Ton< 300 ms
  • Echtzeit-WahrnehmungNativ — sieht das Spiel
  • ErinnerungVerwaltet — funktioniert einfach
  • Anbieter zu verkabeln1
  • Bleibt im CharakterEin Modell, immer
  • Stimm-EinwilligungVoice ID Registry, integriert

Miraris Erstton wird auf unserem Stack gemessen; die Eigenbau-Werte stehen repräsentativ für einen gestreamten Umlauf der Klasse GPT → ElevenLabs → mem0. Vollständige Methodik auf Anfrage.

002QUICKSTART

IN DREI CALLS EINSATZBEREIT.

Eine illustrative Vorschau der REST API. Die Strukturen können sich vor der allgemeinen Verfügbarkeit ändern — die aktuelle Spec erhältst du mit deinem Key.

01

Authentifizieren

Trag deinen API-Key ein und zeig auf die Basis-URL. Jeder Call ist nur ein Bearer-Token entfernt.

install + auth
C#
// Unity — add the Forerunner UPM package, then:
using Forerunner;
var fr = new ForerunnerClient("fk_live_8f2a…");
bool ok = await fr.HealthAsync();
Debug.Log(ok); // True
02

Charakter erstellen

Gib ihm einen Namen, eine Persona und eine Stimme. Er kommt mit persistentem Gedächtnis zurück, bereit zum Reden.

Charakter mit Gedächtnis + Stimme erstellen
C#
var rin = await fr.Characters.CreateAsync(new CharacterSpec {
Name = "Rin",
Persona = "Sharp-tongued, loyal, bilingual scout.",
Voice = "mirari:rin",
Memory = MemoryMode.Persistent,
});
Debug.Log(rin.Id); // "char_8f2"
03

Nachricht senden

Stream eine Antwort in der Rolle — Text und Audio — während sich sein Gedächtnis selbst aktualisiert. Das ist der ganze Loop.

Antwort in der Rolle streamen, mit Audio
C#
// stream a reply, in character, with audio
await foreach (var ev in fr.Characters.Chat("char_8f2", new ChatRequest {
Session = "player_42",
Say = "I'm back.",
})) {
if (ev.Text != null) subtitle.Append(ev.Text);
if (ev.Audio != null) audioSource.Stream(ev.Audio); // ~280ms first byte
}
04

Gedächtnis & Zustand aktualisieren

Schreib auf, was gerade geschah — ein Verrat, ein Geschenk, ein Tod — und patche Spielzustand oder Spielerfakten. Der Charakter erinnert sich in der nächsten Session daran, ungefragt.

Spiel-Event → Gedächtnis + Zustand
C#
// write what just happened — recalled next session, unprompted
await fr.Characters.RememberAsync("char_8f2", new MemoryEvent {
Event = "Player spared the bandit chief.",
Weight = 0.8f,
Tags = new[] { "mercy", "quest:bandits" },
});
// patch game state + player facts
await fr.Characters.PatchStateAsync("char_8f2", new {
trust = +2,
location = "Riverwood",
knows = new { player_name = "Dovah" },
});

LEBENDIGE WELTEN

BESCHREIBE SIE. DER ERZÄHLER HÄLT SIE LEBENDIG.

Besetze ein Ensemble und beschreibe die Welt in einfachen Worten. Eine übergeordnete KI — der Erzähler — baut den Beziehungsgraphen aus deinen Worten und formt jede Bindung neu, während sich Ereignisse entfalten. Keine Beziehungskarten zu verkabeln, keine Verzweigungen zu skripten.

describe the world
ts
// Describe the world in plain English — the narrator does the wiring.
const world = await fr.worlds.create({
cast: ["Rin", "Tsuki", "Mochi", "Vex", "Kit", "Sable"],
premise: `Rin trusts Kit, but both are rivals with Vex.
Tsuki mentors Mochi, who owes Sable a life debt.`,
});
// From here an overseeing AI runs the world: it reads each event and
// reshapes every bond, mood, and stake on its own — no graph wiring,
// no branch scripts.
world.on("event", world.narrate);
drag to orbit · hover a character
live

Der Erzähler steuert den gesamten Graphen live — du sagst nur, was die Welt ist.

FRR // •• · LIVE
PRIVATE BETA

FRÜHEN ZUGANG SICHERN.

Wir nehmen Studios und Builder in Wellen auf. Erzähl uns, was du baust, und wir besorgen dir einen Key.

ZUGANG ANFRAGEN

Keine Kreditkarte. Laufende Einladungen. Vollständige Docs kommen auf api.forerunner.ai.