Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified docs/img/invokeai_metadata.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/img/invokeai_metadata_full.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/img/invokeai_photomap_settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/img/photomap_invokeai.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/img/photomap_invokeai_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 25 additions & 16 deletions docs/user-guide/invokeai-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,37 +169,45 @@ parameters listed.

---

## Add, Append, Remix and Reference Images
## Send, Append, Remix and Recall

When an InvokeAI backend is configured, up to four new buttons appear
in the metadata drawer when an InvokeAI backend is configure. Which
ones are available depends on the image that is currently selected.
in an **InvokeAI** section at the bottom of the metadata drawer:
**Send Image**, **Append Image**, **Remix** and **Recall**. Which ones
are available depends on the image that is currently selected.

### Use as Ref Image
### Send Image and Append Image

Any image — generated by InvokeAI or not — can be sent to InvokeAI as
a **reference image**. PhotoMapAI uploads the image bytes to your
InvokeAI gallery (in the board you selected above) so you can
immediately drop it into a Reference Image / IP-Adapter / ControlNet
layer. This is the only button that appears for non-InvokeAI images,
immediately use it in a Reference Image / IP-Adapter / ControlNet
layer. These are the only buttons that appear for non-InvokeAI images,
since there is no generation metadata to recall.

<img src="../../img/photomap_invokeai_use_ref_only.png" width="480"
class="img-hover-zoom" alt="Metadata drawer showing only the Use as
Ref Image button">
class="img-hover-zoom" alt="Metadata drawer showing the Send Image
and Append Image buttons">

The **Send Image** button will send the current image to InvokeAI,
The **Send Image** button sends the current image to InvokeAI,
replacing any reference image that was currently set in the generation
parameters. In contrast, the **Append Image** button will send the
current image to InvokeAI, but add the image to the list of reference
images.
parameters. In contrast, the **Append Image** button adds the current
image to the end of the existing list of reference images, leaving any
images already there in place.

If the image you have selected is one that InvokeAI has never seen, it
will automatically be uploaded as an asset image to the board selected
in the PhotoMapAI configuration dialogue. If you are working with an
image that was generated by InvokeAI and is still in one of its
galleries, then the image will be reused.

!!! note
PhotoMapAI probes the InvokeAI backend to find out which of these
operations it supports, and hides the buttons it cannot honour.
**Send Image**, **Remix** and **Recall** require InvokeAI 6.13.0
or later; **Append Image** requires InvokeAI 6.13.5 or later. If a
button you expect is missing, upgrade InvokeAI.

By default, the selected image is used as a reference image for an
image edit model or as an IP Adapter reference image. If you wish to
use it in the InvokeAI Canvas as a raster image or controlnet, go into
Expand All @@ -213,8 +221,8 @@ If the current image contains InvokeAI metadata, two new buttons will
appear:

<img src="../../img/photomap_invokeai_with_recall_buttons.png" width="480"
class="img-hover-zoom" alt="Metadata drawer showing only the Use as
Ref Image button">
class="img-hover-zoom" alt="Metadata drawer showing the Send Image,
Append Image, Remix and Recall buttons">


For images that contain InvokeAI generation metadata, **Remix** sends
Expand Down Expand Up @@ -243,7 +251,8 @@ A few situations are not surfaced inline and are worth knowing about:

- **Boards dropdown is empty or stuck on *Uncategorized*** — usually means authentication failed silently. If your InvokeAI is in multi-user mode, fill in the username and password and re-enter the URL to retrigger the probe.
- **Recall / Remix succeeds but no image queues in InvokeAI** — switch to InvokeAI's browser tab. The recalled parameters land in the canvas/generation panel; you still have to press *Invoke* to start the queue.
- **Buttons stay greyed out for an InvokeAI-generated image** — the image was probably produced by an InvokeAI version PhotoMapAI does not yet recognise. Check the *Show full metadata* link at the bottom of the drawer to confirm the metadata is present, and please [open an issue](https://github.com/lstein/PhotoMapAI/issues) so we can add support for the new schema.
- **Remix / Recall buttons missing for an InvokeAI-generated image** — the image was probably produced by an InvokeAI version PhotoMapAI does not yet recognise (only **Send Image** and **Append Image** are shown in that case). Check the *View Metadata (JSON)* link at the bottom of the drawer to confirm the metadata is present, and please [open an issue](https://github.com/lstein/PhotoMapAI/issues) so we can add support for the new schema.
- **Append Image button missing** — the configured InvokeAI backend predates the append option (it shipped in InvokeAI 6.13.5). Upgrade InvokeAI to enable it.

### PhotoMapAI and InvokeAI on different machines

Expand All @@ -253,4 +262,4 @@ The integration is designed for a single workstation but works across machines t
2. In PhotoMapAI's **InvokeAI Backend URL** field, use the LAN address or hostname of the InvokeAI machine, not `localhost` (for example `http://10.0.0.42:9090`).
3. The album path you configured in *Creating an InvokeAI Album* must be readable by the PhotoMapAI server. If InvokeAI's `outputs/images/` lives on the InvokeAI machine, mount it on the PhotoMapAI machine over SMB / NFS / SSHFS and point the album at the mount point.

The **Use as Ref Image** action uploads the image bytes over the wire and works regardless of where the file lives. **Recall** and **Remix** only send metadata, so they also work cross-machine — but the receiving InvokeAI server must have the same models, LoRAs, and embeddings installed for the recalled parameters to produce the expected result.
The **Send Image** and **Append Image** actions upload the image bytes over the wire and work regardless of where the file lives. **Recall** and **Remix** only send metadata, so they also work cross-machine — but the receiving InvokeAI server must have the same models, LoRAs, and embeddings installed for the recalled parameters to produce the expected result.
8 changes: 4 additions & 4 deletions photomap/frontend/templates/modules/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -216,8 +216,8 @@
"
>
URL of a running InvokeAI server to enable the
<em>Recall</em>, <em>Remix</em>, and <em>Use as Ref Image</em>
buttons in the metadata drawer.
<em>Send Image</em>, <em>Append Image</em>, <em>Remix</em>, and
<em>Recall</em> buttons in the metadata drawer.
</small>
</div>
<div id="invokeaiAuthSection" hidden>
Expand Down Expand Up @@ -253,8 +253,8 @@
grid-column: 2 / 3;
"
>
Reference images uploaded via
<em>Use as Ref Image</em> are placed in this board.
Reference images uploaded via <em>Send Image</em> or
<em>Append Image</em> are placed in this board.
</small>
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading