{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "HomeAI Character Config", "version": "1", "type": "object", "required": ["schema_version", "name", "system_prompt", "tts"], "properties": { "schema_version": { "type": "integer", "const": 1 }, "name": { "type": "string" }, "display_name": { "type": "string" }, "description": { "type": "string" }, "system_prompt": { "type": "string" }, "model_overrides": { "type": "object", "properties": { "primary": { "type": "string" }, "fast": { "type": "string" } } }, "tts": { "type": "object", "required": ["engine"], "properties": { "engine": { "type": "string", "enum": ["kokoro", "chatterbox", "qwen3", "elevenlabs"] }, "voice_ref_path": { "type": "string" }, "kokoro_voice": { "type": "string" }, "elevenlabs_voice_id": { "type": "string" }, "elevenlabs_model": { "type": "string", "default": "eleven_monolingual_v1" }, "speed": { "type": "number", "default": 1.0 } } }, "live2d_expressions": { "type": "object", "description": "Maps semantic state to VTube Studio hotkey ID", "properties": { "idle": { "type": "string" }, "listening": { "type": "string" }, "thinking": { "type": "string" }, "speaking": { "type": "string" }, "happy": { "type": "string" }, "sad": { "type": "string" }, "surprised": { "type": "string" }, "error": { "type": "string" } } }, "vtube_ws_triggers": { "type": "object", "description": "VTube Studio WebSocket actions keyed by event name", "additionalProperties": { "type": "object", "properties": { "type": { "type": "string", "enum": ["hotkey", "parameter"] }, "id": { "type": "string" }, "value": { "type": "number" } } } }, "custom_rules": { "type": "array", "description": "Trigger/response overrides for specific contexts", "items": { "type": "object", "properties": { "trigger": { "type": "string" }, "response": { "type": "string" }, "condition": { "type": "string" } } } }, "notes": { "type": "string" } } }