Skip to main content

Automated pipeline to generate custom outfit textures for Haydee using Gemini API.

Project description

Haydee Outfit Generator (Powered by Gemini)

Tests Lint Publish Codecov PyPI version Downloads Python Version License: MIT

Automated Python pipeline to generate custom outfit textures for the game Haydee using the Google Gemini API.

[!TIP] Not a fan of the command line? Check out the Haydee AI Outfit Generator GUI! It's a modern, ready-to-use graphical interface that lets you easily generate custom outfits without messing with terminals or environment variables. Download the latest release to get started instantly!

✨ Generation Examples

Lunar Scout Outfit Neon Surge Outfit Steam Gear Outfit Tomb Awakened Outfit
Lunar Scout Outfit Neon Surge Outfit Steam Gear Outfit Tomb Awakened Outfit
Waaagh Bot Outfit Wastelander Outfit Xenomorph Outfit Berry Sweet Outfit
Waaagh Bot Outfit Wastelander Outfit Xenomorph Outfit Berry Sweet Outfit
Tech-Priestess Outfit Astro White Outfit Battle Sister Outfit Gothic Automaton Outfit
Tech-Priestess Outfit Astro White Outfit Battle Sister Outfit Gothic Automaton Outfit
Candy Pop Outfit Hellwalker Outfit Retrowave Outfit Iron Utopia Outfit
Candy Pop Outfit Hellwalker Outfit Retrowave Outfit Iron Utopia Outfit

📋 Prerequisites

  • Python 3.12+

🔑 Getting a Gemini API Key

  1. Go to Google AI Studio.
  2. Sign in with your Google account.
  3. Click the "Create API key" button.
  4. If prompted, read and accept the terms of service.
  5. Click on "Create API key in new project" (or use an existing project).
  6. Copy the generated key. You will need it for the .env file in the setup steps below.

💻 Setup (Local)

Install via pip (Recommended)

The easiest way to install the generator is directly from PyPI:

pip install haydee-outfit-generator

Install from Source

  1. Clone the repository.

  2. Install dependencies:

    pip install .
    
  3. Copy .env.example to .env (or create one) and configure your variables:

  • GEMINI_API_KEY: Your Google Gemini API Key.
  • HAYDEE_PATH: Absolute path to your Haydee installation directory.
  • IMAGE_RESOLUTION: (Optional) Output resolution. Default is 4K. Can be set to 2K (2048x2048) if needed.

🐳 Setup (Docker)

If you prefer to run the project without installing Python locally, you can use Docker.

  1. Install Docker Desktop.
  2. Create your .env file and set GEMINI_API_KEY and HAYDEE_PATH.
    • Note: HAYDEE_PATH in .env must be the absolute path on your host Windows machine (e.g., C:\Program Files (x86)\Steam\steamapps\common\Haydee).

🚀 Usage

Running Locally

1. Generating a Single Outfit Run the generate command by providing the mod name, the desired style description, and optionally an author:

haydee-gen generate --name "NeonSurge" --style "cyberpunk neon lights with dark carbon fiber armor" --author "TheGamerBay"

(Tip: You can omit the generate keyword for a shorter command: haydee-gen --name ...)

The script will automatically read the base texture, contact the Gemini API, convert the formats, and generate the mod inside your Haydee/Outfits folder.

2. Grouping Outfits into a Multi-Mod If you have generated multiple outfits and want to group them into a single mod with switchable variations (e.g., in a single "Rainbow" outfit with different colored slots):

haydee-gen group --name "Rainbow" --mods red green blue --slot-category "color" --author "TheGamerBay" --delete-sources
  • --delete-sources is an optional flag that will remove the original single-mod folders and configs after successfully grouping them.

Running with Docker

You can use Docker Compose to automatically mount your Haydee directory and run the commands:

docker-compose run --rm generator generate --name "NeonSurge" --style "cyberpunk neon lights with dark carbon fiber armor"

📤 Publishing to Steam Workshop

When you are ready to share your generated outfit, you can upload it directly to the Steam Workshop using the game's built-in tools.

1. Prepare a Thumbnail

  • Create a preview image for your mod (preview.png or preview.jpg).
  • The image should be square (e.g., 512x512 or 256x256).
  • Place this image in your mod folder.

2. Launch Edith Editor

The upload tools are located in the game's editor, not the game itself:

  • Go to your Haydee root installation folder.
  • Run Edith.exe.
  • In the top menu bar, select Tool -> Workshop Uploader.

3. Fill in the Uploader Data

In the uploader window, fill out the following fields:

  • Mod Content: At the very top of the upload form, there is a text field with a Browse button beneath it. You will use this to build the list of files to upload:
    1. Click Browse and add your mod's main folder (for example, select Outfits/NeonSurge).
    2. Click Browse again and add your .outfit definition file (for example, select Outfits/NeonSurge.outfit). (This ensures you include the full set of files required for the mod to work).
  • Title: The name of your outfit (this will be displayed on Steam).
  • Description: A short description of the mod (what it is, special features, etc.).
  • Visibility: It is recommended to set this to Private first to verify how everything looks on the Steam page, and change it to Public later.
  • Preview Image: Select the thumbnail image you prepared in step 1.

Once filled out, click Upload. If everything goes well, the status at the bottom will show "Success".

🧪 Testing

This project uses pytest for automated testing.

  1. Install the development dependencies:
    pip install -r requirements-dev.txt
    
  2. Run the test suite with coverage:
    pytest
    
    Note: Valid API Keys or a real Haydee installation are not required to run the tests, as external dependencies and the filesystem are safely mocked.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

haydee_outfit_generator-1.1.0.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

haydee_outfit_generator-1.1.0-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

Details for the file haydee_outfit_generator-1.1.0.tar.gz.

File metadata

  • Download URL: haydee_outfit_generator-1.1.0.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for haydee_outfit_generator-1.1.0.tar.gz
Algorithm Hash digest
SHA256 46cb7fbfaf68308e6ce8ac3639a76f6798050473598b5754f2b67dce18f16fab
MD5 3227dcf3ec706d6166177ec43505c41f
BLAKE2b-256 1b08d1c570296b7bec8be0cbc97749ffeb05ea23f1b02f13406dbe477eaa32c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for haydee_outfit_generator-1.1.0.tar.gz:

Publisher: publish.yml on thegamerbay/haydee-ai-outfit-generator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file haydee_outfit_generator-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for haydee_outfit_generator-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5deebf85bcf91257fec5550ced90f972acd53a8aab5f10d907af2a818d870244
MD5 af58289fba1c4dffee7c5c9089caf426
BLAKE2b-256 41200e29063a5e36a42b871e99f72a0dcc52c7fb3df9c4ff45fe6d0bb93a5262

See more details on using hashes here.

Provenance

The following attestation bundles were made for haydee_outfit_generator-1.1.0-py3-none-any.whl:

Publisher: publish.yml on thegamerbay/haydee-ai-outfit-generator

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page