Malette.Art
扫码查看

将ComfyUI工作流部署为AI应用API的服务

Malette.Art

综合介绍

Malette.Art是一个为AI开发者和创作者设计的一站式AI应用部署平台。 它的核心功能是让用户可以将主流的AI绘画工具ComfyUI工作流,一键转换成可以随时调用的API服务。 这个平台解决了AI开发过程中工具繁杂、接口多变和重复搭建基础设施的问题。 用户无需自己配置和维护高性能GPU硬件,可以直接在云端使用平台提供的ComfyUI环境来创建或调试工作流。 完成后,平台会将其打包成一个标准的API接口。开发者可以通过简单的代码(平台提供了JavaScript SDK示例)将这些AI生成能力集成到自己的网站或应用程序中,例如实现文生图、图生视频、风格转换等功能。 Malette.Art致力于通过一个统一的协议,让开发者告别繁琐的“胶水代码”,更专注于创造性的工作。

功能列表

  • 云端ComfyUI: 提供一个在浏览器中直接运行的ComfyUI环境,用户无需在本地安装和配置复杂的依赖。
  • 工作流一键部署: 用户可以将已经调试好的ComfyUI工作流(JSON文件)直接部署为可对外提供服务的API。
  • 标准化API集成: 为每个部署的应用生成RESTful API,并提供cURL、JavaScript SDK等调用方式,未来还将支持Python SDK。
  • 高性能GPU集群: 所有AI计算任务都在云端的高性能GPU集群上运行,确保了生成速度和处理能力。
  • 输入输出配置: 在部署工作流时,用户可以自定义应用的输入参数(如提示词、图片尺寸、模型选择等)和输出内容(如生成的图片)。
  • 热门应用探索: 网站提供了一些由社区创建的热门AI应用,例如吉卜力风格转换、3D头像生成、乐高风格化等,用户可以即时体验。
  • 支持多种AI任务: 平台支持文生图、文生视频、图像风格转换、背景移除、贴纸制作等多种AI生成任务。

使用帮助

Malette.Art平台的核心价值在于简化AI应用的部署流程。它将繁琐的硬件配置、环境搭建和接口开发工作内化,让用户只需专注于AI工作流的设计本身。以下是该平台从上手到部署一个完整AI应用API的详细操作流程。

第一步:进入云端ComfyUI环境

  1. 访问Malette.Art官网并登录您的账户。
  2. 在网站的顶部导航栏中,找到并点击ComfyUI选项。这会带您进入一个功能齐全的、无需本地安装的在线ComfyUI界面。
  3. 这个界面和您在本地使用的ComfyUI几乎没有差别,包含了节点区域、工具菜单和执行队列。平台已经预装了大量常用的自定义节点,省去了手动安装的麻烦。

第二步:创建或上传您的工作流

您有两种方式来准备您的工作流:

  • 方式一:在线创建和调试工作流
    • 如果您熟悉ComfyUI,可以直接在画布上通过拖拽和连接节点来构建您的AI绘图流程。您可以加载平台提供的不同模型(Checkpoints)、LoRA、ControlNet等。
    • 在画布右侧的菜单中,您可以点击Queue Prompt来测试当前工作流的执行情况。生成的图片会直接显示在Save ImagePreview Image节点中,方便您实时调试,直到获得满意的效果。
  • 方式二:加载本地已有的工作流
    • 如果您本地已经有一个调试好的ComfyUI工作流,您可以直接将其导入。
    • 在右侧菜单中,点击Load按钮,然后选择您本地的ComfyUI工作流JSON文件进行上传。画布上会自动加载出您熟悉的工作流布局。

第三步:配置工作流为API应用

这是将一个可视化工作流转化为一个程序化应用的关键步骤。您需要告诉平台,当别人调用这个API时,哪些参数是需要外部传入的,以及哪些结果是需要返回给调用者的。

  1. 配置输入参数:
    • 在您的工作流中,找到您希望作为API输入的节点。例如,“文生图”工作流中的提示词输入框(CLIP Text Encode (Prompt)节点)、图像尺寸设置(Empty Latent Image节点中的widthheight)、采迭代步数(KSampler节点中的steps)等。
    • 右键点击该节点,在弹出的菜单中选择Convert X to Input(例如,对于提示词,选择Convert text to Input)。
    • 完成转换后,该节点的输入控件会消失,表示它现在是一个等待API传入数据的“输入参数”。
  2. 配置输出结果:
    • 同样地,找到您希望作为API返回结果的节点。最常见的是最终生成图像的Save ImagePreview Image节点。
    • 右键点击该节点,选择Set as Output
    • 您可以将多个节点都设置为输出,例如,同时输出一张预览图和一张高清图。

第四步:一键部署为API服务

  1. 当您完成上述输入和输出配置后,在顶部导航栏选择AI应用
  2. 在应用管理页面,选择您刚刚配置好的那个ComfyUI工作流。
  3. 系统会引导您进入应用发布界面。在这里,您需要填写一些基本信息,例如:
    • 应用名称: 给您的API起一个容易识别的名字,如“国风山水画生成器”。
    • 应用描述: 简单介绍这个API的功能。
  4. 点击“发布”或“部署”按钮。Malette.Art的后台系统会自动将您的工作流打包、优化,并生成一个独一无二的API端点(Endpoint)。

第五步:集成和调用API

部署成功后,平台会提供API的调用文档和代码示例。

  1. 查看API文档: 在您的应用管理页面,可以找到API的详细信息,包括请求地址、请求方法(通常是POST)、请求头(需要包含您的API Key用于认证)以及请求体(Body)的格式。
  2. 使用SDK调用: 平台提供了JavaScript SDK的代码示例,您可以直接复制使用。
    // 引入SDK客户端
    const { Malette } = require('@malette/sdk');
    // 使用您的API Key进行初始化
    const client = new Malette({
    apiKey: 'your-api-key',
    });
    // 异步运行工作流
    async function generateImage() {
    try {
    // 调用您部署的应用ID(例如'TXT2IMG'),并传入参数
    const result = await client.runSync('您的应用ID', {
    "text6": "一只可爱的中国龙", // 对应您之前配置的提示词输入
    "width5": "1024",      // 对应您配置的宽度输入
    "height5": "1024",     // 对应您配置的高度输入
    "ckpt_name4": "ArcadeXL_v0.2.safetensors" // 对应您配置的模型输入
    });
    // 打印API返回的结果,其中会包含图像的URL或其他输出
    console.log('API执行结果:', result);
    } catch (error) {
    console.error('API执行错误:', error);
    }
    }
    generateImage();
    

通过以上五个步骤,您就成功地将一个可视化的AI创作工具,转化为了一个可以被集成到任何程序中的自动化服务,而无需关心底层的GPU运维和技术实现。

应用场景

  1. 为应用程序增加AI功能开发者可以将Malette.Art生成的API集成到自己的网站、小程序或App中。例如,在社交应用中加入AI头像生成功能,或在电商网站中为用户提供AI模特试穿服务。
  2. 自动化内容生产内容创作者或营销团队可以调用API批量生成图片或视频素材。例如,根据不同的营销文案,自动生成风格统一的广告配图或短视频片段,极大地提升内容制作效率。
  3. AI艺术创作工具不擅长编程的AI艺术家可以利用该平台,将自己精心设计的ComfyUI工作流打包成一个易于分享和销售的应用。他们可以专注于效果的调试,而将部署和服务的难题交给平台。
  4. 教育和快速原型验证对于学习AI的学生或需要快速验证产品想法的创业者,Malette.Art提供了一个低成本的实验环境。他们可以快速地将一个想法转化为可交互的原型,而无需投入大量时间和金钱去采购和配置硬件。

QA

  1. 问:使用Malette.Art需要自己有GPU吗?答:不需要。Malette.Art是一个云端服务,所有的计算任务都在平台提供的高性能GPU集群上执行。 用户只需要通过浏览器访问网站即可创建和部署应用,无需关心本地硬件配置。
  2. 问:将工作流部署成API之后,如何收费?答:平台官网上的“产品定价”部分目前显示为“敬请期待”。 通常这类服务会根据API的调用次数、GPU使用时长或生成资源的数量来计费。具体信息需要关注官方未来的公告。
  3. 问:如果我需要的ComfyUI节点平台上没有怎么办?答:Malette.Art声称提供海量预装节点并每日更新。 而对于更专业或冷门的自定义节点需求,通常这类平台会提供上传自定义节点的功能或社区反馈渠道,建议查阅平台的文档或联系客服获取支持。
  4. 问:调用API生成一张图片需要多长时间?答:生成时间取决于多个因素,包括工作流的复杂程度、图像的分辨率、采样步数以及当前服务器的负载情况。从官网的SDK示例来看,其提供了一个timeout(超时)参数选项,说明平台对任务执行时间有一定的控制和预期。
微信微博Email复制链接