Skip to content

LightCC 按量调用 API 文档

💡 提示:在使用本 API 之前,请先阅读 API接入指南,了解如何申请密钥和进行身份认证。

获取上传预签名

GET /system/api/v1/task/minio/uploadPath/{fileType}

上传预签名,通过调用该接口可以获取一个指定类型的上传链接和文件名称,通过PUT方法可以将所需的图片上传。url地址3分钟内有效

请求参数

名称位置类型必选中文名说明
fileTypepathstring文件后缀名例如:png

请求示例

bash
curl --location --request GET 'https://api.lightcc.cloud/system/api/v1/task/minio/uploadPath/${fileType}' \
--header 'x-api-key: ${X_API_KEY}'

响应参数

json
{
    "code": 200,
    "msg": "操作成功",
    "data": {
        "fileName": "xxxxxxxx.png",
        "url": "http://minio3.lightcc.cloud/task-image/upload_img/xxxxxxx.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=7O9Rs7dw64oTtVvJZfa5%2F20250911%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250911T161422Z&X-Amz-Expires=180&X-Amz-SignedHeaders=host&X-Amz-Signature=6f391c908eff7c0ca0f9103519fa905a7e477e2b8b3e2f5bc3d4f6f3a85b7186",
        "preUrl": "https://minio3.lightcc.cloud/task-image/upload_img/xxxxxxx.png"
    }
}
名称类型备注
fileNameString文件名,工作流中如果需要图片则使用这个名称
urlString工作流图片的上传地址
preUrlString图片预览地址

再根据url将文件上传

bash
curl --location --request PUT '${url}' \
--header 'Content-Type: application/octet-stream' \
--data-binary '@<your_file>'

创建任务

POST /system/api/v1/task/create

创建任务,需要ComfyUI中完整工作流。特别注意:必须在Comfy官方版镜像可运行的工作流。

请求参数

json
{
  "prompt": {},//完整工作流
  "images": [],//上文件名,由请求上传预签名获取的filename
  "videoMemory":"",//采用显存 24 或 48 默认为48
}
名称位置类型必选中文名说明
promptbodyObject工作流ComfyUI中可执行的工作流
imagesbodyArray图片名图片必须先上传才可以使用
videoMemorybodyString使用显存采用显存大小(24、48)默认为48
callbackUrlbodyString回调地址可访问的Post的URL地址,
用于任务结束后返回任务信息

请求示例

bash
curl --location --request POST 'https://api.lightcc.cloud/system/api/v1/task/create' \
--header 'x-api-key:  ${X_API_KEY}' \
--header 'Content-Type: application/json' \
--data-raw '{
    "prompt": {},
    "images": [
        "xxx.png"
    ]
}'

请求参数案例参考:

注意:工作流需要处理文件,需要通过(task/minio/uploadPath/{fileType})上传文件,工作流中使用的文件名需要替换,并且images参数中指定要使用的文件名

每次执行都需要用户选择输入,像其他文本、数字、模型选择等参数,需要将工作流中对应的值替换后,再创建执行

prompt参数的工作流是一个完整可执行的并且参数已经完善的API工作流。

json
{
    "prompt": {
        "1": {
            "inputs": {
                "image": "a3dcdf2741744d6ea37c3b9a3e686056.png" 
                // 替换为接口(task/minio/uploadPath/{fileType})返回名fileName
            },
            "class_type": "LoadImage",
            "_meta": {
            "title": "加载图像"
            }
        },
        // ....
        "3": {
            "inputs": {
                "value": "描述文字" 
                // 工作流的文字或其他参数,比如数字,下拉等填写完整,
            },
            "class_type": "PrimitiveStringMultiline",
            "_meta": {
            "title": "字符串(多行)"
            }
        }
    },
    "images": [
        "a3dcdf2741744d6ea37c3b9a3e686056.png" // 工作流中使用上传文件
    ]
}

响应参数

返回结果参考

json
{
    "code": 200,
    "msg": null,
    "data": {
        "taskId": "1966177829595463680", //任务id,用于获取执行日志和执行结果
        "status": 0 // 任务的状态情况:0:排队
    }
}
名称类型备注
taskIdString任务的唯一标识,可使用它来获取执行日志和执行结果
statusNumber任务状态,创建任务默认为排队中

获取执行日志

GET /system/api/v1/task/processLog/{taskId}

获取任务执行日志,包含任务状态、任务进度、任务执行情况等

请求参数

名称位置类型必选中文名说明
taskIdpathstring任务Id获取日志执行情况

请求示例

bash
curl --location --request GET 'https://api.lightcc.cloud/system/api/v1/task/processLog/${taskId}' \
--header 'x-api-key: ${X_API_KEY}'

响应参数

返回结果参考

json
{
    "code": 200,
    "msg": null,
    "data": {
        "taskId": "1966175039158566912",
        "status": 1,//0:排队;1:运行;2:中断;3:异常;4:完成
        "process": 11,//任务进度
        "msg": "当前任务执行情况:1/9" //进度日志
    }
}
名称类型备注
taskIdString任务的唯一标识,可使用它来获取执行日志和执行结果
statusNumber任务状态:0:排队;1:运行;2:中断;3:异常;4:完成
processNumber进度百分比
msgString任务执行情况日志

获取执行结果

GET /system/api/v1/task/result/{taskId}

获取任务执行结果,包含结果图片地址、消耗算力点,开始时间、结束时间、错误信息等。

请求参数

名称位置类型必选中文名说明
taskIdpathstring任务Id无值显示最近12小时记录,有值显示当前记录

请求示例

bash
curl --location --request GET 'https://api.lightcc.cloud/system/api/v1/task/result/
${taskId}' \
--header 'x-api-key: ${X_API_KEY}'

响应参数

返回结果参考

json
{
    "code": 200,
    "msg": null,
    "data": {
        "taskId": "1966175039158566912",
        "status": 4,//0:排队;1:运行;2:中断;3:异常;4:完成
        "costPoint": 10.0,//消耗算力点
        "result": [
            "http://minio3.lightcc.cloud/task-image/save_img/8905712d74c443d89ba1f369300c3f70.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=7O9Rs7dw64oTtVvJZfa5%2F20250911%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20250911T162426Z&X-Amz-Expires=259200&X-Amz-SignedHeaders=host&X-Amz-Signature=89f6559fc09910c08f4b7629362081070231f5369c65ab6c29269c1bb0a48ec1"
        ],//执行结果
        "error": null,//执行错误
        "startTime": 1757607635385,//开始时间
        "endTime": 1757607864839//结束时间
    }
}

任务响应体

名称类型备注
taskIdString任务的唯一标识,可使用它来获取执行日志和执行结果
statusNumber任务状态:0:排队;1:运行;2:中断;3:异常;4:完成
costPointNumber消耗算力点
resultArray工作流执行结果图片地址,图片地址3天内可访问
errorString执行错误信息
startTimeNumber开始时间
endTimeNumber结束时间

中断任务

PUT /system/api/v1/task/interrupt/{taskId}

中断任务,注意:只能对排队中和运行中的任务中断。

请求参数

名称位置类型必选中文名说明
taskIdpathstring任务id中断任务,只能中断等待中和运行中

请求示例

bash
curl --location --request PUT 'https://api.lightcc.cloud/system/api/v1/task/interrupt/${taskId}' \
--header 'x-api-key: ${X_API_KEY}'

调用中断后返回任务信息,响应信息参考执行结果的返回值

json
{
    "code": 200,
    "msg": null,
    "data": {
        "taskId": "1966178373999345664",
        "status": 2,
        "costPoint": 0.0,
        "result": null,
        "error": null,
        "startTime": 1757608430374,
        "endTime": null
    }
}