Street View Loader 🦬
Pull real street-level photos into ComfyUI — geocoding included
- IMAGE
Want actual street-level reference photos in your graph? Street View Loader hits the Google Street View Image API and pulls a real photo of a real place into ComfyUI. Type "Eiffel Tower, Paris" or drop in coordinates, and out comes an IMAGE tensor you can feed to img2img, ControlNet, IP-Adapter, or a reference pipeline. For cityscapes, storefronts, and "what does this neighborhood actually look like" reference work, it's a shortcut that beats scraping images by hand.
It comes from Sokes Nodes 🦬, and it's the one node in the pack that needs real-world setup - a Google API key.
How it works
Two modes, switched by location_mode:
- Address - it geocodes your text through Nominatim (the free OpenStreetMap geocoder, no key needed) to get coordinates, then calls the Street View API.
- Latitude/Longitude - straight to the API with your numbers.
The Street View call passes your resolution (640×640, 640×480, or 512×512), fov (field of view, 10–120), heading (which direction the camera faces, 0–360), and pitch (tilt). The optional point_at_address toggle is the clever bit: it asks Google for the nearest panorama, then computes the heading toward your target so the camera automatically points at the place you asked about, and resets pitch to 0. Perfect when you don't want to guess a bearing.
Inputs & outputs
- address - default "Eiffel Tower, Paris, France". Used when location_mode is Address.
- latitude / longitude - defaults already point at the Eiffel Tower; handy defaults if you just want to test.
- google_source - "default" or "outdoor" (outdoor imagery).
- heading / pitch / fov - camera controls.
Single output: IMAGE.
Install & setup
Sokes Nodes 🦬 installs like any pack - ComfyUI Manager, search "ComfyUI Sokes Nodes", Install, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/m-sokes/ComfyUI-Sokes-Nodes.git
pip install -r requirements.txt
Then the key. You need a Google API key with the Street View Static API enabled (from Google Cloud Console), and the environment variable set before ComfyUI starts:
export GOOGLE_STREET_VIEW_API_KEY="your_key_here"
Common issues
- Missing key - you don't get an exception, you get a red error image with instructions baked into it. Obvious and honestly a good design.
- No imagery at a location - rural spots and some countries simply have no Street View coverage. You get a black image and a console warning.
- Cost - the Street View Static API isn't free forever. It has a monthly free tier, then it's per-request. For a hobbyist pulling a handful of reference shots a day it's fine; for automation runs it adds up. Keep an eye on the billing page.
- Address geocoding is best-effort - Nominatim is free and rate-limited, so a typo or an obscure address can fail. When it does, the node returns a black image rather than crashing.
The one you'll reach for: set location_mode to Address, type a famous spot, flip point_at_address on, and you get a properly oriented shot of the place - which is 90% of what anyone actually wants from a street view node.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| resolution | COMBO | 3 options: 640x640 (1:1), 640x480 (4:3), 512x512 (1:1) | |
| location_mode | COMBO | 2 options: Address, Latitude/Longitude | |
| address | STRING | Eiffel Tower, Paris, France | — |
| latitude | FLOAT | 48.8583-90–90 | — |
| longitude | FLOAT | 2.2945-180–180 | — |
| fov | INT | 9010–120 | — |
| heading | FLOAT | 235.0000–360 | — |
| pitch | FLOAT | 10.000-90–90 | — |
| google_source | COMBO | 2 options: default, outdoor | |
| point_at_addressopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |