← Back to Blog
Developer

Persona API Spec — Voice Package Format, Install Flow, Runtime

Published 21 April 2026 · 10 min read

Quick answer. A persona package contains a manifest, a consent manifest, the voice model (TTS weights or acoustic model depending on tier), a personality config (style prompts, preferred vocabulary, refusal patterns), and a signed bundle marker. Install flow checks the consent manifest against the host device and invoker, then activates the persona. Runtime gates every response through the consent scopes before speaking.

The persona package

Every persona is a signed archive with four mandatory components:

  1. Manifest — identity, version, compatibility, creator.
  2. Consent manifest — what uses the voice owner approved.
  3. Voice model — the actual acoustic data.
  4. Personality config — the style prompts and refusal patterns.

Manifest format

{
  "schema_version": "1.0",
  "persona_id": "per_01HX3A...",
  "name": "Warm British Narrator",
  "version": "2.1.0",
  "creator": { "id": "creator_abc", "name": "Jamie Lee" },
  "compatibility": ["gera.agent.v2+", "robot.gera.v1+"],
  "locales": ["en-GB", "en-US"],
  "voice_tier": "studio",
  "content_ratings": ["PG"],
  "subscription_model": "per-install-monthly"
}

Consent manifest

The consent manifest is the legal-technical backbone of the platform. It records:

{
  "consenting_party": {
    "identity": "verified_creator:creator_abc",
    "relationship": "self",
    "consent_date": "2026-03-10",
    "consent_method": "signed-contract"
  },
  "allowed_use_cases": [
    "personal_household",
    "narrator",
    "meditation",
    "audiobook"
  ],
  "disallowed_use_cases": [
    "political_advocacy",
    "explicit_content",
    "financial_instruction",
    "impersonation_to_third_party_without_disclosure"
  ],
  "invocation_allow_list": "public",
  "revocation_contacts": ["creator:creator_abc"],
  "estate_beneficiaries": [
    { "party": "heir_xyz", "share_percent": 100 }
  ]
}

The consent manifest is the gate at runtime. Any invocation that falls outside allowed_use_cases is refused with the reason logged.

Voice model tiers

  • Studio tier — full acoustic model recorded in studio conditions; larger package, highest quality.
  • Home-recording tier — compact model trained on user-uploaded recordings; smaller package, good quality with warnings about volume / naturalness.
  • Heritage tier — models trained from archival recordings (home videos, interviews); lowest fidelity, highest emotional value.

Personality config

The personality config shapes what the persona says as well as how. It contains:

  • Style prompts (“speak slowly, use traditional storytelling cadences”).
  • Preferred vocabulary / avoided vocabulary.
  • Refusal patterns (“when asked about politics, gracefully decline and offer to read a poem instead”).
  • Disclosure patterns (“when invoked outside the declared-family allow-list, state that this is a voice skin of X”).

Install flow

  1. User browses catalogue; selects persona; clicks install.
  2. Platform verifies the host device is compatible (checks compatibility vs device capability descriptor).
  3. Platform verifies the invoker identity is in theinvocation_allow_list.
  4. Platform downloads the package and verifies signature against creator’s public key.
  5. Package is decrypted, the voice model loads, the personality config applies.
  6. Subscription billing activates; residual payments begin accruing to creator.

Runtime behaviour

Every response from a persona-skinned agent passes through three gates before being spoken:

  1. Consent-scope gate: is this use-case inallowed_use_cases? If not, refuse with reason.
  2. Personality-config gate: does the proposed response fit the style / vocabulary / refusal patterns?
  3. Disclosure gate: does the context require a “this is a voice skin” prelude? If so, prepend.

Revocation and uninstall

Revocation: creators can revoke a persona with 90 days notice. During the notice period, installed users see warnings. After the period, the package stops activating on new sessions; already-active sessions complete normally.

Uninstall: users can uninstall any time. Residuals stop at the end of the current billing cycle. A 30-day reinstall grace period applies.

Integration with GeraNexus and GeraWitness

Financial transactions initiated with a persona voice route through GeraNexus for consent tokens. High-value or sensitive persona uses are reviewable via GeraWitness. The persona is the voice; the transaction is the protocol.

Cross-links

See also: ethical checklist, residual payout.

Find the right voice.

Browse personas