Nodes/ComfyUI-Korean-Prompt-Engineer-with-LLM/Korean Prompt Engineer ๐Ÿ‡ฐ๐Ÿ‡ท
ComfyUI Node

Korean Prompt Engineer ๐Ÿ‡ฐ๐Ÿ‡ท

Your Korean Idea, a Pro English Prompt โ€” No Prompt-ese Required

By TheGaruraยทCreated 11 months agoยทUpdated 11 months agoยท 0
Korean Prompt Engineer ๐Ÿ‡ฐ๐Ÿ‡ท
    • ๊ธ์ • ํ”„๋กฌํ”„ํŠธ
    • ๋ถ€์ • ํ”„๋กฌํ”„ํŠธ
    โ—„korean_prompt๋ฏธ๋ž˜ ๋„์‹œ์˜ ๋ฐค๊ฑฐ๋ฆฌ๋ฅผ ๊ฑท๋Š” ์‚ฌ์ด๋ฒ„ํŽ‘ํฌ ๊ณ ์–‘์ดโ–บ
    โ—„camera_angle์˜ค๋ฒ„ํ—ค๋“œโ–บ
    โ—„camera_lens50mm (ํ‘œ์ค€)โ–บ
    โ—„lighting_setup์ŠคํŠœ๋””์˜ค ์กฐ๋ช…โ–บ
    โ—„mood_atmosphere๊ทน์ ์ธโ–บ
    โ—„color_grade์ƒ์ƒํ•œโ–บ
    โ—„composition์‚ผ๋ถ„ํ•  ๊ตฌ๋„โ–บ
    โ—„quality_settings๊ณ ํ’ˆ์งˆโ–บ
    โ—„negative_prompt_styleํ‘œ์ค€โ–บ
    โ—„temperature0.7โ–บ
    โ—„max_tokens1000โ–บ
    โ—„provider_nameopenaiโ–บ
    โ—„custom_instructionsโ–บ
    โ—„user_negative_promptโ–บ

    You type "๋ฏธ๋ž˜ ๋„์‹œ์˜ ๋ฐค๊ฑฐ๋ฆฌ๋ฅผ ๊ฑท๋Š” ์‚ฌ์ด๋ฒ„ํŽ‘ํฌ ๊ณ ์–‘์ด" into a node, pick a camera angle and a mood, and it hands you a finished English prompt like a cyberpunk cat walking through a neon-lit city street at night, overhead shot, 85mm telephoto lens, cinematic lighting, ethereal atmosphere, ultra detailed. That's the whole pitch of KoreanPromptEngineer, the single node in the ComfyUI-Korean-Prompt-Engineer-with-LLM pack. No prompt tutorials to memorize, no term sheet of photography jargon - an LLM does the translating and expanding for you.

    It's a niche tool with a real audience: anyone who thinks in Korean and generates in English. And honestly, that's a bigger group than English speakers tend to assume. There's zero installs' worth of hype here - this is a small, MIT-licensed, v0.1 pack by one developer (TheGarura), so you won't see it on every workflow. That's fine. It works.

    How it actually works

    Under the hood it's a two-stage pipeline. First, the node builds an instruction in English that says, roughly, "translate and expand this Korean idea into one compact, professional image-generation prompt - no commentary, no explanations, only the prompt" and sends it to whatever LLM you've picked. Then it takes the model's reply and appends a set of pre-written photographic keyword phrases for each option you chose - so "85mm (๋ง์›)" becomes 85mm telephoto prime, shallow depth of field, beautiful bokeh, subject isolation, straight from the pack's template maps.

    The negative prompt is handled separately: give it user_negative_prompt text and it'll translate it if it's Korean or use it as-is if it's already English; leave it blank and it auto-generates from the negative_prompt_style you picked (ํ‘œ์ค€/์—„๊ฒฉํ•œ/์ตœ์†Œํ•œ์˜ - standard, strict, minimal).

    A note that matters for how you'll actually use it: this is not a local model node. Unless you point it at Ollama, every queue run fires one or two real LLM API calls - that's cost and latency per generation, and your prompt text leaves your machine. The API path also means whatever filter your provider runs is baked in, so anything the model refuses, the node refuses.

    The inputs that matter

    You'll set korean_prompt (the only required input, and yes, it must be Korean - there's a validation check), provider_name (openai, claude, gemini, or ollama - it must match what you configured), and then the fun part: camera_angle, camera_lens, lighting_setup, mood_atmosphere, color_grade, composition, and quality_settings are all Korean-labeled dropdowns with sensible defaults. temperature (0โ€“2) controls how free the LLM gets, and max_tokens caps output length. custom_instructions is where you drop English style notes like in the style of Blade Runner 2049.

    The two outputs are plain STRINGs - the positive and negative prompt. Wire them into the text inputs of two CLIP Text Encode nodes and you're off. Works with whatever checkpoint you're running, and it plays particularly nicely with LLM-encoded models where the encoder itself reads instructions.

    Installing it

    From ComfyUI Manager: search "Korean Prompt Engineer" and hit install. Or the manual way:

    cd ComfyUI/custom_nodes
    git clone https://github.com/TheGarura/ComfyUI-Korean-Prompt-Engineer-with-LLM
    cd ComfyUI-Korean-Prompt-Engineer-with-LLM
    pip install -r requirements.txt
    

    Then the part people miss: this pack does not work out of the box. Copy .env.example to .env inside the pack folder and put in at least one API key (OpenAI/Anthropic/Gemini) or an Ollama base URL and model. No key, no dice - the node raises a clear "API key missing" error. Check .env.example for current model names; the ones in the old README (claude-3-opus, gpt-4-turbo) are stale.

    Gotchas

    • Every run costs a call. If you're iterating a lot, the Ollama path is the free local way out.
    • The LLM can be chatty. The prompt instruction tells it to output only the prompt, but there's no regex cleaner, so a disobedient model can leak "Here is your prompt:" preamble into your conditioning. If output looks dirty, switch providers or lower the temperature.
    • The UI is Korean-labeled. Fine if you read it; if not, the defaults are sensible and the tooltips help.

    A blank page is the enemy of a good generation. This node just deletes it in two languages.

    Categoryconditioning/prompt

    Inputs (14)

    NameTypeDefaultDescription
    korean_promptSTRING๋ฏธ๋ž˜ ๋„์‹œ์˜ ๋ฐค๊ฑฐ๋ฆฌ๋ฅผ ๊ฑท๋Š” ์‚ฌ์ด๋ฒ„ํŽ‘ํฌ ๊ณ ์–‘์ดโ€”
    camera_angleoptCOMBO์˜ค๋ฒ„ํ—ค๋“œ6 options: ์ •๋ฉด, 3/4 ๊ฐ๋„, ์ธก๋ฉด, ์˜ค๋ฒ„ํ—ค๋“œ, ๋กœ์šฐ ์•ต๊ธ€, ๋”์น˜ ์•ต๊ธ€
    camera_lensoptCOMBO50mm (ํ‘œ์ค€)6 options: 24mm (์ดˆ๊ด‘๊ฐ), 35mm (๊ด‘๊ฐ), 50mm (ํ‘œ์ค€), 85mm (๋ง์›), 135mm (์žฅ๋ง์›), ๋งคํฌ๋กœ (์ ‘์‚ฌ)
    lighting_setupoptCOMBO์ŠคํŠœ๋””์˜ค ์กฐ๋ช…8 options: ์ŠคํŠœ๋””์˜ค ์กฐ๋ช…, ์‹œ๋„ค๋งˆํ‹ฑ ์กฐ๋ช…, ์ž์—ฐ๊ด‘, ๊ณจ๋“  ์•„์›Œ, ์—ญ๊ด‘, ๋ฆผ ๋ผ์ดํŒ…, +2
    mood_atmosphereoptCOMBO๊ทน์ ์ธ8 options: ๊ทน์ ์ธ, ์Œ์šธํ•œ, ๋ฐ๊ณ  ์พŒํ™œํ•œ, ๋ฉœ๋ž‘์ฝœ๋ฆฌํ•œ, ์‹ ๋น„๋กœ์šด, ๋‚ญ๋งŒ์ ์ธ, +2
    color_gradeoptCOMBO์ƒ์ƒํ•œ7 options: ์ƒ์ƒํ•œ, ์ฑ„๋„ ๋‚ฎ์€, ๋”ฐ๋œปํ•œ ํ†ค, ์ฐจ๊ฐ€์šด ํ†ค, ํ‘๋ฐฑ, ๋“€์˜คํ†ค, +1
    compositionoptCOMBO์‚ผ๋ถ„ํ•  ๊ตฌ๋„6 options: ์ค‘์•™ ๊ตฌ๋„, ์‚ผ๋ถ„ํ•  ๊ตฌ๋„, ๋ฆฌ๋”ฉ ๋ผ์ธ, ๊นŠ์ด ๋ ˆ์ด์–ด, ๋Œ€์นญ ๊ตฌ๋„, ๋Œ€๊ฐ์„  ๊ตฌ๋„
    quality_settingsoptCOMBO๊ณ ํ’ˆ์งˆ4 options: ์ดˆ๊ณ ํ™”์งˆ, ๊ณ ํ’ˆ์งˆ, ์ „๋ฌธ์ ์ธ, ์‹œ๋„ค๋งˆํ‹ฑ ํ’ˆ์งˆ
    negative_prompt_styleoptCOMBOํ‘œ์ค€3 options: ํ‘œ์ค€, ์—„๊ฒฉํ•œ, ์ตœ์†Œํ•œ์˜
    temperatureoptFLOAT0.70โ€“2โ€”
    max_tokensoptINT1000100โ€“2000โ€”
    provider_nameoptCOMBOopenai4 options: openai, claude, gemini, ollama
    custom_instructionsoptSTRINGโ€”
    user_negative_promptoptSTRINGโ€”

    Outputs (2)

    NameTypeDescription
    ๊ธ์ • ํ”„๋กฌํ”„ํŠธSTRINGโ€”
    ๋ถ€์ • ํ”„๋กฌํ”„ํŠธSTRINGโ€”