当前位置: 首页 > news >正文

AI新玩法:Flux.1图像生成结合内网穿透远程生图的解决方案

文章目录

    • 前言
    • 1. 本地部署ComfyUI
    • 2. 下载 Flux.1 模型
    • 3. 下载CLIP模型
    • 4. 下载 VAE 模型
    • 5. 演示文生图
    • 6. 公网使用 Flux.1 大模型
      • 6.1 创建远程连接公网地址
    • 7. 固定远程访问公网地址

前言

在这个AI技术日新月异的时代,图像生成模型已经成为了创意工作者和开发者手中的神器。如果你对如何快速上手并利用这些黑科技感兴趣,那么今天的内容绝对会让你大开眼界!

Flux.1 是由 Black Forest Labs 推出的一款免费开源图像生成模型,通过 ComfyUI 这个用户友好的界面,你不仅能够轻松调用这款神器,还能在创意的海洋中畅游。Black Forest Labs 的创始人 Robin Rombach 曾是 Stability AI 的核心成员之一,团队中的许多人都来自 Stable Diffusion 的原始开发团队。这简直就是生成式模型界的梦之队!

那么,如何在本地部署安装 ComfyUI 并搭建 Flux.1,并结合 Cpolar 内网穿透工具实现远程生图呢?别急,跟着我们的步伐,一步步揭开这个神秘面纱吧!

showcase.jpg

【视频教程】

最近爆火的Flux.1 AI生图模型Windows电脑本地安装与使用保姆级教程

1. 本地部署ComfyUI

本篇文章测试环境:Win11专业版,8GB显存

进入到官方Github中,下载最新版ComfyUI

ComfyUI Github:GitHub - comfyanonymous/ComfyUI: The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

image.png

找到免安装版本

image.png

解压保存到本地打开,进入到根目录下,有 run_cpurun_nvidia_gpu
第一个是通过CPU进行解码的,第二个是通过Nvidia显卡进行解码的,速度会更快

23694ceffdf320173d0f96fcb10f5b8.png

双击打开这两个其中哪个脚本都可以,运行脚本

e700764d9b1568352ac9a732e87ebf4.png

打开一个新的浏览器输入 http://127.0.0.1:8188

可以看到进入到了ComfyUI当中,但是默认情况下是英文,需要设置成中文

659ff4e9543527493c7a67aff8ba4d8.png

下载中文语言包,点击链接:GitHub - AIGODLIKE/AIGODLIKE-ComfyUI-Translation: A plugin for multilingual translation of ComfyUI,This plugin implements translation of resident menu bar/search bar/right-click context menu/node, etc

下载压缩包并解压到本地

image.png

解压后,进入到根目录,把这个文件放到ComfyUI \ custom_nodes 目录中

image.png

da672591178014cd8a912801b5d7ec2.png

回到 Comfy UI 中,点击设置,选择语言为中文

659ff4e9543527493c7a67aff8ba4d8.png

b5c785585100e85db39ad30fddd5ad6.png

c59239c39be378ed7686acd06c854c7.png

2. 下载 Flux.1 模型

FLUX 模型有四个可选,FLUX.1 [dev] 、FLUX.1 [dev] fp8、FLUX.1 [schnell]、FLUX.1 [schnell] fp8;

  1. FLUX.1 [dev] :官方版本满配版,最低显存要求24G;下载地址: https://huggingface.co/black-forest-labs/FLUX.1-dev/tree/main
  2. FLUX.1 [dev] fp8:大佬优化 [dev] 后版本,建议选择此版本,最低 12G 显存可跑;下载地址: https://huggingface.co/Kijai/flux-fp8/blob/main/flux1-dev-fp8.safetensors
  3. FLUX.1 [schnell]:4步蒸馏模型,大多数显卡可跑。 下载地址: https://hf-mirror.com/black-forest-labs/FLUX.1-schnell/tree/main
  4. FLUX.1 [schnell] fp8:优化 版本,适应更低的显卡配置。下载地址: https://huggingface.co/Kijai/flux-fp8/blob/main/flux1-schnell-fp8.safetensors

这里下载第3种,4步蒸馏模型,大多数显卡可跑。

image.png
无论下载上面的哪个模型,都存放在这个:ComfyUI/models/unet/ 目录下

5236229bf283cdc6e1ad1475ef7ac58.png

3. 下载CLIP模型

点击地址下载CLIP: https://huggingface.co/comfyanonymous/flux_text_encoders/tree/main

下载 t5xxl_fp16.safetensors 或 t5xxl_fp8_e4m3fn.safetensors (建议选择fp8 版本,如果你显存超过 32G 可选择 fp16 版本)

bc719957182cd282d7eb6aa6a282c2b.png

放入到ComfyUI/models/clip/ 目录中

image.png

4. 下载 VAE 模型

解压下载VAE模型

image.png

下载到本地后,存放至ComfyUI/models/vae/ 目录

image.png

最后回到 ComfyUI 目录,启动运行脚本

image.png

重新进入到浏览器当中 http://127.0.0.1:8188

cac0bd75b2449e164c73557076c52e8.png

5. 演示文生图

接下来需要调用模型

点击链接:Flux Examples | ComfyUI_examples (comfyanonymous.github.io)

可以看到有Flux Dev版本和Flux Schnell版本,这里和开头一样,我使用的是Flux Schnell版本

image.png

把图片保存到本地

回到 ComfyUI 当中,把图片直接拖入进去,可以看到自动加载模型

75c350698eda2771bf29c33be9a9708.png

在CLIP文本编码器当中,修改提示词(输入翻译后的英文),点击右侧添加提示词队列

如果出现报错,需要把左侧的加载器修改为fp8

image.png

77f244d3ea7cf43b0f1f8b5b249931c.png

可以看到右侧已经生成了新的图片,我们在本地成功部署了ComfyUI并搭建了 Flux.1 大模型,如果想团队协作多人使用,或者在异地其他设备使用的话就需要结合Cpolar内网穿透实现公网访问,免去了复杂得本地部署过程,只需要一个公网地址直接就可以进入到ComfyUI中来使用 Flux.1文生图。

接下来教大家如何安装Cpolar并且将 Flux.1 实现公网使用。

6. 公网使用 Flux.1 大模型

下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发本地端口映射的http公网地址,我们可以很容易实现远程访问,而无需自己注册域名购买云服务器.下面是安装cpolar步骤

cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sudo sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

6.1 创建远程连接公网地址

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,本例使用了: comfyui注意不要与已有的隧道名称重复

  • 协议:http

  • 本地地址:8188

  • 域名类型:随机域名

  • 地区:选择China Top

  • 高级:Http Auth:user:123(本例中用户名user 密码123)

点击保存

a0d48c019aced2bafd9a8f3dbaef29b.png

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

32bf5ef69347ecf3acd5baa727664ae.png

如下图所示,输入设置的用户名及密码(也可以不设置高级,就无需用户名密码直接登入,安全起见,建议配置高级)

751d9c9fc4b1fee45b8e8edd7049597.png
可以看到成功实现使用公网地址异地远程访问本地部署的Flux.1大模型!

a37ed823ff9d8d3fe716bc10a7a8e5d.png

小结

为了方便演示,我们在上边的操作过程中使用了cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用,然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地 Flux.1 或者其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的二级子域名方式来远程访问,带宽会更快,使用cpolar在其他用途还可以保留多个子域名,支持多个cpolar在线进程。

7. 固定远程访问公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择china vip top,然后设置一个二级子域名名称,填写备注信息,点击保留。

58ba30216fa6400b776e2fc7d4a0ee7.png
保留成功后复制保留的二级子域名地址:

2ea6e20297141826df67d449ce9ba8b.png

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

4ffa78d1a0e6c06981c3b4d39227f11.png

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名

  • Sub Domain:填写保留成功的二级子域名

  • 地区: China VIP

点击更新

e629458d1edd77af3c1eca7b5354964.png

更新完成后,打开在线隧道列表,此时可以看到随机的公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

752df408cad0a111e063cdc9765e0ac.png

最后,我们使用固定的公网地址访问 ComfyUI 可以看到访问成功,一个永久不会变化的远程访问方式即设置好了.

af60145a0495b17c9bf0d5af6d293bc.png

通过本文的详细介绍和步骤指南,相信你已经掌握了如何在本地部署并使用 Flux.1 进行图像生成的方法。结合 Cpolar 的内网穿透功能,你可以在任何地方轻松实现远程生图操作。希望这些内容能让你在创意和技术领域更加得心应手!如果你有任何疑问或需要进一步的帮助,请随时留言交流,我们在这里等你哦!

相关文章:

AI新玩法:Flux.1图像生成结合内网穿透远程生图的解决方案

文章目录 前言1. 本地部署ComfyUI2. 下载 Flux.1 模型3. 下载CLIP模型4. 下载 VAE 模型5. 演示文生图6. 公网使用 Flux.1 大模型6.1 创建远程连接公网地址 7. 固定远程访问公网地址 前言 在这个AI技术日新月异的时代,图像生成模型已经成为了创意工作者和开发者手中…...

Jenkins-pipeline Jenkinsfile说明

一. 简介: Jenkinsfile 是一个文本文件,通常保存在项目的源代码仓库中,用于定义 Jenkins Pipeline 的行为。使用 Jenkinsfile 可以使 CI/CD 流程版本化,并且易于共享和审核。 二. 关于jenkinsfile: jenkins的pipeline…...

vue3中为什么引入setup,引入setup是为了解决什么问题,setup的执行时机是什么?返回值是什么

在 Vue 3 中,引入 setup 函数是为了提供一种更加简洁、灵活、逻辑分离和可维护的方式来组织组件的逻辑。setup 使得 Vue 3 在构建应用时,能够更加有效地支持组合式 API(Composition API),解决了 Vue 2 中一些组件逻辑组…...

Ubuntu 安装 docker 配置环境及其常用命令

Docker 安装与配置指南 本文介绍如何在 Ubuntu 系统上安装 Docker,解决权限问题,配置 Docker Compose,代理端口转发,容器内部代理问题等并进行相关的优化设置。参考官方文档:Docker 官方安装指南 一、安装 Docker 1…...

自动化01

测试用例的万能公式:功能测试界面测试性能测试易用性测试安全性测试兼容性测试 自动化的主要目的就是用来进行回归测试 新产品--第一个版本 (具备丰富的功能),将产品的整体进行测试,人工创造一个自动化测试用例,在n个版本的时候…...

音频入门(二):音频数据增强

本文介绍了一些常见的音频数据增强方法,并给出了代码实现。 目录 一、简介 二、代码 1. 安装必要的库 2. 代码 3. 各函数的介绍 4. 使用方法 参考: 一、简介 音频数据增强是机器学习和深度学习领域中用于改善模型性能和泛化能力的技术。 使用数据…...

MySQL管理事务处理

目录 1、事务处理是什么 2、控制事务处理 (1)事务的开始和结束 (2)回滚事务 (3)使用COMMIT (4)使用保留点 (5)结合存储过程的完整事务例子 3、小结 …...

MySQL数值型函数详解

简介 本文主要讲解MySQL数值型函数,包括:ROUND、RAND、ABS、MOD、TRUNCATE、CEIL、CEILING、FLOOR、POW、POWER、SQRT、LOG、LOG2、LOG10、SIGN、PI。 本文所有示例中,双横杠左边为执行的SQL语句,右边为执行语句的返回值。 ROU…...

54.DataGrid数据框图 C#例子 WPF例子

首先是绑定一个属性&#xff0c;属性名称无所谓。到时候看属性设置的啥&#xff0c;可能要改。 <DataGrid ItemsSource"{Binding Index_instance}"/> 然后创建INotifyPropertyChanged的类&#xff0c;并把相关固定的代码粘贴上去。 然后把这个目录类建好&am…...

总结6..

背包问题的解决过程 在解决问题之前&#xff0c;为描述方便&#xff0c;首先定义一些变量&#xff1a;Vi表示第 i 个物品的价值&#xff0c;Wi表示第 i 个物品的体积&#xff0c;定义V(i,j)&#xff1a;当前背包容量 j&#xff0c;前 i 个物品最佳组合对应的价值&#xff0c;同…...

复位信号的同步与释放(同步复位、异步复位、异步复位同步释放)

文章目录 背景前言一、复位信号的同步与释放1.1 同步复位1.1.1 综述1.1.2 优缺点 1.2 recovery time和removal time1.3 异步复位1.3.1 综述1.3.2 优缺点 1.4 同步复位 与 异步复位1.5 异步复位、同步释放1.5.1 总述1.5.2 机理1.5.3 复位网络 二、思考与补充2.1 复…...

Gartner发布2025年网络治理、风险与合规战略路线图

新型网络风险和合规义务&#xff0c;日益成为网络治理、风险与合规实践面临的问题。安全和风险管理领导者可以参考本文&#xff0c;实现从被动、专注于合规的方法到主动、进一步自动化方法的转型。 主要发现 不断变化的监管环境和不断扩大的攻击面&#xff0c;使企业机构难以实…...

基于STM32的智能空气质量监测与净化系统设计

目录 引言系统设计 硬件设计软件设计 系统功能模块 空气质量检测模块自动净化模块数据显示与用户交互模块远程监控与数据上传模块 控制算法 空气质量检测与判断算法净化设备控制算法数据记录与远程反馈算法 代码实现 空气质量检测与显示代码自动净化与调节代码数据上传与远程控…...

人工智能之数学基础:线性代数中的线性相关和线性无关

本文重点 在线性代数的广阔领域中,线性相关与线性无关是两个核心概念,它们对于理解向量空间、矩阵运算、线性方程组以及人工智能等问题具有至关重要的作用。 定义与直观理解 当存在一组不全为0的数x1,x2,...,xn使得上式成立的时候,那么此时我们可以说向量组a1,a2...,an…...

08 工欲善其事必先利其器—常用类

1 字符串相关 1.1 String 所属包&#xff1a;java.lang 代表不可变的字符序列 注意&#xff1a;Java中&#xff0c;String是一个final类 1&#xff09;创建字符串方式 String a "hello"; // 开辟内存空间 String b new String("hello"); String d…...

Redis实战-初识Redis

初识Redis 1、Redis简介2、 Redis数据结构简介3、 Redis命令3.1 字符串3.2 列表3.3 集合3.4 散列3.5 有序集合3.6 发布与订阅3.7 其他命令3.7.1 排序3.7.2 过期时间 如有侵权&#xff0c;请联系&#xff5e; 如有错误&#xff0c;也欢迎批评指正&#xff5e; 本篇文章大部分是来…...

spring boot中实现手动分页

手动分页 UserMapper.xml <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace"cn.m…...

【优选算法】5----有效三角形个数

又是一篇算法题&#xff0c;今天早上刚做的热乎的~ 其实我是想写博客但不知道写些什么&#xff08;就水一下啦&#xff09; -------------------------------------begin----------------------------------------- 题目解析: 这道题的题目算是最近几道算法题里面题目最短的&a…...

C++打字模拟

改进于 文宇炽筱_潜水 c版的打字效果_c自动打字-CSDN博客https://blog.csdn.net/2401_84159494/article/details/141023898?ops_request_misc%257B%2522request%255Fid%2522%253A%25227f97863ddc9d1b2ae9526f45765b1744%2522%252C%2522scm%2522%253A%252220140713.1301023…...

最新版pycharm如何配置conda环境

首先在conda prompt里创建虚拟环境&#xff0c;比如 conda create --prefix E:/projects/myenv python3.8然后激活 conda activate E:/projects/myenv往里面安装点自己的包&#xff0c;比如 conda install pytorch1.7.1 torchvision0.8.2 -c pytorch打开pycharm 注意&#x…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

三维GIS开发cesium智慧地铁教程(5)Cesium相机控制

一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点&#xff1a; 路径验证&#xff1a;确保相对路径.…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验

Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...