Nodes Browser

ComfyDeploy: How image-caption-comfyui works in ComfyUI?

What is image-caption-comfyui?

Using image caption models to extract prompts in ComfyUI

How to install it in ComfyDeploy?

Head over to the machine page

  1. Click on the "Create a new machine" button
  2. Select the Edit build steps
  3. Add a new step -> Custom Node
  4. Search for image-caption-comfyui and select it
  5. Close the build step dialig and then click on the "Save" button to rebuild the machine

image-caption-comfyui

Image caption node for ComfyUI. You can load your image caption model and generate prompts with the given picture.

Insert prompt node is added here to help the users to add their prompts easily.

Setup

  • Clone the repository to the custom_nodes folder

  • Run ComfyUI

  • Place the folder which contains your model under the models/image_captioners folder

  • Click Refresh button in ComfyUI, if it didn't work restart ComfyUI

  • [x] Processor has to be in the folder

Example Workflow

basic_workflow

basic_workflow_w_prompt_generator

basic_workflow_w_prompt_generator_2

Pretrained Image Caption Models

  • You can find the models in this link

  • For to use the pretrained model follow these steps:

    • Download the model and unzip to models/image_captioners folder.
    • Click Refresh button in ComfyUI
    • Then select the image caption model with the node's model_name variable (If you can't see the generator, restart ComfyUI).

Models

Variables

Image Caption Node

| Variable Names | Definitions | | :--------------------: | :--------------------------------------------------------------------------------------------------- | | model_name | Folder name that contains the model | | min_new_tokens | The minimum numbers of tokens to generate, ignoring the number of tokens in the prompt. | | max_new_tokens | The maximum numbers of tokens to generate, ignoring the number of tokens in the prompt. | | num_beams | Number of steps for each search path | | penalty_alpha | The values balance the model confidence and the degeneration penalty in contrastive search decoding. | | top_k | The number of highest probability vocabulary tokens to keep for top-k-filtering. | | repetition_penalty | The parameter for repetition penalty. 1.0 means no penalty |

  • For more information, follow this link.
  • Check this link for text generation strategies.
  • ✅ Increasing the min_new_tokens and max_new_tokens variables' values will help to generate more accurate prompts.

Insert Prompt Node

| Variable Names | Definitions | | :------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | prompt_string | Want to be inserted prompt. It is replaced with {prompt_string} part in the prompt_format variable | | prompt_format | New prompts with including prompt_string variable's value with {prompt_string} syntax. For example, prompt_string value is hdr and prompt_format value is 1girl, solo, {prompt_string}. Then the output is 1girl, solo, hdr. The {prompt_string} syntax will be added anywhere in the string. |

  • ✅ After including the node, change the prompt_string variable to input
  • For string output; additional comma is added for compability with other nodes which are appending new prompts for the given string, for example Prompt Generator.

Troubleshooting

  • If the below solutions are not fixed your issue please create an issue with bug label

Package Version

  • The image caption node is based on transformers package. So most of the problems may be caused from this package. For overcome these problems you can try to update package:

  • For Manual Installation of the ComfyUI

    1. Activate the virtual environment if there is one.
    2. Run the pip install --upgrade transformers command.
  • For Portable Installation of the ComfyUI

    1. Go to the ComfyUI_windows_portable folder.
    2. Open the command prompt in this folder.
    3. Run the .\python_embeded\python.exe -s -m pip install --upgrade transformers command.

New Updates On The Node

  • Sometimes the variables are changed with updates, so it may broke the workflow. But don't worry, you have to just delete the node in the workflow and add it again.

Contributing

  • Contributions are welcome. If you have an idea and want to implement it by yourself please follow these steps:

    1. Create a fork
    2. Pull request the fork with the description that explaining the new feature
  • If you have an idea but don't know how to implement it, please create an issue with enhancement label.

  • [x] The contributing can be done in several ways. You can contribute to code or to README file.

Example Output

| Reference (Used) Image | Output | | :------------------------------------: | :------------------------------: | | reference_1 | output_1 | | reference_2 | output_2 |