What is FunArt?

更新时间:
复制 MD 格式

FunArt hosts and launches open source ComfyUI applications with one click. It provides full lifecycle management, from project development to API calls.

  • Project development phase: Debug prompts and workflows, install models and plugins, and generate images or videos to achieve your desired results.

  • API call phase: Run workflows in the image generation environment that you built during development. This environment includes your installed models, plugins, and dependencies. Use Serverless APIs to generate images elastically and efficiently.

Advantages

One-click deployment and out-of-the-box use

  • One-click deployment: Launch an image generation project with one click. You can set up the end-to-end environment in minutes.

  • Out-of-the-box: FunArt automatically allocates Serverless GPU computing power and storage resources. It provides a pre-installed, out-of-the-box ComfyUI environment, so you do not need to manually install any dependencies.

Full lifecycle management from development to API calls

  • Simple project development: The development experience is similar to generating images locally. You can easily download models, install plugins, debug prompts and workflows, and generate images quickly.

  • Elastic and HA API calls: The API call phase leverages Serverless features, such as elasticity, high availability (HA), and automatic scaling.

  • One-stop publishing: You can publish workflows that you have debugged during the development phase directly as elastic and highly available APIs.

China network acceleration to reduce wait times

  • Model pre-caching: Over 50 common models are cached to speed up downloads.

  • Use a domestic GitHub mirror to accelerate plug-in downloads and avoid connection timeouts caused by cross-border access.

  • Use the Alibaba Cloud PyPI source to accelerate dependency installation.

Flexible and open

  • Custom model uploads: You can upload your own custom models. The changes take effect immediately.

  • Custom plugin extensions: You can upload custom plugins using file management or by logging in to the instance to meet your specific needs.

Dedicated resources and enhanced security

  • Independent environments: Each project has dedicated GPU resources. This prevents performance issues caused by resource contention.

  • Isolated storage: Models and generated content are stored in your Apsara File Storage NAS to ensure data security.

Serverless computing power with elastic scaling and pay-as-you-go billing

  • Automatic scaling: Serverless computing power automatically scales out to handle traffic bursts and peak loads.

  • Pay-as-you-go: You pay only for the computing power you use. Compute resources are automatically released when there are no requests. You can start and stop resources on demand, which results in low costs for shallow hibernation (idle) states.

Enterprise-grade reliability

High availability: The service is highly available. Computing power is deployed across multiple zones for disaster recovery. The system automatically migrates and recovers from any single point of failure.

Usage flow

During the deployment phase, FunArt creates the required computing power and storage resources with one click and launches an out-of-the-box image generation project.

Project development phase

In the project development phase, you can use ComfyUI to generate images or videos.

Starting a workspace launches a GPU function instance. In the workspace, you can download models, install plugins, and debug prompts and workflows to generate images and videos. When you are finished, you can shut down the workspace. This action destroys the function instance. You must start the workspace again before you can use it for the next time.

API call phase

After you install models and plugins and debug prompts and workflows in ComfyUI, you can publish the online service. This action publishes the current workspace, which includes the source code, plugins, and dependency packages that `ComfyUI` requires.

Publishing the online service creates a new function. You can configure new resource specifications and elastic policies to generate images elastically with a Serverless API. You can also configure the service to save the output images to Object Storage Service (OSS).

Transition from development to API calls

When you publish an online service, the system packages the ComfyUI source code, plugins, and dependencies from the workspace into a snapshot. When a function instance starts during the API call phase, it loads this snapshot to restore an environment identical to the development environment and then executes image generation requests.

The compute resources and plugins for the API call phase are isolated from the project development phase. Only models are shared between the two phases. Because of this isolation, changes to plugins and dependencies during development do not affect API calls. To apply these changes, you must republish the online service. The updates will apply to all new function instances.

Architecture and principles

image

The image generation application is an elastic, highly available application built on your Serverless GPU computing power and cloud storage. The necessary compute and storage resources are created automatically when you deploy a project.

  • The Serverless GPU computing power is provided by Function Compute (FC) GPU functions.

  • The storage products used are Apsara File Storage NAS, Object Storage Service (OSS), and Simple Log Service (SLS).

    • Apsara File Storage NAS is mounted to function instances to store common ComfyUI directories, such as `custom_nodes/`, `input/`, `output/`, and `models/`. NAS is also used for the persistence of `ComfyUI` snapshots.

    • Note

      A snapshot contains the `ComfyUI` project and its dependency environment.

      When a workspace starts in the development phase, it loads a snapshot. When the workspace shuts down, it saves a snapshot for the next startup.

      The development phase and the API call phase use different snapshots. The snapshot acts as a link between them. When you publish an API, the runnable workflow environment from the development phase is converted into a new snapshot for the API call phase. The API then runs using this new snapshot.

    • SLS is used to store logs generated by the project.

    • OSS can be used to store the images or videos that you generate during the API call phase.