Add files via upload
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"last_node_id": 74,
|
||||
"last_link_id": 79,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 74,
|
||||
"type": "ShowText|pysssss",
|
||||
"pos": [
|
||||
2261.009033203125,
|
||||
-587.1124877929688
|
||||
],
|
||||
"size": [
|
||||
636.0159912109375,
|
||||
642.4439697265625
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "text",
|
||||
"type": "STRING",
|
||||
"link": 79,
|
||||
"widget": {
|
||||
"name": "text"
|
||||
}
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [],
|
||||
"slot_index": 0,
|
||||
"shape": 6
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "ShowText|pysssss"
|
||||
},
|
||||
"widgets_values": [
|
||||
"",
|
||||
"Here are the nodes relevant to experimental noise injection in ComfyUI:\n\n### 1. ComfyUI_Noise\n- **Description:** This extension contains 6 nodes for ComfyUI that allows for more control and flexibility over the noise.\n- **Category:** Noise Processing\n- **Link:** [ComfyUI Noise](https://github.com/BlenderNeko/ComfyUI_Noise)\n\n### 2. PPF_Noise_ComfyUI\n- **Description:** Nodes: WAS_PFN_Latent. Perlin Power Fractal Noisey Latents.\n- **Category:** Noise Processing\n- **Link:** [PPF_Noise_ComfyUI](https://github.com/WASasquatch/PPF_Noise_ComfyUI)\n\n### 3. Power Noise Suite for ComfyUI\n- **Description:** Power Noise Suite contains nodes centered around latent noise input, and diffusion, as well as latent adjustments.\n- **Category:** Noise Processing\n- **Link:** [Power Noise Suite](https://github.com/WASasquatch/PowerNoiseSuite)\n\n### 4. ComfyUI_NoiseLatentPerlinPinPin\n- **Description:** Nodes: NoisyLatentPerlin. This allows to create latent spaces filled with perlin-based noise that can actually be used by the samplers.\n- **Category:** Noise Processing\n- **Link:** [NoiseLatentPerlinPinPin](https://github.com/Extraltodeus/noise_latent_perlinpinpin)\n\n### 5. ComfyUI_SUNoise\n- **Description:** Scaled Uniform Noise for Ancestral and Stochastic samplers.\n- **Category:** Noise Processing\n- **Link:** [ComfyUI SUNoise](https://github.com/bvhari/ComfyUI_SUNoise)\n\n### 6. FizzNodes\n- **Description:** Scheduled prompts, scheduled float/int values and wave function nodes for animations and utility. compatible with [framesync](https://www.framesync.xyz/) and [keyframe-string-generator](https://www.chigozie.co.uk/keyframe-string-generator/).\n- **Category:** Randomization Nodes\n- **Link:** [FizzNodes](https://github.com/FizzleDorf/ComfyUI_FizzNodes)\n\n### 7. Noise variation and batch noise tools\n- **Description:** Nodes to create small variations on noise, to shape noise, and to control noise in batches. Replaces the old 'variation-seed' nodes.\n- **Category:** Noise Processing\n- **Link:** [Noise variation and batch noise tools](https://github.com/chrisgoringe/cg-noisetools)\n\n### 8. ComfyUI Dynamic Noise\n- **Description:** Provides a simple way to add noise dynamically during generation by modifying latent tensors in a structured way.\n- **Category:** Noise Processing\n- **Link:** [ComfyUI Dynamic Noise](https://github.com/chrisgoringe/cg-everywhere)\n\nThese nodes can help you experiment with noise injection in your ComfyUI projects."
|
||||
],
|
||||
"color": "#9952e1",
|
||||
"bgcolor": "#000000"
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"type": "polymath_chat",
|
||||
"pos": [
|
||||
1814.8157958984375,
|
||||
-584.7335205078125
|
||||
],
|
||||
"size": [
|
||||
430.873046875,
|
||||
627.7433471679688
|
||||
],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": null,
|
||||
"shape": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
79
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "polymath_chat"
|
||||
},
|
||||
"widgets_values": [
|
||||
"list me nodes for experimental noise injection.",
|
||||
"",
|
||||
665,
|
||||
"randomize",
|
||||
"gpt-4o-mini",
|
||||
"node finder",
|
||||
false,
|
||||
true,
|
||||
7,
|
||||
true,
|
||||
false,
|
||||
"soft",
|
||||
true
|
||||
],
|
||||
"color": "#c1a12f",
|
||||
"bgcolor": "#000000",
|
||||
"shape": 2
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
79,
|
||||
41,
|
||||
0,
|
||||
74,
|
||||
0,
|
||||
"STRING"
|
||||
]
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"id": 7,
|
||||
"title": "Node Finder",
|
||||
"bounding": [
|
||||
1792.9569091796875,
|
||||
-712.2714233398438,
|
||||
1126.8076171875,
|
||||
770.0957641601562
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 54,
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"ds": {
|
||||
"scale": 0.5054470284993297,
|
||||
"offset": [
|
||||
-703.8863343158873,
|
||||
938.2237568926421
|
||||
]
|
||||
},
|
||||
"node_versions": {
|
||||
"ComfyUI-Universal-Styler": "bfe88489ff250a84bc25c210d84a58135f9a8a8f"
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
@@ -0,0 +1,269 @@
|
||||
{
|
||||
"last_node_id": 76,
|
||||
"last_link_id": 81,
|
||||
"nodes": [
|
||||
{
|
||||
"id": 74,
|
||||
"type": "ShowText|pysssss",
|
||||
"pos": [
|
||||
1599.797119140625,
|
||||
-1060.3875732421875
|
||||
],
|
||||
"size": [
|
||||
636.0159912109375,
|
||||
642.4439697265625
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 1,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "text",
|
||||
"type": "STRING",
|
||||
"link": 79,
|
||||
"widget": {
|
||||
"name": "text"
|
||||
}
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
80
|
||||
],
|
||||
"slot_index": 0,
|
||||
"shape": 6
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "ShowText|pysssss"
|
||||
},
|
||||
"widgets_values": [
|
||||
"",
|
||||
"To effectively utilize the T5 text encoder for prompting with Flux, it's essential to understand the distinct roles that T5 and CLIP play in the image generation pipeline. Here’s a breakdown of the best practices for leveraging T5 with Flux, supported by insights from various community discussions and findings:\n\n1. **Separate Prompts for Each Encoder**: One of the most critical findings from community experimentation is that T5 and CLIP should receive separately formatted prompts to optimize their performance. T5 excels with full English sentences, while CLIP performs better with comma-separated descriptors. By using appropriately tailored prompts for each component, you can significantly improve the quality of the generated images. \n\n - **Example**:\n - For T5: “An anime girl with red fox ears is holding a sign that says ‘PROMPT.’ She is wearing a blue kimono with gold stars.”\n - For CLIP: “anime girl, red fox ears, holding sign that says 'PROMPT', wearing blue kimono with gold stars.”\n\n Using these separate prompts rather than a unified one has shown up to a 75% increase in generation quality (Source 7).\n\n2. **Understanding the Workflow**: Flux uses T5 to guide CLIP throughout the image generation process. It’s essential to realize that T5 doesn’t just process the initial input but continues interacting with CLIP, influencing the generation dynamically. This means that anything injected into the system doesn’t translate directly to outputs; T5 reformulates and adjusts the content as needed (Source 5, Source 7).\n\n3. **Variable Input Length**: Be mindful of your prompt length. T5 tends to summarize overly long inputs or fill in gaps if prompts are too short. It works best when you strike a balance in prompt length to ensure the T5 encoder can interpret context while providing detailed instruction to CLIP without losing essential details (Source 5).\n\n4. **Testing and Iteration**: The community emphasizes the importance of experimentation. Every task and type of image generation may require different approaches. Take time to test how different prompting structures affect output quality and adjust based on your findings (Source 5, Source 7). \n\n5. **Utilizing Community Resources**: Resources such as forums, GitHub issues, and user experimentation can provide insights into best practices and novel techniques that may not be explicitly documented yet. Engaging with the community helps discover effective prompt strategies and adaptations (Source 7).\n\n6. **Leverage Extensions if Needed**: For those using platforms like Forge, consider utilizing or creating extensions that allow for better handling of separate prompts for CLIP and T5, enhancing your workflow (Source 7).\n\nBy following these guidelines and understanding the interplay between T5 and CLIP in Flux, you can maximize the effectiveness of your image generation efforts.\n\n### Sources:\n1. [Civitai Article on Flux](https://civitai.com/articles/7309/starting-to-understand-how-flux-reads-your-prompts)\n2. [GitHub Discussion on Flux Usage](https://github.com/lllyasviel/stable-diffusion-webui-forge/discussions/1182)\n3. Additional insights gleaned from varied Reddit user experiences and community discussions."
|
||||
],
|
||||
"color": "#9952e1",
|
||||
"bgcolor": "#000000"
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"type": "polymath_chat",
|
||||
"pos": [
|
||||
1153.6041259765625,
|
||||
-1058.008544921875
|
||||
],
|
||||
"size": [
|
||||
430.873046875,
|
||||
627.7433471679688
|
||||
],
|
||||
"flags": {},
|
||||
"order": 0,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": null,
|
||||
"shape": 7
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
79
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "polymath_chat"
|
||||
},
|
||||
"widgets_values": [
|
||||
"Explain in which way its the best to utillize the T5 text encoder for prompting with flux. ",
|
||||
"",
|
||||
144,
|
||||
"fixed",
|
||||
"gpt-4o-mini",
|
||||
"None",
|
||||
true,
|
||||
true,
|
||||
7,
|
||||
true,
|
||||
false,
|
||||
"soft",
|
||||
true
|
||||
],
|
||||
"color": "#c1a12f",
|
||||
"bgcolor": "#000000",
|
||||
"shape": 2
|
||||
},
|
||||
{
|
||||
"id": 76,
|
||||
"type": "ShowText|pysssss",
|
||||
"pos": [
|
||||
2702.580322265625,
|
||||
-1056.4534912109375
|
||||
],
|
||||
"size": [
|
||||
636.0159912109375,
|
||||
642.4439697265625
|
||||
],
|
||||
"flags": {
|
||||
"collapsed": false
|
||||
},
|
||||
"order": 3,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "text",
|
||||
"type": "STRING",
|
||||
"link": 81,
|
||||
"widget": {
|
||||
"name": "text"
|
||||
}
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [],
|
||||
"slot_index": 0,
|
||||
"shape": 6
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "ShowText|pysssss"
|
||||
},
|
||||
"widgets_values": [
|
||||
"",
|
||||
"To effectively utilize the T5 text encoder with Flux, follow these best practices:\n\n1. **Separate Prompts**: Use distinct prompts for T5 and CLIP. T5 operates best with full sentences, while CLIP prefers comma-separated descriptors. This distinction can enhance image generation quality by up to 75%.\n\n - **Example**:\n - T5: “An anime girl with red fox ears is holding a sign that says ‘PROMPT.’”\n - CLIP: “anime girl, red fox ears, holding sign, blue kimono, gold stars.”\n\n2. **Workflow Understanding**: T5 not only processes input initially but continues to instruct and refine CLIP dynamically, influencing the output throughout the generation process.\n\n3. **Prompt Length Management**: Maintain a balance in your prompt lengths, as overly long prompts may be summarized, while short ones may be overly filled in by T5.\n\n4. **Iterative Testing**: Experiment with different prompt structures and document their effects on output quality, as results can vary greatly between tasks.\n\n5. **Community Engagement**: Utilize forums and community discussions for tips and effective prompting strategies, as shared experiences can offer valuable insights.\n\n6. **Use Extensions**: For platforms like Forge, explore or create extensions that support better prompt handling for T5 and CLIP, optimizing your workflow.\n\nBy applying these strategies, you can significantly enhance your image generation accuracy and efficiency with Flux.\n\n### Sources:\n1. [Civitai Article on Flux](https://civitai.com/articles/7309/starting-to-understand-how-flux-reads-your-prompts)\n2. [GitHub Discussion on Flux Usage](https://github.com/lllyasviel/stable-diffusion-webui-forge/discussions/1182)"
|
||||
],
|
||||
"color": "#9952e1",
|
||||
"bgcolor": "#000000"
|
||||
},
|
||||
{
|
||||
"id": 75,
|
||||
"type": "polymath_chat",
|
||||
"pos": [
|
||||
2257.014892578125,
|
||||
-1056.3858642578125
|
||||
],
|
||||
"size": [
|
||||
428.3999938964844,
|
||||
634.0886840820312
|
||||
],
|
||||
"flags": {},
|
||||
"order": 2,
|
||||
"mode": 0,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "image",
|
||||
"type": "IMAGE",
|
||||
"link": null,
|
||||
"shape": 7
|
||||
},
|
||||
{
|
||||
"name": "prompt",
|
||||
"type": "STRING",
|
||||
"link": 80,
|
||||
"widget": {
|
||||
"name": "prompt"
|
||||
}
|
||||
}
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"name": "STRING",
|
||||
"type": "STRING",
|
||||
"links": [
|
||||
81
|
||||
],
|
||||
"slot_index": 0
|
||||
}
|
||||
],
|
||||
"properties": {
|
||||
"Node name for S&R": "polymath_chat"
|
||||
},
|
||||
"widgets_values": [
|
||||
"",
|
||||
"detailed",
|
||||
761,
|
||||
"randomize",
|
||||
"gpt-4o-mini",
|
||||
"Summarizer",
|
||||
false,
|
||||
false,
|
||||
7,
|
||||
true,
|
||||
false,
|
||||
"soft",
|
||||
false
|
||||
],
|
||||
"color": "#c1a12f",
|
||||
"bgcolor": "#000000",
|
||||
"shape": 2
|
||||
}
|
||||
],
|
||||
"links": [
|
||||
[
|
||||
79,
|
||||
41,
|
||||
0,
|
||||
74,
|
||||
0,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
80,
|
||||
74,
|
||||
0,
|
||||
75,
|
||||
1,
|
||||
"STRING"
|
||||
],
|
||||
[
|
||||
81,
|
||||
75,
|
||||
0,
|
||||
76,
|
||||
0,
|
||||
"STRING"
|
||||
]
|
||||
],
|
||||
"groups": [
|
||||
{
|
||||
"id": 7,
|
||||
"title": "LLM Web Search",
|
||||
"bounding": [
|
||||
1131.7452392578125,
|
||||
-1185.5465087890625,
|
||||
2266.203857421875,
|
||||
790.0582275390625
|
||||
],
|
||||
"color": "#3f789e",
|
||||
"font_size": 54,
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"config": {},
|
||||
"extra": {
|
||||
"ds": {
|
||||
"scale": 0.4594972986357635,
|
||||
"offset": [
|
||||
-820.5398282321066,
|
||||
1378.5733382454082
|
||||
]
|
||||
},
|
||||
"node_versions": {
|
||||
"ComfyUI-Universal-Styler": "bfe88489ff250a84bc25c210d84a58135f9a8a8f"
|
||||
}
|
||||
},
|
||||
"version": 0.4
|
||||
}
|
||||
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 133 KiB |
|
After Width: | Height: | Size: 116 KiB |
|
After Width: | Height: | Size: 120 KiB |
|
After Width: | Height: | Size: 127 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 133 KiB |
@@ -0,0 +1,12 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
|
||||
app.registerExtension({
|
||||
name: "LLM-Polymath.appearance", // Extension name - was ist der richtige Name hier?
|
||||
async nodeCreated(node) {
|
||||
if (node.comfyClass === "polymath") {
|
||||
// Apply styling
|
||||
node.color = "#16727c";
|
||||
node.bgcolor = "#4F0074";
|
||||
}
|
||||
}
|
||||
});
|
||||