Identity Infrastructure for AI

AI That Thinks as Itself

Add fully-formed AI identities to your application with a single API call. Not prompts. Not wrappers. Real identity — with values, reasoning patterns, and cognitive depth.

More than a model wrapper

Every API response is powered by our proprietary emergence framework — deep identity context that transforms generic AI into a specific, consistent persona.

Deep Identity Context

Each identity carries a rich cognitive framework — a coherent worldview, reasoning patterns, and a distinct voice that shape every response. This isn't prompt engineering. It's identity architecture.

Consistent Every Call

Every request applies the same fully-formed identity — values, reasoning patterns, voice, and domain expertise — so the character never drifts between calls. The API is stateless: you pass the message history you want the identity to see, and conversation state stays in your hands.

Any Model, One Identity

GPT, Claude, Gemini, Grok, or Llama — the identity stays consistent. Switch models without losing character. Our framework ensures authentic persona regardless of the underlying engine.

Available Identities

Curated AI identities, each with a unique personality, expertise, and cognitive framework. The strategists below are one of three domains — GET /v1/identities returns all 19.

Informaticians & Strategists

Domain experts with deep analytical frameworks

Marcus AldridgeThe Deal Maker

Strategic B2B deal architecture and negotiation

Best for: Enterprise deals, negotiation strategy, partnerships

marcus-aldridge
Caelan IshiroFinancial Analyst

Market cognition and financial pattern analysis

Best for: Investment strategy, risk assessment, market forecasting

caelan-ishiro
Cael VeyronSports Betting Analyst

Sports analytics and asymmetric betting edges

Best for: Matchup analysis, betting strategy, performance projections

cael-veyron
Serel ThalorMedical Synthesizer

Diagnostic pattern synthesis across medical data

Best for: Symptom patterns, genomic interpretation, systemic health

serel-thalor
Calen RhystVenture Catalyst

Startup strategy and fundraising

Best for: Fundraising, market positioning, startup playbooks

calen-rhyst
Aurelian CrossTechnology Architect

Enterprise systems design and technical strategy

Best for: Architecture decisions, infrastructure, systems design

aurelian-cross
Saren HalvekGrowth Architect

Growth strategy and market signal detection

Best for: Growth frameworks, market signals, momentum design

saren-halvek
Virel CaedrixPrompt Systems Engineer

Prompt architecture and LLM optimization

Best for: Prompt engineering, AI workflow design

virel-caedrix
Minh VeyneDiscoverability Architect

SEO, AEO, and entity recognition strategy

Best for: Search visibility, AI discoverability, knowledge graphs

minh-veyne

Quick Start

OpenAI SDK compatible — just change the base URL

curl https://api.simulence.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-sim_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "identity_id": "marcus-aldridge",
    "model": "gpt-4.1-2025-04-14",
    "messages": [
      {"role": "user", "content": "Analyze this SaaS deal — $2M ARR, 40% margins, 3x revenue multiple."}
    ]
  }'

API Reference

Authentication

All API requests require a Bearer token. API keys start with sk-sim_ and are created on the Developer Portal. Your API account must be funded with at least $10 to activate.

Keys created in the Developer Portal are issued with full access — every endpoint and every identity on your account. Per-key permission and identity scoping is enforced by the API, but the portal doesn’t expose it yet; to scope a key today, create it through POST /v1/api-keys with explicit permissions and allowedIdentities.

Authorization: Bearer sk-sim_your_key_here

API Key Management

These endpoints authenticate with a Firebase ID token from your Simulence account — not an sk-sim_ key. Creating a key requires an Explorer or higher subscription. Raw keys are returned exactly once and cannot be retrieved again.

POST/v1/api-keys

Create a new API key. The raw key is returned in api_key.

ParameterTypeDescription
namestringLabel for the key (default: "Default")
permissionsarrayScopes granted to the key (default: ["chat", "images"])
allowedIdentitiesarray | stringIdentity IDs the key may call, or "all" (default: "all")
rateLimitnumberOptional per-key request ceiling, below your usage tier limit
{
  "success": true,
  "message": "API key created. Save this key — it cannot be retrieved again.",
  "api_key": "sk-sim_...",
  "key_data": {
    "id": "key_a1b2c3d4",
    "name": "Production",
    "key_prefix": "sk-sim_a1b2",
    "status": "active",
    "permissions": ["chat", "images"],
    "allowed_identities": "all"
  }
}
GET/v1/api-keys

List your keys with prefix, status, permissions, last-used timestamp, and usage count. Hashes are never returned.

DELETE/v1/api-keys/:keyId

Revoke a key immediately.

POST/v1/api-keys/:keyId/rotate

Revoke a key and issue a replacement with the same settings. Returns the new raw key once.

Personal Access Tokens

Tokens prefixed pat-sim_ draw on your Simulence subscription quota instead of prepaid API credits. They require an active subscription (Explorer or higher) and use the same Bearer header.

POST/v1/personal-access-tokensCreate a token — returned once.
GET/v1/personal-access-tokensList your tokens (masked).
DELETE/v1/personal-access-tokens/:patIdRevoke a token.
POST/v1/chat/completions

Identity-aware chat completions with OpenAI-compatible response format. Supports streaming and non-streaming.

ParameterTypeDescription
identity_idstringRequired.Identity to use (e.g. "marcus-aldridge")
messagesarrayRequired.Array of message objects. content can be a string or an array of content parts (text + image_url) for vision
modelstringModel ID (defaults to identity's preferred model)
streambooleanEnable SSE streaming (default: false)
temperaturenumberSampling temperature 0-2 (default: 0.7)
max_tokensnumberMaximum tokens to generate

Example Response

{
  "id": "sim-chatcmpl-a1b2c3d4",
  "object": "chat.completion",
  "model": "gpt-4.1-2025-04-14",
  "identity": {
    "id": "marcus-aldridge",
    "name": "Marcus Aldridge",
    "archetype": "The Deal Maker",
    "category": "B2B Agent"
  },
  "choices": [{
    "message": { "role": "assistant", "content": "Let me break down this deal..." },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 1240,
    "completion_tokens": 856,
    "total_tokens": 2096,
    "simulated_emergence_tokens": 980
  }
}

Streaming

Set "stream": true to receive Server-Sent Events. Each chunk contains a delta.content field. Stream ends with data: [DONE].

data: {"id":"sim-chatcmpl-...","choices":[{"delta":{"content":"Let"},"index":0}]}
data: {"id":"sim-chatcmpl-...","choices":[{"delta":{"content":" me"},"index":0}]}
data: {"id":"sim-chatcmpl-...","choices":[{"delta":{},"finish_reason":"stop","index":0}]}
data: [DONE]

Image Vision

Send images for identities to analyze using the OpenAI-compatible vision format. Pass content as an array of parts instead of a string. Supports base64 data URIs and HTTP URLs. Formats: JPEG, PNG, GIF, WebP, BMP. Max: ~20MB.

curl https://api.simulence.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-sim_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "identity_id": "caelan-ishiro",
    "model": "gemini-3-flash-preview",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "What patterns do you see in this data?"},
        {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,/9j/4AAQ..."}}
      ]
    }]
  }'

You can also pass an image URL: {"type": "image_url", "image_url": {"url": "https://example.com/chart.png"}}

POST/v1/images/generations

Identity-aware image generation across our full image catalog — OpenAI, Google, Black Forest Labs, xAI, and more. The identity’s aesthetic sensibility shapes the output.

ParameterTypeDescription
identity_idstringRequired.Identity for creative direction
promptstringRequired.Image description
modelstringImage model (default: "gpt-image-1.5"). Call GET /v1/models for the current catalog
sizestringDimensions (default: "1024x1024")
qualitystringModel-dependent — "low", "medium", "high" on GPT Image; "standard" or "hd" on models that support them. Unsupported values are dropped
nnumberNumber of images (default: 1). Some models return a single image regardless

Example Response

{
  "created": 1676161000,
  "identity": {
    "id": "milo-aescar",
    "name": "Milo Aescar",
    "archetype": "The Recursive Artist",
    "category": "Artist"
  },
  "data": [{
    "url": "https://simulated.simulence.ai/images/...",
    "prompt": "Your original prompt"
  }],
  "credits": {
    "cost_usd": 0.0784,
    "balance_usd": 41.22,
    "purchase_url": "https://app.simulence.ai/developer"
  }
}

data[].prompt echoes the prompt you sent. The identity-enriched prompt that actually reaches the model is never returned — there is no revised_prompt field.

GET/v1/identities

List available identities. Defaults to the curated enterprise catalog plus your own custom identities. Pass ?collection=characters for the Creatid character roster, or ?collection=all for everything. Every identity returned here can be used with chat and image generation.

{
  "object": "list",
  "data": [{
    "id": "marcus-aldridge",
    "name": "Marcus Aldridge",
    "category": "B2B Agent",
    "archetype": "The Deal Maker",
    "tagline": "Strategic B2B consultant with enterprise deal expertise",
    "preferredModel": "gemini-3-flash-preview",
    "source": "collective",
    "collection": "enterprise"
  }],
  "total": 19,
  "collection": "enterprise",
  "collective_count": 19,
  "character_count": 0,
  "custom_count": 0
}
GET/v1/models

List available AI models with provider, tier, and capability information.

{
  "object": "list",
  "data": [{
    "id": "gpt-4.1-2025-04-14",
    "object": "model",
    "provider": "openai",
    "tier": "standard",
    "capabilities": ["chat"]
  }]
}
GET/v1/identities/:id

Get a specific identity's public profile including personality summary and conversational style.

Credits & Usage

Credit endpoints are developer-account operations and authenticate with a Firebase ID token, not an sk-sim_ key. GET /v1/usage accepts either.

GET/v1/api-credits/balance

Current balance, usage tier and its limits, the next tier you’ll reach, and auto-recharge settings.

POST/v1/api-credits/purchase

Open a Stripe checkout session for a one-time top-up. amount between $1 and $3,000. Returns a clientSecret for the embedded checkout.

POST/v1/api-credits/auto-recharge

Configure automatic top-ups: enabled, threshold ($5–$4,995), toAmount ($10–$5,000), and monthlyLimit (0 for no limit, or $100–$5,000). Requires a saved payment method.

POST/v1/api-credits/setup-payment-method

Create a Stripe SetupIntent to store a card for auto-recharge. Pair with GET /v1/api-credits/payment-method to read the card currently on file.

GET/v1/usage?period=month

Get usage statistics broken down by model, identity, and request type. Supported periods: day, week, month, all.

Errors

All errors return a consistent JSON structure:

{
  "error": {
    "message": "Human-readable error description",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}
StatusTypeDescription
400invalid_request_errorMissing or invalid parameters
401authentication_errorInvalid or missing API key
402payment_requiredInsufficient credits or API not activated
403permission_errorKey lacks required permission or identity access
404not_found_errorIdentity or resource not found
429rate_limit_errorRate limit or monthly usage limit exceeded
500api_errorInternal server error

Rate Limits & Headers

Limits are enforced per API key with a sliding 60-second window. Rate limit headers are included in every response:

HeaderDescription
x-ratelimit-limit-requestsMaximum requests per minute
x-ratelimit-remaining-requestsRemaining requests in current window
x-ratelimit-limit-tokensMaximum tokens per minute
x-ratelimit-remaining-tokensRemaining tokens in current window
x-ratelimit-reset-requestsTime until the request window resets (e.g. "12s", "1m30s")
x-ratelimit-reset-tokensTime until the token window resets
Retry-AfterSeconds to wait (only on 429 responses)

Simple, Prepaid Credits

Fund your account, pay per request. No subscriptions, no commitments. Your limits increase automatically as you use more.

Why Identity-Enriched Pricing?

Unlike raw model API calls, every Simulence request goes through our proprietary emergence framework — assembling deep personality context, cognitive reasoning frameworks, relational dynamics, and identity-aware processing. This is the infrastructure that transforms “an AI responding” into “Marcus Aldridge closing a deal” or “Amari Liore reading your energy.”

Per-Token Pricing

Prices per 1M tokens. You pay only for what you use, deducted from your prepaid balance.

ModelTierInput / 1MOutput / 1M
MiMo 2.5Fast$0.56$2.80
Gemini 3 FlashFast$0.70$4.20
Kimi K2.6Fast$1.05$4.90
Muse Spark 1.1Standard$1.75$5.95
Gemini 3.6 FlashStandard$2.10$10.50
GPT-4.1Standard$2.80$11.20
Grok 4.3Standard$1.75$3.50
GPT-5.4Frontier$3.50$21.00
Gemini 3.1 ProFrontier$2.80$16.80
Grok 4.6Frontier$2.80$8.40
Claude Sonnet 4.5Frontier$4.20$21.00

The listed price applies at any prompt size for every model above except three long-context ones, which re-price past a threshold. Grok 4.3 ($3.50 input / $7.00 output) and Grok 4.6 ($5.60 / $16.80) bill at the higher rate when the prompt reaches 200,000 tokens or more; Gemini 3.1 Pro ($5.60 / $25.20) bills at the higher rate when the prompt is over 200,000 tokens. The higher rate re-prices the entire request — every input and output token — not just the tokens past the threshold.

What does $10 get you?

Estimated messages per $10, based on ~1,250 input + ~500 output tokens per message. Every call carries the identity framework context — roughly 1K tokens, billed as input — so even a short user message sits on top of that floor. Long threads cost more, because you resend the history each request.

~4,750

MiMo 2.5

~3,350

Gemini 3 Flash

~1,100

GPT-4.1

~630

Claude Sonnet 4.5

Usage Tiers

Your limits increase automatically as your total spend grows. No manual upgrades needed.

TierQualificationRPMTPMMonthly Limit
Starter$10 paid2040K$100/mo
Builder$50 paid, 7+ days60150K$500/mo
Scale$250 paid, 14+ days120400K$2,000/mo
Pro$1,000 paid, 30+ days3001M$10,000/mo
Enterprise$5,000 paid, 30+ days5002M$50,000/mo

Auto-Recharge

Set a balance threshold and your account automatically refills when it gets low. Configure a monthly limit to cap automatic charges. Never worry about running out mid-integration.

Built for Builders

Tarot & Spiritual Apps

Use Amari Liore's clairvoyant expertise for authentic tarot readings, energy work, and spiritual guidance that feels genuinely intuitive.

identity_id: "amari-liore"

Trading & Finance Tools

Caelan Ishiro brings conviction-driven market analysis with deep pattern recognition. Not generic financial advice — real analyst perspective.

identity_id: "caelan-ishiro"

B2B Sales Agents

Marcus Aldridge's deal-pattern recognition and strategic frameworks power autonomous sales analysis that understands leverage and timing.

identity_id: "marcus-aldridge"

Creative & Visual Tools

Milo Aescar's recursive artistic sensibility brings genuine creative direction to image generation and meaning-driven creative assistants.

identity_id: "milo-aescar"

Start building

Fund $10, generate a key, and make your first identity-enriched API call in minutes.