---
title: "Create a Voiceprint"
method: POST
path: "/voiceprints"
tags: ["voice"]
---

# Create a Voiceprint

`POST /voiceprints`

## Request

- Base URL: `https://aistoryhub.co/api/v1`
- URL: `https://aistoryhub.co/api/v1/voiceprints`
- Auth: HTTP bearer

Unspecified dials default to 50 (neutral).

## Request body

- VoiceprintCreate
  - `name` string, required
  - `description` string
  - `is_default` boolean: Make this the writer's default Voiceprint. Unsets any other default.
  - `voice_fingerprint` string
  - `exemplar_prose` string
  - `dials` VoiceDials: The 33 Style Lab dials, each 0-100. Unspecified dials default to 50 (neutral) on create.
    - `technical_influence` integer
    - `emotional_directness` integer
    - `sentence_complexity` integer
    - `metaphor_density` integer
    - `cynicism_hope` integer: 0 = cynical, 100 = hopeful.
    - `pacing` integer: 0 = slow/deliberate, 100 = fast/propulsive.
    - `action_heavy_opening` integer
    - `paragraph_length` integer
    - `dialogue_ratio` integer
    - `time_linearity` integer: 0 = fragmented/nonlinear, 100 = strictly linear.
    - `visual_emphasis` integer
    - `physical_detail_level` integer
    - `setting_detail` integer
    - `interiority_access` integer
    - `narrator_presence` integer
    - `humor_level` integer
    - `profanity_level` integer
    - `vocabulary_register` integer: 0 = plain/colloquial, 100 = elevated/literary.
    - `tactile_emphasis` integer
    - `auditory_emphasis` integer
    - `olfactory_emphasis` integer
    - `body_awareness` integer
    - `temperature_texture` integer
    - `fragmentation` integer
    - `repetition_effect` integer
    - `time_dilation` integer
    - `technical_accuracy` integer
    - `systemic_focus` integer: 0 = individual-focused, 100 = systems/institution-focused.
    - `ambiguity` integer: 0 = resolved/clear, 100 = deliberately ambiguous.
    - `power_dynamics_visibility` integer
    - `numeric_density` integer
    - `acronym_tolerance` integer
    - `mechanism_surface` integer

## Response `201`

The created Voiceprint.

- Voiceprint
  - `id` string, uuid
  - `name` string
  - `description` string, nullable
  - `is_default` boolean
  - `voice_fingerprint` string, nullable: Freeform notes distilling this voice's signature quirks.
  - `exemplar_prose` string, nullable: A pasted passage exemplifying this voice.
  - `dials` VoiceDials: The 33 Style Lab dials, each 0-100. Unspecified dials default to 50 (neutral) on create.
    - `technical_influence` integer
    - `emotional_directness` integer
    - `sentence_complexity` integer
    - `metaphor_density` integer
    - `cynicism_hope` integer: 0 = cynical, 100 = hopeful.
    - `pacing` integer: 0 = slow/deliberate, 100 = fast/propulsive.
    - `action_heavy_opening` integer
    - `paragraph_length` integer
    - `dialogue_ratio` integer
    - `time_linearity` integer: 0 = fragmented/nonlinear, 100 = strictly linear.
    - `visual_emphasis` integer
    - `physical_detail_level` integer
    - `setting_detail` integer
    - `interiority_access` integer
    - `narrator_presence` integer
    - `humor_level` integer
    - `profanity_level` integer
    - `vocabulary_register` integer: 0 = plain/colloquial, 100 = elevated/literary.
    - `tactile_emphasis` integer
    - `auditory_emphasis` integer
    - `olfactory_emphasis` integer
    - `body_awareness` integer
    - `temperature_texture` integer
    - `fragmentation` integer
    - `repetition_effect` integer
    - `time_dilation` integer
    - `technical_accuracy` integer
    - `systemic_focus` integer: 0 = individual-focused, 100 = systems/institution-focused.
    - `ambiguity` integer: 0 = resolved/clear, 100 = deliberately ambiguous.
    - `power_dynamics_visibility` integer
    - `numeric_density` integer
    - `acronym_tolerance` integer
    - `mechanism_surface` integer
  - `created_at` string, date-time, nullable
  - `updated_at` string, date-time, nullable

## Other responses

- `400`: The request body or parameters are invalid.
- `401`: Missing, malformed, invalid, revoked, or expired token.
- `403`: The token lacks the scope this endpoint requires.
- `429`: Too many requests. Retry after the delay in the `Retry-After` header.

---

[API](https://skmtc.dev/aistoryhub/apis/aistoryhub-api.md) · [All operations](https://skmtc.dev/aistoryhub/apis/aistoryhub-api/llms.txt) · [OpenAPI document](https://skmtc.dev/aistoryhub/apis/aistoryhub-api/revisions/0cfd2c14ae12?raw)
