Workflows and their related concepts

Workflows in Comfy Deploy represent your ComfyUI workflows that you've uploaded and want to use in your own applications.


Workflow Verisons

Workflows have versions. Versions let you iterate on your workflows without losing track of previous work.


Machines

Your workflows run on a machine (learn more here) The custom nodes your workflow depends on should be installed into your machine.


Deployments and APIs

Deployments are how you can expose your workflows as APIs! Select your version and machine. Then select either "production" or "staging" for your deployment


You should see a deployment popup shortly in the bottom left, this means your deployment is live!


Integrating Workflow API

When you click this you'll find code snippets to integrate your Comfy workflows with your applications with a simple API call.

Example of calling on the frontend.

Using the JS SDK

and the polling mechanism to update the frontend

// Initialize your client
const client = new ComfyDeployClient({
  apiToken: process.env.COMFY_DEPLOY_API_KEY!,
});

// Create a run via deployment id
const { run_id } = await client.run({
deployment_id: "<YOUR DEPLOYMENT ID>",
  // these inputs will change based on your situatoin
  inputs: {
      "positive_prompt": "",
      "negative_prompt": ""
    }
});

// Check the status of the run, and retrieve the outputs
const run = await client.getRun(run_id);


Dependencies

Dependencies are the models, static assets and custom nodes that you need to run your workflows. We figure this out based on your local environment and collect them so that you can get up and running quickly. Currently we don't get all the dependencies but we do get a lot of the obvious ones out of the way.


Public Share

Public share is a way that you can quickly share your workflows with your teammates or prospective clients.


Selecting "public", it will show up in your "deployments" section.

When you click the public share tab in the deployment section, a popup with fields to customize your Share page will show up. You'll be able to add a - description of your workflow, - a "cover photo" to showcase. - The title of the page will be the name of the workflow. - Users will be able to test out the workflow, with the inputs you defined

Your view share page will look something like this. Check out this examples page for Comfy Deploy workflows! (They use sharepages!)


External inputs

External inputs are how you define the inputs of your deployed APIs! This is done by connecting Comfy Deploy's "External nodes" to your existing workflows. You can find them by searching "external" for in your ComfyUI


Setting External Inputs

Let's say this is my workflow If I wanted to make it so that the positive prompt was an external input.

  1. Right click and select "Convert text to input" (this option is availble to all your input values).

  1. Then you'll see that the value has turned into an input value

  1. Connect the Comfy Deploy "External text" node to it. Optionally write a default value

  1. Then deploy! (in case you forgot how)

Now you understand where you can set workflow inputs!

Outputs


Outputs are determined by "Save image" and "Preview Image" we allow differnt types of outputs.

  • png
  • jpg/jpeg
  • webp
  • octet-stream

Observability


Workflow observability means being able to undersatnd what happens on your runs. What you see here is the inputs given, a link to the logs as well as the final output.


Also you are able to see the time spent in the different operations. As well as the fine grained breakdown if you hover over the Duration.


Models and Storage

The models your workflows depend on will be in storage (learn more here)


Properties - workflow version

  • Name
    workflow_id
    Type
    string
    Description

    Unique identifier for the workflow.

  • Name
    id
    Type
    string
    Description

    Unique identifier for the workflow.

  • Name
    workflow
    Type
    object
    Description

    The ComfyUI workflow object

  • Name
    workflow_api
    Type
    object
    Description

    The ComfyUI workflow API object

  • Name
    version
    Type
    integer
    Description

    The version number of the workflow.

  • Name
    snapshot
    Type
    object
    Description

    The snapshot object from ComfyUI

  • Name
    dependencies
    Type
    object
    Description

    The dependencies object associated with the workflow.

  • Name
    created_at
    Type
    timestamp
    Description

    Timestamp of when the workflow was created.

  • Name
    updated_at
    Type
    timestamp
    Description

    Timestamp of when the workflow was last updated.

Was this page helpful?