dream-prompter

dream-prompter

A Replicate AI Plugin for GIMP. Supports Nano Banana and Seedream4.

Stars: 106

Visit
 screenshot

Dream Prompter is a tool designed to help users generate creative writing prompts for their stories, essays, or any other creative projects. It uses a database of various elements such as characters, settings, and plot twists to randomly generate unique prompts that can inspire writers and spark their creativity. With Dream Prompter, users can easily overcome writer's block and find new ideas to develop their writing skills and produce engaging content.

README:

Dream Prompter - GIMP Plugin

Dream Prompter brings powerful AI models from Replicate directly into GIMP for intelligent image generation and editing. Choose from multiple advanced models including Nano Banana and Seedream 4.

Dream Prompter

Features

  • 🎨 AI Image Generation: Create new images from text descriptions
  • AI Image Editing: Transform existing images with natural language prompts
  • 🤖 Multiple AI Models: Choose from Nano Banana and Seedream 4
  • 🖼️ Reference Images: Support for multiple reference images (varies by model)
  • 🔄 Smart Layer Management: Automatically creates properly named layers
  • 🎯 Dual Operation Modes: Seamlessly switch between editing and generation
  • 🌍 Multi-Language Support: Full internationalization with 10+ languages
  • 🔒 Safe File Handling: Validates image formats and file sizes per model
  • 🏗️ Native GIMP Integration: Works seamlessly within your GIMP workflow

Installation

Prerequisites

  • GIMP 3.0.x
  • Python 3.8+
  • Replicate API key (paid account required)

Install the required Python library:

pip install replicate

Quick Install

  1. Download the latest release from GitHub Releases

  2. Extract the release

    This will create a folder named dream-prompter-{version} (e.g., dream-prompter-1.1.1)

  3. Move to your GIMP plugins folder with the correct name:

    Rename and move the extracted folder to exactly dream-prompter in your GIMP plugins directory:

    • Linux: ~/.config/GIMP/3.0/plug-ins/dream-prompter/
    • Windows: %APPDATA%\GIMP\3.0\plug-ins\dream-prompter\
    • macOS: ~/Library/Application Support/GIMP/3.0/plug-ins/dream-prompter/

    Example for Linux:

    # Extract creates dream-prompter-1.1.1/
    unzip dream-prompter-1.1.1.zip
    # Move to correct location with correct name
    mv dream-prompter-1.1.1 ~/.config/GIMP/3.0/plug-ins/dream-prompter
  4. Make executable (Linux/macOS only):

    chmod +x ~/.config/GIMP/3.0/plug-ins/dream-prompter/dream-prompter.py
  5. Restart GIMP

Building translations (optional): If you need languages other than English, run python3 scripts/build-translations.py in the plugin directory after installation.

Arch Linux Installation

To install Dream Prompter on Arch Linux, you can install it from the AUR.

yay -S dream-prompter

Advanced Installation

Manual Installation from Source

  1. Find your GIMP plugins directory (paths listed above)

  2. Create plugin directory:

    mkdir -p ~/.config/GIMP/3.0/plug-ins/dream-prompter/
  3. Copy all Python files and the models directory:

    cp *.py ~/.config/GIMP/3.0/plug-ins/dream-prompter/
    cp -r models ~/.config/GIMP/3.0/plug-ins/dream-prompter/
  4. Build and install translations (Optional):

    python3 scripts/build-translations.py
    cp -r locale ~/.config/GIMP/3.0/plug-ins/dream-prompter/
  5. Make executable:

    chmod +x ~/.config/GIMP/3.0/plug-ins/dream-prompter/dream-prompter.py

Note: Your final directory structure should look like:

~/.config/GIMP/3.0/plug-ins/dream-prompter/
├── dream-prompter.py
├── api.py
├── dialog*.py
├── integrator.py
├── settings.py
├── i18n.py
├── models/
│   ├── __init__.py
│   ├── factory.py
│   └── nano_banana.py
│   └── seedream4.py
└── locale/ (optional)
    └── ...

Development Setup

git clone https://github.com/zquestz/dream-prompter.git
cd dream-prompter
pip install replicate
python3 scripts/build-translations.py # optional, defaults to English
ln -s $(pwd) ~/.config/GIMP/3.0/plug-ins/dream-prompter

Python Dependencies Note

Important: Use the same Python that GIMP uses. If pip install replicate doesn't work:

# System-wide installation
sudo pip install replicate

# User installation (recommended)
pip install --user replicate

# Ensure Python 3
pip3 install replicate

macOS Instructions

If you get the "replicate not installed" error on macOS:

  1. Locate GIMP's Python by opening the Python Console: Filters → Development → Python-Fu

  2. Run this command in the console:

    import sys; print(sys.executable)

    You should see something like:

    /Applications/GIMP.app/Contents/MacOS/python3
    
  3. Install replicate using GIMP's Python from Terminal:

    # Change to GIMP's Python directory
    cd /Applications/GIMP.app/Contents/MacOS
    
    # Ensure pip is installed
    ./python3 -m ensurepip
    
    # Install replicate
    ./python3 -m pip install replicate

Getting Your API Key

  1. Visit Replicate
  2. Generate an API key
  3. Keep your key secure and monitor usage/costs

Available AI Models

Nano Banana (google/nano-banana) - Google's Gemini 2.5 Flash Image Preview:

  • Reference Images: Up to 10 for generation, 9 for editing
  • File Size: Maximum 7MB per image
  • Formats: PNG, JPEG, WebP

Seedream 4 (bytedance/seedream-4) - ByteDance's unified generation and editing model:

  • Reference Images: Up to 10 for generation, 9 for editing
  • File Size: Maximum 10MB per image
  • Formats: PNG, JPEG, WebP
  • Special Features: 4K resolution support, unified architecture

Cost Considerations

  • Each image generation/edit counts toward your API usage
  • Monitor your usage at Replicate to avoid unexpected charges

Usage

Basic Workflow

  1. Open an image in GIMP (for editing) or create a new document (for generation)
  2. Launch Dream Prompter: Filters → AI → Dream Prompter...
  3. Enter your API key (saved automatically for future use)
  4. Choose your AI model: Select from available models in the dropdown
  5. Select mode:
    • Edit Mode: Transform the current layer
    • Generate Mode: Create a new image
  6. Write your prompt: Be descriptive and specific
  7. Add reference images (optional): Click "Select Images..." to add references
  8. Generate: Click the generate button and watch the progress
  9. Result: New layer appears with a descriptive name

Example Prompts

For Generation:

  • "A majestic dragon flying over snow-capped mountains at sunset"
  • "Portrait of a woman in Victorian dress, oil painting style"
  • "Cyberpunk cityscape with neon reflections on wet streets"

For Editing:

  • "Change the background to a peaceful forest clearing"
  • "Make this person wear a red Victorian dress"
  • "Transform this into a watercolor painting style"
  • "Add falling snow to this winter scene"

Tips for Best Results

  • Be specific: "Red sports car" vs "bright red Ferrari 488 GTB"
  • Include style: "photorealistic", "oil painting", "digital art"
  • Describe lighting: "golden hour", "dramatic shadows", "soft natural light"
  • Use reference images to guide style and composition
  • Keep files under 7MB for reference images

Language Support

Available Languages

Dream Prompter is fully translated and available in:

  • 🇺🇸 English (default)
  • 🇪🇸 Spanish (complete)
  • 🇫🇷 French (complete)
  • 🇵🇹 Portuguese (complete)
  • 🇷🇺 Russian (complete)
  • 🇯🇵 Japanese (complete)
  • 🇮🇳 Hindi (complete)
  • 🇧🇩 Bengali (complete)
  • 🇨🇳 Chinese (Simplified) (complete)
  • 🇹🇼 Chinese (Traditional) (complete)
  • 🇰🇷 Korean (complete)

The plugin automatically detects your system language and uses the appropriate translation. If your language isn't available, it defaults to English.

For Developers

# Extract new translatable strings
python3 scripts/update-pot.py

# Update existing translations
python3 scripts/update-translations.py

# Build compiled translations
python3 scripts/build-translations.py

Architecture

The plugin is organized into focused modules with a clean model-driven architecture:

Core Plugin Files

  • dream-prompter.py - Main GIMP plugin entry point
  • dialog_gtk.py - GTK user interface components
  • dialog_events.py - Event handling and user interactions
  • dialog_threads.py - Background processing and threading
  • api.py - Replicate API integration
  • integrator.py - GIMP-specific operations
  • settings.py - Configuration persistence
  • i18n.py - Internationalization support

Model System

  • models/__init__.py - Base model classes and registry system
  • models/factory.py - Model factory for centralized model management
  • models/nano_banana.py - Nano Banana model implementation
  • models/seedream4.py - Seedream 4 model implementation

The model system provides a clean abstraction for AI models, making it easy to:

  • Add new models by implementing the BaseModel interface
  • Validate inputs using model-specific limits and constraints
  • Build API requests with model-specific parameter formats
  • Maintain consistency across the entire plugin

Extending with New Models

To add support for a new Replicate model:

  1. Create a new model file in the models/ directory (e.g., models/my_model.py)
  2. Implement the BaseModel interface:
from . import BaseModel, OutputFormat, register_model

class MyModel(BaseModel):
    @property
    def name(self) -> str:
        return "my-account/my-model"

    @property
    def display_name(self) -> str:
        return "My Custom Model"

    # Implement other required properties...

    def build_generation_input(self, prompt, reference_images=None, **kwargs):
        # Implementation for generating...
        pass

    def build_edit_input(self, prompt, main_image, reference_images=None, **kwargs):
        # Implementation for editing...
        pass

# Register the model
my_model = MyModel()
register_model(my_model)
  1. Import the model in models/factory.py to ensure it's loaded
  2. The model is now available throughout the plugin with automatic validation and UI updates

The nano_banana.py file serves as a complete reference implementation.

Troubleshooting

Common Issues

"replicate not installed" warning

  • Install with: pip install replicate
  • Ensure you're using GIMP's Python environment

Plugin doesn't appear in menu

  • Check file permissions: chmod +x dream-prompter.py
  • Restart GIMP after installation
  • Verify files are in correct plugins directory

API errors

  • Verify your API key is correct
  • Check your quota at Replicate
  • Monitor costs to avoid unexpected charges

Interface problems

  • Check GIMP's Error Console: Windows → Dockable Dialogs → Error Console
  • Ensure translations are built: python3 scripts/build-translations.py
  • Report UI issues with screenshots

Getting Help

  1. Check the Error Console in GIMP for specific error messages
  2. Verify all requirements are installed correctly
  3. Test with simple prompts first
  4. Check file permissions on the plugin directory
  5. Review API quotas if getting timeout errors

Contributing

For Translators

We welcome translations! Here's how to contribute:

  1. Copy the template: cp locale/dream-prompter.pot locale/[YOUR_LANG].po
  2. Translate the strings using Poedit, Lokalize, or any text editor
  3. Test your translation: Build with python3 scripts/build-translations.py
  4. Submit a pull request with your .po file

Translation Guidelines:

  • Keep UI text concise but clear
  • Use GIMP's existing terminology for your language
  • Preserve HTML tags and placeholders like {count}, {url}
  • Test that text fits in the interface

For Developers

  1. Fork the repository
  2. Create a feature branch
  3. Follow the existing code style
  4. Update translations if adding new strings
  5. Submit a pull request

License

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

Credits

Built with Replicate's API providing access to multiple advanced AI models including Google's Nano Banana and ByteDance's Seedream 4.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for dream-prompter

Similar Open Source Tools

For similar tasks

For similar jobs