ComfyUI Extension: jan-prompt-presets
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.
A collection of small utility nodes for ComfyUI that make common prompt-building and sampler configuration tasks faster.
Looking for a different extension?
Custom Nodes (8)
README
jan-prompt-presets
A collection of small utility nodes for ComfyUI that make common prompt-building and sampler configuration tasks faster. All nodes live under the prompt/presets category.
Nodes
Camera Presets
Outputs a prompt string for common camera angles and shot types.
| Option | Description | |---|---| | None / Custom | Empty output — use the custom override field | | Cinematic Hero | Low angle, dramatic perspective, foreshortening | | Dynamic Action | Dutch angle, tilted camera, wide angle lens | | Intimate Portrait | Close-up, eye level, shallow depth of field | | Character Showcase | Full body, eye level, centered composition | | Over-the-Shoulder Scene | OTS framing, medium shot, depth of field | | Epic Wide Scene | Wide shot, low angle, cinematic framing |
Output: camera_prompt (STRING)
Optional input: custom_override — if filled, replaces the dropdown entirely.
Lighting Presets
Outputs a prompt string for common lighting setups.
| Option | Description | |---|---| | None / Custom | Empty output — use the custom override field | | Dramatic | Strong directional light, deep shadows, chiaroscuro | | Cinematic | Three-point lighting, colour grading, anamorphic flare | | Golden Hour | Warm sunlight, long soft shadows, amber tones | | Neon Night | Vibrant neon, cyan/magenta spill, cyberpunk atmosphere | | Moody Thriller | Low key, cool tones, noir atmosphere | | Soft Natural Daylight | Diffused overcast light, even illumination, airy feel | | Moonlit Night | Cool pale moonlight, silver and deep blue tones | | Studio | Professional softbox, clean white background |
Output: lighting_prompt (STRING)
Optional input: custom_override — if filled, replaces the dropdown entirely.
SDXL Resolution Picker
Outputs width and height for all standard SDXL bucket resolutions (the aspect ratios the model was trained on).
| Option | Resolution | |---|---| | 1024 x 1024 (1:1 Square) | 1024 × 1024 | | 1152 x 896 (9:7 Landscape) | 1152 × 896 | | 1216 x 832 (3:2 Landscape) | 1216 × 832 | | 1344 x 768 (16:9 Landscape) | 1344 × 768 | | 1536 x 640 (12:5 Wide) | 1536 × 640 | | 896 x 1152 (7:9 Portrait) | 896 × 1152 | | 832 x 1216 (2:3 Portrait) | 832 × 1216 | | 768 x 1344 (9:16 Portrait) | 768 × 1344 | | 640 x 1536 (5:12 Tall) | 640 × 1536 |
Outputs: width (INT), height (INT)
Scheduler Selector
A clean dropdown for picking a scheduler, sourced directly from ComfyUI's core (comfy.samplers.KSampler.SCHEDULERS). Automatically includes any schedulers added by other installed packages.
Output: scheduler — type-compatible with the scheduler input on KSampler and similar nodes.
Sampler Selector
Same as Scheduler Selector but for samplers, sourced from comfy.samplers.KSampler.SAMPLERS.
Output: sampler_name — type-compatible with the sampler input on KSampler and similar nodes.
Text Split
Splits a multiline string into a list, one element per line.
Input: text (STRING, multiline), skip_empty_lines (BOOLEAN, default: true)
Output: list (STRING_LIST)
List Get Index
Returns a single element from a STRING_LIST by index. Supports negative indices (-1 = last element).
Input: list (STRING_LIST), index (INT)
Output: element (STRING)
LM Studio Vision Prompt Enhancer
Takes a start image and an optional short scene description, sends both to a vision-capable LLM running in LM Studio, and returns a Wan-optimised motion prompt ready to feed into a text encoder.
Designed to work alongside the ComfyUI-EBU-LMStudio node pack — use the EBU Load and Unload nodes to manage the LLM lifecycle around this node.
| Input | Type | Description |
|---|---|---|
| image | IMAGE | The start image to describe and expand |
| model_name | STRING | Partial name of the model loaded in LM Studio (e.g. "qwen") |
| url | STRING | LM Studio API endpoint (default: http://127.0.0.1:1234/v1/chat/completions) |
| max_tokens | INT | Maximum response length (default: 300) |
| temperature | FLOAT | Sampling temperature (default: 0.5) |
| scene_description | STRING (optional) | Short hint to guide the output, e.g. "A girl dances on a tropical beach." — if empty, the LLM works from the image alone |
| system_prompt | STRING (optional) | System prompt sent to the LLM — editable in the node for tuning without touching code |
Output: enhanced_prompt (STRING)
Requirements:
- LM Studio running with Developer Mode enabled
- A vision-capable model loaded (e.g. Qwen3 9B with mmproj file)
Installation
- Clone or copy this folder into
ComfyUI/custom_nodes/:git clone https://github.com/kursopiko/jan-prompt-presets.git - Restart ComfyUI.
- All nodes will appear under the
prompt/presetscategory.
Credits
Created by JAN (@kursopiko) with assistance from Claude (Anthropic).
Run ComfyUI workflows without the setup
No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.