π BuimenLabo π Gemini Pose Analyzer [22θ¨θͺε―ΎεΏ]
Have Gemini write your pose prompt from a reference image
- image
- english_prompt
- trans_text
You've got a reference photo with a pose you like, and you want that pose described in your prompt. That's the whole job of the BuimenLabo Gemini Pose Analyzer: feed it an image, and it sends that image to Google's Gemini 1.5 Flash, which writes back a detailed, natural-language pose description in English - plus a translation in any of 22 languages - ready to drop into a CLIP encoder.
Before the hype settles: this is not a ControlNet preprocessor. It doesn't produce the keypoint skeleton image that OpenPose/DWPose uses as a conditioning map. It produces prompt text. The two are complementary - you'd pair this with an OpenPose-based ControlNet for the spatial map, then use this node's output to put fine detail (weight distribution, limb placement, gaze direction) into the prompt itself. That's a real niche, but it's a niche.
How it works
The node converts your image tensor to a base64 JPEG (quality 98) and builds a long, opinionated English instruction for Gemini: count every person, describe body orientation, left/right limbs separately, weight distribution, hands, gazes, positional relationships between multiple people, and absolutely no intro text or words like "mannequin" or "doll". The API call is hardcoded to gemini-1.5-flash at temperature 0.1 with maxOutputTokens 2000 - low temperature so repeated runs describe the same pose the same way.
The response comes back with an English description and a translated version separated by a language keyword marker ([ζ₯ζ¬θͺ翻訳], [δΈζηΏ»θ―], and so on). The node strips out Gemini's typical "The image showsβ¦" chatter, splits the two halves, and returns them separately.
Inputs and outputs that matter
- image - an IMAGE tensor, straight from Load Image or your VAE decode.
- api_key - from Google AI Studio. The default is the placeholder
YOUR_GEMINI_API_KEY_HERE, and the node will happily run with that and hand you an error string. Check this first. - analysis_depth -
ultra_detailed/detailed/standard. Detailed is the sensible default; ultra is for when you need every finger called out. - focus_areas -
full_body,upper_body,hands_focus,face_focus. - pose_style -
natural,dynamic,static,artistic. - language - 22 languages for the translation output.
- existing_prompt (optional) - your current prompt; the node appends the pose description to it, comma-separated.
Outputs are english_prompt (wire this into CLIP Text Encode Positive) and trans_text (the human-readable version in your chosen language - mostly for reading, not for the graph).
Installing it
It ships in the same builmenlabo pack as the rest of these nodes: ComfyUI Manager β search "BuimenLabo" β install, or git clone https://github.com/comnote-max/builmenlabo into ComfyUI/custom_nodes. The pack's requirements list google-generativeai, though the analyzer itself calls the Gemini REST API directly via requests - either way, no model downloads. You need a Google account and a free API key, and the image leaves your machine.
Where people get burned
- The image goes to Google's servers. If the reference is something you care about, don't use this node. There's no local mode.
- No key = error strings in both outputs. The node returns
"Error: Please set your Gemini API key"as text, so a workflow that blindly wiresenglish_promptonward will quietly prompt with the word "Error". Check the output once before you trust the graph. - The model is fixed. No picker for newer Gemini models - if you want Gemini 2.x or 3.x you're out of luck with this node.
- Format is best-effort. Gemini doesn't always follow the exact
English [keyword] Translationtemplate, and the split logic depends on that marker. When it misbehaves you'll see the whole blob intrans_text. - Rate limits. The free Gemini tier is limited; a batch of many images can start failing mid-run. Space out the runs.
Worth repeating: the community's standing advice for structure-heavy work is a real pose map through ControlNet. Use this node to enrich the prompt side of that equation, not to replace the map.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | β | |
| api_key | STRING | YOUR_GEMINI_API_KEY_HERE | β |
| analysis_depth | COMBO | detailed | 3 options: ultra_detailed, detailed, standard |
| focus_areas | COMBO | full_body | 4 options: full_body, upper_body, hands_focus, face_focus |
| pose_style | COMBO | natural | 4 options: natural, dynamic, static, artistic |
| language | COMBO | japanese | 22 options: japanese, english, chinese, korean, spanish, french, +16 |
| existing_promptopt | STRING | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| english_prompt | STRING | β |
| trans_text | STRING | β |