AI tools, scored for your job
Get paid to train AI
🤝 You're in the Free & Open Source library — community-built tools you can use without paying. A different concept from our scored AI directory.
Home › Free & Open Source › Writing › Dynamic Prompts
✦ Free & open sourceWriting

Dynamic Prompts

Templating language and Python library for generating prompts for text-to-image generators.

Dynamic Prompts for Text-to-Image

Create flexible templating workflows and combinatorial prompt variations in Python.

Free forever · open source · MIT
✓ Light setup✓ Browser-based✓ Real-time collaboration
7.6
ZEKAI
Essential Python prompt tool
Free & open source · Writing
Ease of setup8
Usefulness9
Maintenance8.5
Community5
★ 165
GITHUB
Aug 2026
UPDATED
MIT
LICENSE
🛠 Don't want to self-host? We can set it up →
⚡ Quick answer

Dynamic Prompts is a Python library providing an intuitive templating language for generating text-to-image prompts. It is ideal for developers and AI creators wanting to automate and scale prompt generation workflows.

Runs on
Cross-platform
Hosting
Self-host
Languages
Python
License
MIT

What it is

The library lets you create unique prompts from a single template using variants, wildcard files, and variable assignment. It supports exhaustive combinatorial generation, Jinja2 templates, and helper features like Magic Prompt and Lexica.art search.

Who it's for

It suits Python developers and digital artists building automated pipelines for Stable Diffusion or similar generators. It does not suit users looking for a standalone no-code application without writing code or managing wildcard files.

Key features

Wildcard File Support

Use text, JSON, or YAML files as placeholders in your templates.

Combinatorial Generation

Exhaustively generate every possible prompt combination from a given string template.

Jinja2 Templates

Leverage Jinja-powered templating for advanced and complex prompt creation.

Attention Grabber

Emphasize random phrases in your prompt for systems supporting attention syntax.

How to start

Up and running in 3 steps

1
Install the library using pip install dynamicprompts.
2
Instantiate a RandomPromptGenerator or CombinatorialPromptGenerator in your Python script.
3
Pass your template string and optional wildcard manager to generate your prompts.
Real talk

Our honest verdict

What's great

  • Supports multiple wildcard file formats including text, JSON, and YAML.
  • Includes combinatorial generation to enumerate every possible prompt variation.
  • Provides Magic Prompt integration to automatically expand and spice up prompts.
  • Supports Jinja2-powered templates for advanced prompt engineering logic.

Where it falls short

  • Requires writing Python code or integrating with specific pipelines like Automatic1111.
  • Combinatorial generation can quickly produce thousands of unintended prompts if not bounded.
  • Additional features require installing extra package dependencies.
Cost

Pricing & license

Free under the MIT license with no paid hosted option; the only cost is running it yourself within your Python environment.

Paid work

Open remote AI-training roles

873 open remote AI-training roles, updated November 15, 2026; most pay $20–$170 an hour. Zekai lists them free; the application goes to the employer’s platform.

See all open roles →
Compare

Alternatives

Get more

Use it, or have us set it up

📄 Free PDF: Dynamic Prompts for Writing
A plain-language guide to getting your first result. Sent to your inbox.
🔔 64 people want a full video tutorial — add your vote
🛠 Don't want to set it up yourself?
We'll install, host & configure Dynamic Prompts for you — and train your team.
Get it done for you ↗
Questions

FAQ

How do I use wildcards?

You can initialize a WildcardManager pointing to your directory of text, JSON, or YAML files and reference them using double underscores like __colours__.

Can I generate every possible combination?

Yes, using the CombinatorialPromptGenerator will produce every possible prompt from your template up to a maximum limit.

Does it support random seeds?

Yes, you can pass a single random seed, a list of seeds matching the prompt count, or an int value for reproducible outputs.

Radar

Latest AI news

✉️ The weekly free toolkit
The best new free & open-source tools for Writing — one short email a week, in your language.
Free · 1 email/week · unsubscribe anytime
Get paid to train AI →

See Zekai first in Google