Shot by Text - Manual Placement
Anchor your product, describe the rest
- image
- output_image
ShotByTextManualPlacement (shown as Shot by Text - Manual Placement) gives you the best of both product-shot worlds: a written scene description for the background, and a fixed named position for your product. Describe the room, tell Bria the product sits bottom-right, and the model builds a scene that works around that anchor.
The text-driven Automatic nodes let the model place the product wherever it likes, which is fine for exploring and frustrating when it matters. This is the node for the "settled" version of an idea - you've committed to a layout, and now you want the scene to bend to it instead of the other way around.
How it works
Inputs: image (product), scene_description, shot_size (default 1000, 1000), and manual_placement_selection - ten named positions (upper_left, upper_right, bottom_left, bottom_right, left_center, right_center, upper_center, bottom_center, center_vertical, center_horizontal). It calls Bria's /v1/product/lifestyle_shot_by_text endpoint with the manual_placement type. Text controls carry over: mode (base / fast / high_control, default fast), optimize_description (default true), exclude_elements, plus force_rmbg and content_moderation. One output: output_image.
Installing it
Part of the BRIA AI API nodes pack (Bria-AI/ComfyUI-BRIA-API). ComfyUI Manager → search BRIA API → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Bria-AI/ComfyUI-BRIA-API
Restart ComfyUI; it's under API Nodes. No downloads, no GPU - cloud call needing a BRIA API token from platform.bria.ai, billed per generation.
Practical notes
Write the description to match the anchor. If the product is bottom_center and your prompt fills the scene with countertop clutter at the bottom, you're fighting yourself - describe open space where the product will sit, like a human art director would. And watch the same limitation as every manual placement node: ten named slots only, no fine-tuning. When "bottom_left" is almost right but not quite, Custom Coordinates is the upgrade, letting you type the exact x, y position instead.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | BRIA_API_TOKEN | — |
| image | IMAGE | — | |
| scene_description | STRING | — | |
| mode | COMBO | fast | 3 options: base, fast, high_control |
| shot_size | STRING | 1000, 1000 | — |
| manual_placement_selection | COMBO | upper_left | 10 options: upper_left, upper_right, bottom_left, bottom_right, right_center, left_center, +4 |
| force_rmbgopt | BOOLEAN | false | — |
| content_moderationopt | BOOLEAN | false | — |
| optimize_descriptionopt | BOOLEAN | true | — |
| exclude_elementsopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output_image | IMAGE | — |