Skip to content

huanyingtianhe/EasyComfyUI

Repository files navigation

Introduction

ComfyUI is the most powerful and modular stable diffusion GUI and backend. But it is not easy to use, and has a high learning curve. We build Apps based on the workflows, and provide several interfaces, like input prompt, upload image, upload video. You do not need to take care of the workflow details, what is your focus is only your content. We plan to provide follow functionalities, but we only support "Text to image" and "Video to video" so far:

  • Text to Image, Text to Video
  • Image to Image, Image to video
  • Video to video

We also support upload workflow to customize your app now, you can specify the parameters in your app at the same time.

Roadmap

  • Base Text to image
  • DB model
  • Login and register
  • Add App
  • Video to video
  • Customize App to support parameters
  • Support vercel
  • Start ComfyUI backend automatically
  • Add settings in UI
  • Add limitation for free users
  • Adapt to mobile devices
  • Select model
  • Select styles
  • Text to video
  • Image to video

Screenshot

Home Page: home Apps Page: apps Text to Image App: Text2Image Video to Video App Video2Video

Live demo: EasyComfyUI: 更容易上手的ComfyUI-哔哩哔哩

Try For Fun

You can go to the website https://easy-comfyui.vercel.app/apps to have a try first, but we do not provide ComfyUI backend by default. You need set your comfyUI address in the settings first. It may fail if your ComfyUI does not have installed the required nodes. If you do not have the ComfyUI, you can ask me to give you an url for testing, the url may only work an hour, not sure about it.

Install

This is a Next.js project bootstrapped with create-next-app.

Prepare env file

Rename the env.template to .env, and fill in the value with your own. The first part is related with Auth, you do not need to take care at first. What you need to notice is the second section. ComfyUI_BASE_ADDRESS is the url of your ComfyUI service, no matter it is local or remote. We can get the DATABASE_URL following the steps described below.

Prepare DB

If you already have a mysql instance, copy the mysql connection string, it is what DATABASE_URL variable need, and skip the section "Setup Mysql Instance".

Setup Mysql Instance

Install Mysql in your machine if you do not have a mysql instance. The question is how to setup the mysql instance? It is easy, just switch to the root folder of the project in command line tool, then run the command:

sudo docker compose up -d

It requires you install the docker, docker-compose and mysql in your machine. After the execution, it will create a mysql instance and a database named "easy_comfyui", you can connect it with below command:

mysql -h 127.0.0.1 -P 3306 -u root -p

The format of the connection string for a local mysql instance looks like this:

"mysql://root:password@localhost:3306/easy_comfyui"

How to use Prisma

Then we need to create the table in the db instance, we use Prisma to help us do that. Prisma ORM is an open-source next-generation ORM. For development, you only need to run following commands, it will create tables and keys in your database.

yarn install
npx prisma migrate dev --name init

You can find more in the following documents:

Getting started

CRUD document

Start the Website

Then, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev

Open http://localhost:3000 with your browser to see the result.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.