← 开源
varunshenoy

opendream

An extensible, easy-to-use, and portable diffusion web UI 👨‍🎨

ApplicationsContent creationJavaScript
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
1.67k
Star
73
Fork
+-1
本周
6
贡献者
创建于 2023-05-12 · 更新于 2026-10-13 · 今日第 9735 名
主要开发者
varunshenoyEricZLoushashank2000

varunshenoy/opendream 排名第 9,735,有 1,669 个星标。

同类别比较

varunshenoy/opendream 排名第 9,735,此处有 8 个同类条目;victordibia/handtracking 排名第 9,727。

同类别比较
名称排名指标
manzaltu/claude-code-ide.el9,717
语言:
Emacs Lisp
星标数:
1,674
分叉数:
117
简介:
Claude Code IDE integration for Emacs
0x676e67/ninja9,719
语言:
Rust
星标数:
1,673
分叉数:
279
简介:
Reverse engineered ChatGPT proxy
litaio/lita9,725
语言:
Ruby
星标数:
1,673
分叉数:
175
简介:
ChatOps for Ruby.
victordibia/handtracking9,727
语言:
Python
星标数:
1,673
分叉数:
457
简介:
Building a Real-time Hand-Detector using Neural Networks (SSD) on Tensorflow
Nutlope/turboseek9,751
语言:
TypeScript
星标数:
1,659
分叉数:
261
简介:
An AI search engine inspired by Perplexity
eylonmiz/react-agent9,757
语言:
TypeScript
星标数:
1,657
分叉数:
155
简介:
The open-source React.js Autonomous LLM Agent
abdulfatir/twitter-sentiment-analysis9,761
语言:
Python
星标数:
1,655
分叉数:
600
简介:
Sentiment analysis on tweets using Naive Bayes, SVM, CNN, LSTM, etc.
davialabs/davia9,762
语言:
TypeScript
星标数:
1,655
分叉数:
122
简介:
Interactive, editable docs designed for coding agents
关键参数与规格
关键参数与规格
参数值
语言JavaScript
类别Applications
子类别Content creation
星标数1,669
分叉数73
贡献者6
创建日期2023-05-12
更新日期2026-10-13
1 天星标数0
7 天星标数-1
排名9,735
上次排名9,774
排名变化39
7 天星标排名17,058
上次 7 天星标排名17,057
7 天星标排名变化-1
总星标排名7,412
上次总星标排名7,404
总星标排名变化-8
国家USA
README 摘录

Opendream: A Web UI For the Rest of Us 💭 🎨 Opendream brings much needed and familiar features, such as layering, non-destructive editing, portability, and easy-to-write extensions, to your Stable Diffusion workflows. *Prerequisites*: Make sure you have Node installed. Navigate to this project within your terminal and run . After ~30 seconds, both the frontend and backend of the Opendream system should be up and running. Features Diffusion models have emerged as powerful tools in the world of image generation

and manipulation. While they offer significant benefits, these models are often considered black boxes due to their inherent complexity. The current diffusion image generation ecosystem is defined by tools that allow one-off image manipulation tasks to control these models - text2img, in-painting, pix2pix, among others. For example, popular interfaces like Automatic1111, Midjourney, and Stability. AI's DreamStudio only support destructive editing: each edit "consumes" the previous image. This means users cannot easily build off of previous images or run multiple

experiments on the same image, limiting their options for creative exploration. Layering and Non-destructive Editing Non-destructive editing is a method of image manipulation that preserves the original image data while allowing users to make adjustments and modifications without overwriting previous work. This approach facilitates experimentation and provides more control over the editing process by using layers and masks. When you delete a layer, all layers after it also get deleted. This guarantees that all layers currently on the

canvas are a product of other existing layers. This also allows one to deterministically "replay" a workflow. Like Photoshop, Opendream supports non-destructive editing out of the box. Learn more about the principles of non-destructive editing in Photoshop here. Save and Share Workflows Users can also save their current workflows into a portable file format that can be opened up at a later time or shared with collaborators. In this context, a "state" is just a JSON file describing

all of the current layers and how they were created. Support Simple to Write, Easy to Install Extensions As the open-source ecosystem flourishes around these models and tools, extensibility has also become a major concern. While Automatic1111 does offer extensions, they are often difficult to program, use, and install. It is far from being as full-featured as an application like Adobe Photoshop. As new features for Stable Diffusion, like ControlNet, are released, users should be able to seamlessly

integrate them into their artistic workflows with minimal overload and time. Opendream makes writing and using new diffusion features as simple as writing a Python function. Extensions From the get-go, Opendream supports two key primitive operations baked into the core system: and . In this repository, extensions for , , , and (Segment Anything) are provided. Any image manipulation logic can be easily written as an extension. With extensions, you can also decide how certain operations work. For example, you can override the

operation to use OpenAI's DALL-E instead or call a serverless endpoint on a service like AWS or Replicate. Loading

常见问题

记录了多少星标和分叉?

varunshenoy/opendream 有 1,669 个星标和 73 个分叉。

仓库排名是多少?

varunshenoy/opendream 排名第 9,735。

记录的语言和类别是什么?

varunshenoy/opendream 有 1,669 个星标,语言为 JavaScript,类别为 Applications。

哪个仓库排名最接近?

varunshenoy/opendream 与 victordibia/handtracking 比较,后者排名第 9,727,有 1,673 个星标。

README

Opendream: A Web UI For the Rest of Us 💭 🎨

Opendream brings much needed and familiar features, such as layering, non-destructive editing, portability, and easy-to-write extensions, to your Stable Diffusion workflows. Check out our demo video.

Getting started

  1. Prerequisites: Make sure you have Node installed. You can download it here.
  2. Clone this repository.
  3. Navigate to this project within your terminal and run sh ./run_opendream.sh. After ~30 seconds, both the frontend and backend of the Opendream system should be up and running.

Features

Diffusion models have emerged as powerful tools in the world of image generation and manipulation. While they offer significant benefits, these models are often considered black boxes due to their inherent complexity. The current diffusion image generation ecosystem is defined by tools that allow one-off image manipulation tasks to control these models - text2img, in-painting, pix2pix, among others.

For example, popular interfaces like Automatic1111, Midjourney, and Stability.AI's DreamStudio only support destructive editing: each edit "consumes" the previous image. This means users cannot easily build off of previous images or run multiple experiments on the same image, limiting their options for creative exploration.

Layering and Non-destructive Editing

Non-destructive editing is a method of image manipulation that preserves the original image data while allowing users to make adjustments and modifications without overwriting previous work. This approach facilitates experimentation and provides more control over the editing process by using layers and masks. When you delete a layer, all layers after it also get deleted. This guarantees that all layers currently on the canvas are a product of other existing layers. This also allows one to deterministically "replay" a workflow.

Like Photoshop, Opendream supports non-destructive editing out of the box. Learn more about the principles of non-destructive editing in Photoshop here.

Save and Share Workflows

Users can also save their current workflows into a portable file format that can be opened up at a later time or shared with collaborators. In this context, a "state" is just a JSON file describing all of the current layers and how they were created.

Support Simple to Write, Easy to Install Extensions

As the open-source ecosystem flourishes around these models and tools, extensibility has also become a major concern. While Automatic1111 does offer extensions, they are often difficult to program, use, and install. It is far from being as full-featured as an application like Adobe Photoshop.

As new features for Stable Diffusion, like ControlNet, are released, users should be able to seamlessly integrate them into their artistic workflows with minimal overload and time.

Opendream makes writing and using new diffusion features as simple as writing a Python function. Keep reading to learn how.

Extensions

From the get-go, Opendream supports two key primitive operations baked into the core system: dream and mask_and_inpaint. In this repository, extensions for instruct_pix2pix, controlnet_canny, controlnet_openpose, and sam (Segment Anything) are provided.

Any image manipulation logic can be easily written as an extension. With extensions, you can also decide how certain operations work. For example, you can override the dream operation to use OpenAI's DALL-E instead or call a serverless endpoint on a service like AWS or Replicate. Here's an example using Baseten.

Loading an Existing Extension

There are two ways to load extensions.

  1. Install a pre-written one through the Web UI.
  2. (Manual) Download a valid extension file (or write one yourself!) and add it to the opendream/extensions folder. Instructions for writing your own extension are below.

Here is a sampling of currently supported extensions. You can use the links to install any given extension through the Web UI.

Extension Link
OpenAI's DALL-E File
Serverless Stable Diffusion File
Instruct Pix2Pix File
ControlNet Canny File
ControlNet Openpose File
Segment Anything File
PhotoshopGPT Gist

Note that extensions may have their own requirements you would need to include in the requirements.txt file. For example, you would need to add openai if you want to use the DALL-E extension.

Feel free to make a PR if you create a useful extension!

Writing Your Own Extension

Users can write their own extensions as follows:

  1. Create a new Python file in the opendream/extensions folder.
  2. Write a method with type hints and a @opendream.define_op decorator. This decorator registers this method with the Opendream backend.

The method has a few requirements:

  • Parameters must have type hints. These enable the backend to generate a schema for the input which is parsed into form components on the frontend. Valid types include: str, int, float, Layer, MaskLayer, or ImageLayer.
  • The only valid return types are a Layer or a list of Layer objects.

Contributions and Licensing

Opendream was built by Varun Shenoy, Eric Lou, Shashank Rammoorthy, and Rahul Shiv as a part of Stanford's CS 348K.

Feel free to provide any contributions you deem necessary or useful. This project is licensed under the MIT License.

排名相邻
同类项目