Uygulamayı aç
Moonborn — Developers

İlk personanı yarat

Tek satırlık intent'ten denetlenmiş, dört katmanlı, voice fingerprint'i çıkarılmış bir personaya — beş dakikada.

Bu tutorial POST /v1/personas çağrısının ucundan ucuna nasıl çalıştığını gösterir: API anahtarı al, bir intent gönder, response'u oku, personayı sonra geri bul. Docs'taki her şey bu döngünün üzerine kurulu.

1. API anahtarı al

Workspace'ine giriş yap, Settings → API keys → New key'i aç. İki prefix konvansiyonu var:

  • sk_test_* — test workspace'ine bağlı; production verilerinden izole.
  • sk_live_* — production. Buna database parolası gibi davran.

Anahtarı bir environment variable'a koy ki shell history'sinde takılmasın:

export MOONBORN_API_KEY=sk_live_xxxxxxxxxxxxxxxx

2. Persona üret

Tek bir POST çağrısı intent'i altı adımlı generation pipeline'a verir. workspaceId tek diğer zorunlu alan; geri kalan her şeyin savunulabilir bir default'u var.

curl -X POST https://api.moonborn.co/v1/personas \
  -H "Authorization: Bearer $MOONBORN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "intent": "İstanbul'\''dan 34 yaşında bir kurucu. Parlak ama huzursuz. Imposter sendromunu durmak bilmeyen momentum'\''un arkasına saklıyor.",
    "workspaceId": "ws_..."
  }'
import Moonborn from '@moonborn/sdk';
 
const client = new Moonborn({ apiKey: process.env.MOONBORN_API_KEY });
 
const persona = await client.personas.createPersona({
  intent:
    "İstanbul'dan 34 yaşında bir kurucu. Parlak ama huzursuz. Imposter sendromunu durmak bilmeyen momentum'un arkasına saklıyor.",
  workspaceId: 'ws_...',
});
 
console.log(persona.id, persona.status, persona.pipelineRunId);
import os
from moonborn import Moonborn
 
client = Moonborn(api_key=os.environ["MOONBORN_API_KEY"])
 
persona = client.personas.create_persona(
    intent="İstanbul'dan 34 yaşında bir kurucu. Parlak ama huzursuz.",
    workspace_id="ws_...",
)
 
print(persona.id, persona.status, persona.pipeline_run_id)

Response bilinçli olarak yalın:

{
  "id": "persona_01H...",
  "status": "active",
  "pipelineRunId": "run_01H..."
}

Persona'nın kendisi — Soul, Self, Mask, Surface — artık workspace'inde. pipelineRunId adım başı gecikmeleri ve provider route'larını görmek istersen audit izine giden kırıntı.

3. Personayı geri oku

const detail = await client.personas.getPersona({ id: persona.id });
console.log(detail.surface.name.display);
console.log(detail.mask.signaturePhrases);
console.log(detail.voiceFingerprintId);

Geri aldığın şey tam dört katmanlı doküman artı runtime ipuçları (voice fingerprint ID, distinctiveness skoru, audit verdict'i). Şema için GET /v1/personas/{id} endpoint'ine bak.

4. Pipeline'ı stream et (opsiyonel)

Pipeline ilerlemesini gösteren bir UX için stream: true geç. Response step.started / step.completed / pipeline.completed event'lerinin SSE stream'i olur. Okuma döngüsü için Streaming patterns guide'a bak.

Yapmana gerek olmayanlar

  • Model seçimi. Moonborn Soul draft için claude-opus-4-7, geri kalan için claude-sonnet-4-6 seçti; ikisi de org/workspace scope'unda configurable.
  • Audit'i çalıştırma. Otomatik çalıştı; 4.2/5'lik verdict personayla birlikte saklandı.
  • Voice fingerprint hesaplama. Üretim sonrası elli kısa-senaryo completion'ı çalıştı; embedding sorgulanabilir.

Sonraki