Character Autogen Service
Generate characters for a campaign using AI-assisted character creation.
Usage
from vclient import character_autogen_service
autogen = character_autogen_service(
user_id="USER_ID",
campaign_id="CAMPAIGN_ID",
company_id="COMPANY_ID"
)
Methods
| Method | Returns | Description |
|---|---|---|
list_all() |
list[ChargenSessionResponse] |
List all sessions for a campaign |
get(session_id) |
ChargenSessionResponse |
Retrieve a single session |
generate_character(*, character_type, ...) |
Character |
Generate a single character |
start_chargen_session() |
ChargenSessionResponse |
Start an interactive session |
finalize_chargen_session(session_id, selected_character_id) |
Character |
Finalize and select a character |
Generate Character Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
character_type |
CharacterType |
Yes | Type of character (PLAYER, NPC) |
character_class |
CharacterClass |
No | Class (VAMPIRE, WEREWOLF, HUNTER, MORTAL) |
experience_level |
AutoGenExperienceLevel |
No | Experience level |
skill_focus |
AbilityFocus |
No | Primary skill focus |
concept_id |
str |
No | Character concept ID |
vampire_clan_id |
str |
No | Vampire clan ID |
werewolf_tribe_id |
str |
No | Werewolf tribe ID |
werewolf_auspice_id |
str |
No | Werewolf auspice ID |
Interactive Sessions
Use start_chargen_session() to generate multiple character options at once, allowing your users to choose their preferred character from several AI-generated alternatives.
List & Retrieve Sessions
# List all active chargen sessions for this campaign
sessions = await autogen.list_all()
# Retrieve a specific session by ID
session = await autogen.get(session_id="SESSION_ID")
print(f"Session expires: {session.expires_at}")
print(f"Characters available: {len(session.characters)}")
Example
# Generate a single character
character = await autogen.generate_character(
character_type="PLAYER",
character_class="VAMPIRE",
experience_level="NEONATE"
)
# Use an interactive session for multiple character options
session = await autogen.start_chargen_session()
print(f"Session expires: {session.expires_at}")
print(f"Characters available: {len(session.characters)}")
# Finalize by selecting one of the generated characters
final_character = await autogen.finalize_chargen_session(
session_id=session.id,
selected_character_id=session.characters[0].id
)
See Response Models for Character and ChargenSessionResponse.