Camera Type Selector
39 cameras as a ComfyUI dropdown
- prompt
Camera Type Selector is the pack's answer to one of the best-documented prompting tricks in the whole ecosystem: naming a physical piece of equipment does more for photorealism than a paragraph of "realistic, high quality" ever did. It gives you a dropdown of 39 real cameras - Kodak Brownie, Holga, Arri Alexa, CCTV, night vision - and turns your choice into Change camera type to Arri Alexa cinema camera as a single string you feed straight into your text encoder. If you've been writing "35mm film camera, candid, amateur" by hand every time, this is that sentence as a reusable widget.
How it works
No magic here. You pick a camera from the dropdown, the node wraps it in the prefix Change camera type to , and returns one STRING named prompt. The list is curated with actual intent: vintage film and early imaging (Bolex 16mm, Sony Mavica), instant and toy cameras (Polaroid SX-70, Holga), classic SLRs (Canon AE-1, Nikon F3), modern digital (Sony Alpha A7 III, Fujifilm X100V), cinema rigs (RED Komodo, Panavision Panaflex), and a surveillance-and-specialty tail (dashcam, thermal, night vision). That spread matters, because the whole point is letting the model's training data do the work - "Holga toy medium format camera" drags a very different look out of the checkpoint than "Canon EOS 5D Mark IV DSLR" does, and you didn't have to remember either phrasing.
The dropdown also contains a random option, sampled via random.Random(seed). Same seed, same camera. Set the seed widget to randomize after generate and every queue roll gets a different look - a lazy man's camera-rotation for character sheets, the way people batch-hunt prompt variety elsewhere in the ecosystem.
Inputs and outputs that matter
camera_type- 39 cameras plusrandom. DefaultCanon EOS 5D Mark IV DSLR.seed- only matters whencamera_typeisrandom.previous_prompt(optional) - chain other selectors ahead of this one.prefixandseparator- defaults (Change camera type toand,) are fine as-is.- Output: one STRING named
prompt, into CLIPTextEncode or into the next selector.
Chain it with the pack's other nodes and you get the full sentence in one wire: Change camera type to Leica M6 rangefinder, Change camera angle to front view eye-level shot medium shot. The phrasing is tailored to Flux 2 Klein 9B - the pack is named after it - which wants exactly this kind of "change X to Y" instruction, but it reads as an ordinary prompt on any checkpoint.
Install
ComfyUI Manager, search "Multi-Angle Camera Selector", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/saluzafa/comfyui-klein9b-multi-angle
Standard library only, no models to fetch, MIT licensed. The node lives under prompt/camera in the menu, next to the Camera Angle Selector.
Gotchas
- Remember what this node is: it names a camera, it doesn't simulate one. Whether the checkpoint honors "Panavision Panaflex" depends on how strongly it associates that phrase with a look. On Flux-era models the equipment trick is high-leverage; on tag models you may need to add quality tags alongside it.
- If you set
randomand keep seeing the same camera, your seed widget is onfixed. Randomize it. - This one's the pack's dark horse for a reason: people searching "camera type prompt" land here and find a genuinely curated list instead of a generic text box. Use it as a lookbook you don't have to memorize.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| camera_type | COMBO | Canon EOS 5D Mark IV DSLR | 40 options: random, Kodak Brownie box camera, pinhole camera, Bolex 16mm film camera, Super 8 film camera, VHS camcorder, +34 |
| prefix | STRING | Change camera type to | — |
| separator | STRING | , | — |
| seed | INT | 00–18446744073709550000 | — |
| previous_promptopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |