Dgenerate

Latest version: v4.5.1

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 10

3.7.2

Fixes missing value for ``--output-size`` in the argument reconstruction output of ``--output-configs`` and ``--output-metadata`` that was occurring for prompt only generations and in some other circumstances.

Add ``--output-prefix`` to the output of the options mentioned above (prefix on generated file name)

Remove ``--device`` from the output of the mentioned options above, reproductions of the config that generated
an image or animation should be device agnostic and default to the first available GPU.

3.7.1

``\exec`` directive no longer opens a console window when run from the ``dgenerate_windowed.exe`` Console UI on Windows, this was due to a missing process creation flag needed to suppress the creation of a console on windows, particularly when running a process
as the child of an application not compiled as a windows console application.

``--file`` and ``--no-stdin`` are no longer explicitly mutually exclusive, ``--no-stdin`` is simply ignored

``--no-stdin`` can be used when when ``stdin`` is a ``tty`` to no effect

These changes allow self referential execution of dgenerate as a subprocess from a config script to work in all cases [as demonstrated in the documentation](https://dgenerate.readthedocs.io/en/v3.7.1/readme.html#the-exec-directive). The directive makes use of the ``--no-stdin`` argument internally which caused issues with the usage of ``--file`` from inside configs with the ``\exec`` directive, as well as with invoking dgenerate using the ``\exec`` directive while in ``--shell`` mode from a terminal due to ``—no-stdin`` being previously not compatible with being connected to a ``tty``


now works

\exec dgenerate --file my_config.dgen


In addition sub-shell behavior is fixed in both ``dgenerate --shell`` mode from a terminal as well as in the Console UI for dgenerate
and other shells.


Now works in the console UI and in a dgenerate --shell terminal session

\exec dgenerate --shell


Also:


You can run a sub-shell in the UI and from the terminal,
for instance, you can launch cmd on windows and interact with it

\exec cmd

You could launch bash on linux, it will properly behave as a sub-shell

\exec bash

3.7.0

* Textual Inversion (prompt embeddings) support for Stable Diffusion XL, ``--textual-inversions`` now works with ``--model-type torch-sdxl``
* Added ``dgenerate --file`` argument, which allows running configuration scripts from a file path instead of using a pipe or file redirect, this also allows you to use ``! dgenerate --file`` as the hash bang interpreter specification for bash or other unix shells in your config file
* Any dgenerate argument which can accept a single file in a URI specification or otherwise, such as a ``.safetensors`` file for instance, can now be given a direct URL link to that model, dgenerate will download the file to its web cache and then use it. This allows for the use of direct links to CivitAI models in most cases provided that you append your CivitAI token to the URL arguments. See: [The SDXL Textual Inversion Example](https://github.com/Teriks/dgenerate/blob/v3.7.0/examples/stablediffusion_xl/textual_inversion/config.dgen) and [Utilizing CivitAI links and Other Hosted Models](https://github.com/Teriks/dgenerate#utilizing-civitai-links-and-other-hosted-models)
* ``\download`` directive and ``download()`` template function for config, allows downloading models / images to dgenerates web cache or arbitrary paths. Simple caching behavior is implemented for downloads to arbitrary paths. Caching can be disabled. See: ``\download --help`` and [documentation](https://github.com/Teriks/dgenerate#the-download-directive)
* Adopted the file extension ``.dgen`` for dgenerate config / script files.
* Windows installer can now create an optional file association for the extension ``.dgen`` which launches the dgenerate Console UI when clicking on a dgenerate config file, the file is opened in the Console UI in multiline editing mode automatically.
* Console UI, improved syntax highlighting and fixes for URL & File Path entities
* Console UI, context aware syntax highlighting for the ``\import_plugins`` directive, plugin name arguments including file paths highlight as keywords for contrast
* Console UI, ``Run`` menu now features a ``Debug Mode`` option, which relaunches the shell process with the ``-v`` argument, this causes copious amounts of debug information to be output when dgenerate is running, including unhandled exceptions from directives
* Console UI, fix for typing in certain printable characters not triggering a re-highlight of the input text on Linux
* Fixes to cache flush on file expiry, non existent files no longer cause an error when being flushed from the web cache
* Latest ``diffusers`` library, latest ``spandrel``, many dependencies updated
* Additional documentation about writing dgenerate config files and the config language itself with table of contents

3.6.1

* Line continuation backslash was a little hard to see in certain highlighting contexts with certain themes due to tokenizing as an Escape, change token to Operator globally for more contrast against the background
* Dash `-` was tokenized as a Number in very specific contexts related to continuations, (left over debugging aid), change to Operator

3.6.0

v3.6.0 release with Windows installer.

Due to the size of the packaged python environment, the installer is within a multi-part zip file.

The multipart zip can be extracted using 7-Zip: https://www.7-zip.org/

Download both ``dgenerate_installer.zip.001`` and ``dgenerate_installer.zip.002`` to a folder.

Unzip ``dgenerate_installer.zip.001`` to a directory (Right click, 7-Zip -> Extract to "dgenerate_installer") and then run ``dgenerate_installer\dgenerate.msi`` to install.

dgenerate will be installed under ``C:\Program Files\dgenerate`` by default with an isolated python environment provided.

The install directory will be added to PATH, and dgenerate will be available from the command line.

Portable Install

A portable install is provided via ``dgenerate_portable.zip.001`` and ``dgenerate_portable.zip.002``, these contain
nothing but the dgenerate executable and a frozen python environment which can be placed anywhere.

Features & Fixes

* Full syntax highlighting in the GUI console and line numbers in multiline edit mode, several sublime text like editor themes, stderr colorization (`Options -> Themes`)
* `Shift+Tab` on selected text blocks to indent the whole text block in the console GUI
* Simple code formatter that can indent top level Jinja control blocks that already exist on their own line
* Fix broken `\exit` directive
* Fix `Ctrl+a` select all on linux
* Fix listed schedulers for recipes in the console UI, one duplicate value, and one missing value
* Syntax highlighted code examples in readthedocs documentation via custom pygments lexer

3.5.1

v3.5.1 release with Windows installer.

Due to the size of the packaged python environment, the installer is within a multi-part zip file.

The multipart zip can be extracted using 7-Zip: https://www.7-zip.org/

Download both ``dgenerate_installer.zip.001`` and ``dgenerate_installer.zip.002`` to a folder.

Unzip ``dgenerate_installer.zip.001`` to a directory (Right click, 7-Zip -> Extract to "dgenerate_installer") and then run ``dgenerate_installer\dgenerate.msi`` to install.

dgenerate will be installed under ``C:\Program Files\dgenerate`` by default with an isolated python environment provided.

The install directory will be added to PATH, and dgenerate will be available from the command line.

Portable Install

A portable install is provided via ``dgenerate_portable.zip.001`` and ``dgenerate_portable.zip.002``, these contain
nothing but the dgenerate executable and a frozen python environment which can be placed anywhere.

Patch Fixes

Small bugfix for jinja2 template streaming to the parser

Caused a parse issue with a very specific "here" template syntax


\set model "..."

{{ model }}
--inference-steps 30
--guidance-scales 8
--prompts "prompt here" !END



Previously the last line would be omitted, IE the argument `--prompts` would be omitted in this example due to ignoring residual
content in the streaming buffer which may lack a newline character. Bug did not present in typical for loops.

Page 6 of 10

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.