Phota Profile Selector
Pick a trained Phota profile from a dropdown, not from memory
- profile_id
- profile
The dropdown that saves you from typing IDs
Profile IDs are long opaque strings, and you don't want to memorize them. PhotaProfileSelector is a dropdown of every trained profile on your account - labeled id [status] (tag) so you can tell them apart - and it hands you the chosen one in two forms: a plain profile_id string and a typed PHOTA_PROFILE reference. The typed ref is the useful one, because it plugs straight into the profile socket on Phota Status/Picture/Delete and the subject_1/subject_2 sockets on Generate/Edit/Enhance, with all the metadata (status, tag) riding along.
How it works
When ComfyUI builds the node list - i.e., when the page loads or you refresh - the node queries the API for your profiles and fills the dropdown. That's the whole mechanism, and it's also the main gotcha: the list is baked at page load and can't react to widgets. Train a new profile and the dropdown won't show it until you refresh the browser. The README is upfront about this and points you to the PHOTA_PROFILE_TAG environment variable if you want the dropdown filtered to a single tag at build time.
There's a manual_profile_id field as an escape hatch: set it and it overrides the dropdown entirely. That's also your recovery path when you have no key configured or the profile list is empty - the dropdown degrades to a sentinel entry, "(no profiles found - train one or paste an ID below)", and the node will raise a friendly error telling you exactly that if you run it that way. In other words, you can't silently generate with a bogus selection; it forces you to either train a profile or type an ID.
The inputs
- profile - the dropdown (required). This is the selection itself.
- manual_profile_id - optional; overrides the dropdown when set.
Outputs
- profile_id - the plain ID string, for wiring into a
profile_idtext field if a node only accepts typed IDs. - profile - the typed
PHOTA_PROFILEreference, for theprofile/subject_1/subject_2sockets. This is the one you'll actually use most.
The usual flow
Train a profile → drop a Selector into your workflow → wire its profile output into PhotaGenerate's subject_1 → write [[profile1]] in the prompt. When you want a different subject, just change the dropdown and regenerate - no editing IDs, no retyping.
Install is the standard pack routine: search Phota API Nodes in ComfyUI Manager, or git clone https://github.com/photalabs/comfyui-phota into custom_nodes and restart. Only dependency is requests, nothing runs locally, and listing profiles is a free call against your credits.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| profile | COMBO | 1 options: (no profiles found — train one or paste an ID below) | |
| manual_profile_idopt | STRING | Overrides the dropdown when set. Refresh the browser to reload the dropdown. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| profile_id | STRING | — |
| profile | PHOTA_PROFILE | — |