Nodes/ComfyUI_AITuber/AITuber Persona Prompt Generator
ComfyUI Node

AITuber Persona Prompt Generator

One index number in, a finished character prompt out

By knishika62·Created 5 months ago·Updated 5 months ago· 5
AITuber Persona Prompt Generator
    • character_name
    • character_summary
    • image_prompt
    index0
    keyword春、カジュアル、カフェ
    api_base_urlhttp://192.168.11.200:1234/v1
    model_nameqwen3.5-122b-a10b
    api_key
    max_tokens4096
    temperature0.70

    What it actually does

    AITuber Persona Prompt Generator is a prompt-writing node, not an image node. It sits at the front of your workflow and hands you a finished, English image prompt for one of 195 Japanese AITuber characters. You type a character number (0–194) and a mood keyword like 春、カフェ or night, neon rain, and an LLM - reached through any OpenAI-compatible API - writes the whole prompt for you: hair, eye color, outfit, background, lighting.

    For context: an "AITuber" is an AI-hosted streamer character (the VTuber idea, but the personality runs on an LLM). This pack is built around the DataPilot/AItuber-Personas-Japan dataset, which is exactly what it sounds like - concept documents for 195 of them, appearance included. So the thing this node saves you is the grunt work of translating someone's character sheet into a usable prompt. If you're making art for your own AI streamer, or you just want consistent character renders without hand-tuning a prompt block, it's a neat shortcut. If you don't care about these 195 characters at all, it's still a tidy demo of LLM-driven prompt generation.

    How it works

    On the first run it pulls all 195 rows from the HuggingFace datasets-server API and caches them to aituber_personas_cache.json next to the node. After that it works fully offline - no dataset download on every run, no model files to fetch.

    Every run after that: it grabs the persona at your index, regex-parses the concept markdown for the character name, visual design, profile and background, then does its own gender detection - checking an explicit 性別表現 field, then first-person pronoun, then keyword scan - to fix the opening subject. The prompt always starts realistic photo of a Japanese woman/man/androgynous person/person. It also checks whether glasses are explicitly mentioned and only adds them if they are.

    Then it builds a system prompt with strict rules: English only, under 160 words, comma-separated phrases, no masterpiece/best quality anime tags, hairstyle/eye color/outfit/setting/lighting always included, plus two few-shot examples to keep the format stable. It calls your LLM and strips <think>...</think> reasoning blocks, so Qwen-style reasoning models work without cleanup.

    The key thing to understand: this node generates nothing itself. It's a client for whatever OpenAI-compatible server you point it at - LM Studio, Ollama, or a cloud API. No key needed for local servers; the code substitutes a dummy key when the field is empty.

    Inputs and outputs

    Only a few matter:

    • index (0–194) - which character. There's no search in the node; it's a number, so expect to be flipping through the dataset to find who you want. (The bundled CLI can search by name.)
    • keyword - mood or scene, Japanese or English, comma-separated. This is your creative input.
    • api_base_url - the endpoint. The shipped default is the author's own LAN IP (http://192.168.11.200:1234/v1), which will not work for you - change it to http://localhost:1234/v1 for LM Studio, http://localhost:11434/v1 for Ollama, or your cloud URL.
    • model_name - set this to whatever is actually loaded in your server. The default qwen3.5-122b-a10b is just the author's setup.
    • api_key - leave empty for local LLMs.
    • max_tokens (256–8192) and temperature (0–2) - the usual knobs; defaults are fine.

    Three outputs: character_name (Japanese), character_summary (a profile digest), and image_prompt - the one you actually use, wired into a text encoder or positive prompt like any string you'd type yourself. Fair warning: the prompts are framed as "realistic photo of a Japanese…", so on a heavily anime-tuned checkpoint that framing may fight your style - treat the output as a draft you're free to extend with your own tags.

    Install

    ComfyUI Manager can do it: search for "AITuber" and hit install. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/knishika62/ComfyUI_AITuber
    cd ComfyUI_AITuber
    pip install -r requirements.txt
    

    Restart ComfyUI and the node appears under the AITuber category. Dependencies are refreshingly light - openai, requests, pyyaml - and there are no model files to download. The only network need is the one-time dataset fetch.

    Common issues

    • Connection error on first try: nothing is listening at api_base_url. Get LM Studio or Ollama running first - the node is just a client.
    • The default endpoint is a dead IP. 192.168.11.200 is the author's home network. Point it at localhost and the problem vanishes.
    • Unknown model errors: your server will reject a model_name it doesn't have loaded. Match it to what's actually running.
    • First run needs internet for the dataset; every run after is cached and offline.

    If something's misbehaving, the repo ships a CLI that runs the exact same logic without touching ComfyUI - handy for iterating on the LLM call fast: python aituber_prompt.py -i 0 -k "春、カジュアル、カフェ".

    <||DSML||tool_calls> <||DSML||invoke name="bash"> <||DSML||parameter name="command" string="true">f=/home/homelab/Desktop/nq-bert-joint/comfyicu/content/node-articles/AITuberPersonaPrompt.md; wc -w "$f"; grep -c '^##' "$f"

    CategoryAITuber

    Inputs (7)

    NameTypeDefaultDescription
    indexINT00–194
    keywordSTRING春、カジュアル、カフェ
    api_base_urlSTRINGhttp://192.168.11.200:1234/v1
    model_nameSTRINGqwen3.5-122b-a10b
    api_keySTRING
    max_tokensINT4096256–8192
    temperatureFLOAT0.700–2

    Outputs (3)

    NameTypeDescription
    character_nameSTRING
    character_summarySTRING
    image_promptSTRING