Nodes/ComfyUI-ArchAi3d-Qwen/πŸŽ₯ Simple Camera Control v3
ComfyUI Node

πŸŽ₯ Simple Camera Control v3

Four camera modes, one node β€” Simple Camera Control v3 is the Swiss army camera

By amir84ferdosΒ·Created 11 months agoΒ·Updated 5 months agoΒ· 70
πŸŽ₯ Simple Camera Control v3
    • prompt
    • system_prompt
    • description
    β—„scene_contextmodern living room with grey sofa and fireplaceβ–Ί
    β—„control_modePosition Relative to Objectβ–Ί
    β—„target_objectthe fireplaceβ–Ί
    β—„spatial_relationin front ofβ–Ί
    β—„distance_from_targettwo metersβ–Ί
    β—„camera_orientationlooking at targetβ–Ί
    β—„tracked_objectthe sofaβ–Ί
    β—„movement_typeorbitβ–Ί
    β—„movement_directionrightβ–Ί
    β—„movement_distancefive metersβ–Ί
    β—„tracking_behaviorcentered in frameβ–Ί
    β—„exploration_directionforwardβ–Ί
    β—„exploration_distancethree metersβ–Ί
    β—„movement_stylesmooth glideβ–Ί
    β—„direction_hintβ–Ί
    β—„reveal_whatβ–Ί
    β—„alignment_targetwallβ–Ί
    β—„alignment_typeparallel toβ–Ί
    β—„distance_from_surfaceone meterβ–Ί
    β—„surface_detailβ–Ί
    β—„camera_angleeye levelβ–Ί
    β—„lens_typenormalβ–Ί
    β—„system_prompt_presetScene Preservation Camera (95%)β–Ί
    β—„preservation_clauseβ–Ί
    β—„debug_modefalseβ–Ί

    Most camera nodes in the ArchAi3d Qwen pack do one move. ArchAi3D_Qwen_Simple_Camera_Control - display name "πŸŽ₯ Simple Camera Control v3" - tries to do all of them, and mostly succeeds. It's the unified node: four modes (position relative to an object, move while tracking an object, free scene exploration, align with a surface), each with its own prompt structure, plus shared camera angle, lens and system-prompt controls. If you install one camera node from this pack, it's plausibly this one.

    The headline feature is control_mode, which changes what the node asks you. Mode 1 is product/architectural detail ("camera two meters in front of the fireplace, looking at it"). Mode 2 is tracking shots - orbit, dolly in/out, arc, truck, pedestal - with the tooltip quoting research success rates (orbit 95%, dolly 90%). Mode 3 is free exploration (walkthroughs, establishing shots). Mode 4 aligns the camera with a surface: parallel to the wall, perpendicular to the countertop, whatever. Pick the mode, and the relevant fields matter while the others sit idle.

    The inputs that matter

    The schema is large but mode-gated, so you only touch a slice. The genuinely important ones:

    • control_mode - the four modes above. Everything else is conditional on this.
    • scene_context - the scene description. Defaults to "modern living room with grey sofa and fireplace," and it's the consistency anchor for the whole node.
    • system_prompt_preset - research-validated system prompts with honesty in the names: "Scene Preservation Camera (95%)", "Virtual Camera Operator (92%)", "Cinematographer (85%)", or auto-select. The percentage is the author's reliability rating, and it's a nice touch that the rating is right there in the label.
    • distance fields - phrased as words, not numbers: "two meters", "five feet". The tooltips insist on word form, and the pack's research is that Qwen reads "two meters" better than "2m".
    • camera_angle and lens_type - apply to all modes. Fisheye for drama, telephoto for compression; Qwen honors lens words better than exact focal lengths.
    • preservation_clause - free text to pin things ("keep furniture unchanged").

    Outputs: prompt, system_prompt (both into your Qwen encoder), and description (a human-readable readout of what was built).

    How it works

    Each mode assembles a different prompt template - that's the whole trick. Mode 1 concatenates spatial relation + distance + orientation into a "position the camera [relation] the [object], [distance], [orientation]" instruction; Mode 2 uses the verified orbit/dolly phrasing with a tracking clause; Mode 4 lines the camera up with the named surface. The system_prompt_preset then picks the stabilizing system prompt, and automatic number-to-word conversion handles any numeric input. No pixels, no API - pure template + string assembly for Qwen-Edit.

    Installing it

    Part of ComfyUI-ArchAi3d-Qwen by Amir Ferdos (ArchAi3d):

    # ComfyUI Manager: search "ArchAi3d Qwen"
    cd ComfyUI/custom_nodes
    git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
    cd ComfyUI-ArchAi3d-Qwen
    pip install -r requirements.txt
    

    Restart. You supply the Qwen-Image-Edit model (GGUF-quantized for consumer VRAM) and the encoder.

    Common issues

    • "Simple" is a stretch on first open. The node has 28 inputs because it multiplexes four modes. Once you realize only the current mode's fields matter, it's fine - but the first load is intimidating.
    • Numbers vs words. Feed distances as words ("two meters") as the tooltips insist; digits trip the model up more than they should.
    • Tracking people can fail differently. Mode 2 with a person tracked is where the "model rotates the person instead of the camera" failure lives. Keep the subject centered.
    • Drift, as always. Qwen-Edit re-emits the whole frame; the 95% system prompt reduces but doesn't eliminate scene mutation.

    It's the pack's most capable camera node and the one I'd reach for first - the mode gating is a genuinely good idea, and the reliability ratings in the dropdowns are the kind of honest labeling you don't usually get.

    CategoryArchAi3d/Qwen/Camera

    Inputs (25)

    NameTypeDefaultDescription
    scene_contextSTRINGmodern living room with grey sofa and fireplaceDescribe the scene. Ex: 'modern living room', 'brick building exterior'
    control_modeCOMBOPosition Relative to ObjectChoose mode based on what you want to do. Each mode uses different prompt structure.
    target_objectSTRINGthe fireplace[Mode 1] Object to position camera relative to. Ex: 'the sofa', 'the door', 'the table'
    spatial_relationCOMBOin front of[Mode 1] Camera's spatial relationship to the object
    distance_from_targetSTRINGtwo meters[Mode 1] Distance from object. Use WORDS: 'two meters', 'five feet', 'three meters'
    camera_orientationCOMBOlooking at target[Mode 1] Which way is camera pointing relative to object?
    tracked_objectSTRINGthe sofa[Mode 2] Object to keep in frame while moving. Ex: 'the chair', 'the person'
    movement_typeCOMBOorbit[Mode 2] Type of camera movement. Orbit=95% success, Dolly=90%
    movement_directionCOMBOright[Mode 2] Direction for movement
    movement_distanceSTRINGfive meters[Mode 2] Movement distance. Use WORDS: 'five meters', 'ninety degrees'
    tracking_behaviorCOMBOcentered in frame[Mode 2] How to keep object in frame during movement
    exploration_directionCOMBOforward[Mode 3] Direction to move through scene
    exploration_distanceSTRINGthree meters[Mode 3] How far to move. Use WORDS: 'three meters', 'ten feet'
    movement_styleCOMBOsmooth glide[Mode 3] Style of movement through space
    direction_hintSTRING[Mode 3] Optional: 'toward the window', 'past the kitchen', 'around the corner'
    reveal_whatSTRING[Mode 3] Optional: What's being revealed? 'more of the room', 'the dining area'
    alignment_targetCOMBOwall[Mode 4] Surface or element to align camera with
    alignment_typeCOMBOparallel to[Mode 4] How camera relates to the surface
    distance_from_surfaceSTRINGone meter[Mode 4] Distance from surface. Use WORDS: 'one meter', 'two feet'
    surface_detailSTRING[Mode 4] Optional: 'brick texture', 'wood grain', 'tile pattern'
    camera_angleCOMBOeye level[All Modes] Camera angle/height
    lens_typeCOMBOnormal[All Modes] Lens type affects field of view
    system_prompt_presetCOMBOScene Preservation Camera (95%)Research-validated system prompts. 95% = highest consistency rating
    preservation_clauseSTRINGOptional: Add preservation instructions. Ex: 'keep furniture unchanged', 'maintain lighting'
    debug_modeBOOLEANfalsePrint generated prompts to console for debugging

    Outputs (3)

    NameTypeDescription
    promptSTRINGβ€”
    system_promptSTRINGβ€”
    descriptionSTRINGβ€”