CivArchive
    ← All articles
    Published November 10, 2025by CURS3

    #1

    192 views8 reactions4 comments on CivitAI12 collected
    tool guide

    Hello friends. In this article, I want to talk about a program I'm currently developing, born entirely out of my own needs.

    The main purpose of the program is to allow us to organize all our materials (prompts, models, settings, etc.) from a single point, start the generation process in one go, and then be able to walk away and focus on other tasks. It aims to make content generation accessible and time-efficient, especially for those of us (like me) who don't have a high-end graphics card.

    I'm here both to show you the program and to ask for your thoughts and valuable feedback.



    This is the main screen. The program is (currently) divided into 5 main sections: "Main Automation", "Profiles", "Inspector", "Download Manager", and "Tag Helper".

    This first tab you see in the image is the "Main Automation" section, the heart of the program.


    From here, we select the "Main Output Directory" where all our subfolders and images will be saved.





    At the bottom, we have a progress bar to track each image generation, our start/stop buttons, and a log screen that displays all information and potential errors.


    In the middle is the true heart of this tab and the entire program: the "Task Queues". To briefly cover the options:

    • 1st Prompt (.txt): This is a mandatory input. You must pass your prompts to the program via a .txt file.

    • 2nd Prompt (.txt): This field is optional. I'll explain why in a later section (Cartesian Product).

    • Folder Name: This defines the folder name where the outputs for that specific task row will be saved. If you use the same name, images will be added to that existing folder. If you use a different name, a new subfolder will be created under the main directory. You can specify a different folder for each task row.

    • Profile: We'll get to this critical part in a moment.

    • Count per Prompt: Specifies how many times the process should be repeated for each individual prompt.

    The "Add New Task" button allows you to add new task rows to the queue.


    From the address bar at the very top, you can enter the address where you're running Stable Diffusion to connect the program

    If you aren't running on localhost and need to connect to a remote, password-protected device, you can activate the "Auth" toggle to add a username and password to your API requests


    And our next tab: another critical component, "Profiles".

    This is where we create the profiles we'll use in the "Main Automation" tab. I figured that if we're constantly using different settings and resource combinations (LoRAs, models, etc.), being able to switch between these settings quickly would be a huge convenience and save us from a lot of stress.

    Let's take a closer look at the tab:


    Right below where we set the profile name, you'll find basic settings like step count, CFG etc.

    One point might confuse you here: "If we're already providing prompts via .txt on the main tab, why is there a 'Positive Prompt' field here?" The answer: Static Tag Templates! Many of us have static quality tags like "best quality, 4k," or even templates for lighting or place decriptions. If a part of your prompt is always fixed, or if you have different templates you use from time to time, you can save those static parts directly here.

    Also, there are shortcut buttons for the most common aspect ratios (Square, Landscape, Portrait) right above the sampler list.


    The parameter lists, such as Model, LoRA, Sampler, and Scheduler, are pulled dynamically from your SD API when the program starts. In the LoRA section, you can select your LoRAs from the list, set their weights, and add them to the profile; this will be automatically appended to your main prompt as <loraname:weight>.

    At the bottom, there are quick settings for Face Restore, Hires. Fix, and ADetailer. (I haven't added many fine-tuning settings for the others besides Hires. Fix, as I personally tend to use the default settings.)


    ...




    This bottom section of the 'Profiles' tab is connected to the "Download Manager". This is where you set the download locations for your LoRA and Checkpoint (Model) files.

    There's also a field for a "Civitai API Key", which is necessary to enable the download of certain resources, like NSFW content.

    The "Refresh API List" button in the top right sends a refresh command to the API, which is especially useful when you connect to a new address or manually add a new resource (Model/LoRA) to your SD folders.

    You can save your settings with "Save New Profile" and


    later select them from the list to update them.


    And the "Inspector" tab.

    As its name suggests, this tab displays all findable information (metadata) from the images you drop into it. But it doesn't stop there...




    If you pay attention to the "(Local)" tag next to the model name, you'll see that the program doesn't just show superficial info; it also checks whether you actually have that resource (the model) in your local storage.


    .


    .

    This image shows us the two critical features that are the 'Inspector's' main purpose:

    1- It allows us to create a "Profile" directly from the image's settings.


    2- It identifies missing resources (Model/LoRA) and allows us to send them directly to the "Download Manager."

    In short, the 'Inspector' tab, (much like Civitai's 'Remix' feature) lets you copy all the info from an image you found online, instantly turn it into your own profile, and complete your missing resource collection.




    And the "Download Manager".

    I won't explain this one much. You can start the downloads for the missing resources that come from the 'Inspector' here. (For now, there's no way to pick and download individual resources, because I haven't needed it yet.)


    The "Tag Helper" tab isn't overly complicated either.

    You can think of it as a prompt-writing area. You load a tag database (.txt/.csv) with the "Load" button, and when you start typing in the search bar, results appear below. Clicking a tag adds it to the text area below.

    (I was originally going to embed the Danbooru 120k database, but it seemed more dynamic to let you load your own.)


    There isn't much left to explain, but I want to touch on two final, critical points.
     



    1st Point: Reading Multiple Prompts from a Single .txt File


    I want to clarify this. If you leave a blank line (by pressing Enter two or more times) between your prompts in the .txt file, the program will recognize each block as a separate prompt. It splits the entire text based on these empty blocks and processes them one by one.

    This is perfect for dumping hundreds of prompts into a single file and being done with it.


    2nd Critical Point: Cartesian Product (Permutation) Generation



    Some of you might be confused: "We provide a .txt for the 1st prompt, we have a positive prompt in the profile, and there's a 2nd .txt prompt field. Why?"

    The answer: To automate collection-style generation.

    Imagine a scenario: You have 50 different character descriptions and 10 different pose descriptions you want to apply to each character. Setting up 10 poses for all 50 characters, even with the profile system, is a lot of work.

    This is where "Cartesian Product" comes in. All you have to do is put your 50 character descriptions (with blank lines between them) into the 1st Prompt file and your 10 pose descriptions into the 2nd Prompt file.

    The system (assuming characters are in slot 1, poses in slot 2) will first take the 1st character, combine it with the 1st pose, and generate. Then, it takes the 1st character again, combines it with the 2nd pose, and generates. This continues until all 10 poses are done, and then it moves to the 2nd character.


    Okay, but what if "I want 3 copies of each character-pose combination?"




    That's where the "Count per Prompt" setting comes in.

    In the same scenario, if "Count per Prompt" is set to 3, the system will repeat the 1st character + 1st pose combination 3 times before moving on to the 2nd pose.


    This means, if you have a file with 50 character prompts, a file with 10 pose prompts, and a "Count" of 5, the total number of images you will generate from a single task row is:


    50 (Characters) x 10 (Poses) x 5 (Count) = 2500 Images



    Yep, that's the program for now. I wanted to share my current development process with you. I'll also add a stable version to the files so you can benefit from it too.



    IF YOU'VE READ THIS FAR, PLEASE LEAVE YOUR THOUGHTS AND IDEAS IN THE COMMENTS!


    profile duplication
    bearer token
    automatic resource script writer
    image aesthetic score rating
    automatic image selection and upscaling
    resource tester profiles

    automatic server finder
    civitai integration

    Attachments