Skip to main content

Overview

The ComfyControl API provides programmatic access to manage ComfyUI runners, execute workflows, and organize templates. Built on RESTful principles, the API uses JSON for request and response bodies (except for file uploads which use multipart/form-data).

Base URL

All API requests should be made to:
https://api.comfycontrol.app

API Conventions

HTTP Methods

The API uses standard HTTP methods:
  • GET - Retrieve resources
  • POST - Create new resources or trigger actions
  • PUT - Update existing resources
  • DELETE - Remove resources

Response Format

All responses are returned in JSON format with appropriate HTTP status codes. Successful responses return the requested data, while errors return a standardized error object.

Timestamps

All timestamps are returned in ISO 8601 format (UTC):
"2024-01-15T10:30:00Z"

UUIDs

Resource identifiers use UUID v4 format:
"550e8400-e29b-41d4-a716-446655440000"

Pagination

List endpoints support pagination through query parameters:
  • page - Page number (default: 1, minimum: 1)
  • per_page - Items per page (default: 10, minimum: 1, maximum: 100)
Example Request:
GET /v1/runner?page=2&per_page=20
Response Format:
{
  "runners": [...],
  "total": 45
}

File Uploads

Endpoints that accept file uploads use multipart/form-data encoding:
  • Maximum file size: 50MB per request
  • Supported for workflows and templates
  • Files are temporarily stored and processed asynchronously

Tags

Many resources support tags for organization and filtering:
  • Tags are arrays of strings
  • Used for runner selection in workflows
  • Case-sensitive
  • No special characters required
Example:
{
  "tags": ["production", "gpu-a100", "image-generation"]
}

Getting Started

  1. Obtain an API token from your dashboard
  2. Include the token in your request headers
  3. Start making API calls to manage your resources

Need Help?