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

Qwen-Image-Lightning代码实例:Python调用API实现批量文生图脚本

Qwen-Image-Lightning代码实例Python调用API实现批量文生图脚本想用AI批量生成图片但每次手动在网页上点来点去太麻烦今天我来分享一个实用的Python脚本让你能通过代码调用Qwen-Image-Lightning的API实现一键批量文生图。无论是做设计素材、营销配图还是内容创作这个脚本都能帮你把效率拉满。这个脚本的核心思路很简单我们不再依赖Web界面手动操作而是直接与镜像背后的服务对话用程序发送请求、接收图片并自动保存。这样一来你就可以把几十上百个创意描述写在一个文件里让脚本自动跑完所有任务解放双手。1. 准备工作与环境确认在开始写代码之前我们需要确保两件事一是Qwen-Image-Lightning镜像服务已经成功启动并运行二是你的电脑上已经安装了必要的Python库。1.1 确保镜像服务已就绪首先你需要在CSDN星图镜像广场找到并部署“Qwen-Image-Lightning”镜像。部署成功后控制台会提供一个访问链接通常是http://你的服务器IP:8082。关键一步找到API地址这个Web界面背后其实隐藏着一个我们可以直接调用的API接口。通过浏览器的开发者工具按F12我们可以在网络请求中找到它。通常其生成图片的API端点Endpoint是类似于http://你的服务器IP:8082/run/predict这样的地址。请在你的环境里确认这个地址我们后续的代码会用到它。1.2 安装必要的Python库我们的脚本主要依赖requests库来发送HTTP请求用PILPillow或opencv来处理和保存图片。如果你还没有安装可以通过pip快速安装。打开你的终端或命令提示符输入以下命令pip install requests Pillow安装完成后我们就可以开始编写脚本了。2. 编写核心API调用函数我们先从最核心的部分开始写一个函数它能够接收一段文本描述提示词调用Qwen-Image-Lightning的API并返回生成的图片。import requests import json import time from PIL import Image from io import BytesIO import base64 def generate_image_single(prompt, api_url, output_dir./outputs): 调用Qwen-Image-Lightning API生成单张图片。 参数: prompt (str): 图片描述文本支持中英文。 api_url (str): 镜像服务的API地址例如 http://127.0.0.1:8082/run/predict。 output_dir (str): 图片保存的目录默认为当前目录下的outputs文件夹。 返回: str: 成功则返回保存的图片文件路径失败则返回None。 # 准备请求数据结构与Web界面发送的请求一致 payload { data: [ prompt, # 文本提示词 1024x1024, # 图片尺寸与镜像默认设置保持一致 1.0, # CFG Scale与镜像默认设置保持一致 4, # 推理步数Lightning模式固定为4步 42, # 随机种子固定值确保可复现也可设置为-1让系统随机 ] } headers { Content-Type: application/json } try: print(f正在生成: {prompt[:50]}...) start_time time.time() # 发送POST请求到API response requests.post(api_url, datajson.dumps(payload), headersheaders, timeout300) # 设置较长超时时间 response.raise_for_status() # 如果请求失败抛出异常 # 解析返回的JSON数据 result response.json() # API返回的数据结构通常包含一个列表列表中的第一个元素是Base64编码的图片字符串 if result and data in result and len(result[data]) 0: image_b64 result[data][0] # 移除可能存在的Base64头部信息如 data:image/png;base64, if , in image_b64: image_b64 image_b64.split(,)[1] # 解码Base64并转换为图片 image_data base64.b64decode(image_b64) image Image.open(BytesIO(image_data)) # 确保输出目录存在 import os os.makedirs(output_dir, exist_okTrue) # 生成文件名用时间戳和提示词前几个字符清理非法字符 safe_prompt_part .join([c for c in prompt[:20] if c.isalnum() or c in ( , -, _)]).rstrip() timestamp int(time.time()) filename f{timestamp}_{safe_prompt_part}.png filepath os.path.join(output_dir, filename) # 保存图片 image.save(filepath) elapsed_time time.time() - start_time print(f 生成成功保存至: {filepath} (耗时: {elapsed_time:.1f}秒)) return filepath else: print(f 错误API返回的数据格式异常。) return None except requests.exceptions.RequestException as e: print(f 网络请求失败: {e}) return None except (KeyError, IndexError, json.JSONDecodeError) as e: print(f 解析API响应失败: {e}) return None except Exception as e: print(f 生成过程中发生未知错误: {e}) return None这个函数做了以下几件事构造请求按照Web界面交互的格式封装了提示词、图片尺寸、CFG值、步数和种子。发送请求使用requests.post将数据发送到我们找到的API地址。处理响应接收返回的JSON从中提取Base64编码的图片数据。解码保存将Base64字符串解码成图片并用PIL库保存为PNG文件。3. 实现批量生成与任务管理单次生成搞定后批量生成就很简单了准备一个提示词列表然后用循环调用上面的函数。我们还可以增加一些实用功能比如进度显示、错误重试。def batch_generate_images(prompts_list, api_url, output_dir./batch_outputs, delay2): 批量生成图片。 参数: prompts_list (list): 包含所有提示词的字符串列表。 api_url (str): API地址。 output_dir (str): 批量输出目录。 delay (int): 每张图片生成后的等待时间秒避免请求过于频繁。 返回: list: 成功生成的图片路径列表。 successful_paths [] total len(prompts_list) print(f开始批量生成任务共计 {total} 个提示词。) print( * 50) for idx, prompt in enumerate(prompts_list, 1): print(f[{idx}/{total}]) result_path generate_image_single(prompt, api_url, output_dir) if result_path: successful_paths.append(result_path) # 如果不是最后一张则等待一段时间 if idx total: time.sleep(delay) print( * 50) print(f批量任务完成成功生成 {len(successful_paths)}/{total} 张图片。) return successful_paths # 示例如何准备提示词列表并调用批量函数 if __name__ __main__: # 你的Qwen-Image-Lightning API地址请务必修改成你自己的 YOUR_API_URL http://127.0.0.1:8082/run/predict # 示例地址需要替换 # 示例提示词列表你可以从文件读取也可以直接写在这里 my_prompts [ 一只穿着宇航服的猫在月球上弹吉他电影质感8k高清, 未来赛博朋克城市霓虹灯光高度细节大师之作, 宁静的山水水墨画远处有亭台楼阁晨雾缭绕, 一碗热气腾腾的拉面特写镜头摄影风格令人垂涎欲滴, 机械蝴蝶停留在生锈的齿轮上蒸汽朋克风格柔光, ] # 执行批量生成 results batch_generate_images(my_prompts, YOUR_API_URL, output_dir./my_ai_arts)你可以把提示词列表my_prompts替换成你自己的创意或者写一个函数从txt或csv文件中读取。4. 进阶技巧与问题排查脚本跑起来后你可能会想让它更强大或者遇到一些问题。这里分享几个进阶技巧和常见问题的解决方法。4.1 从文件读取提示词将提示词保存在一个文本文件里每行一个用脚本读取会更方便管理。def read_prompts_from_file(filepath): 从文本文件中读取提示词每行一个。 prompts [] try: with open(filepath, r, encodingutf-8) as f: for line in f: line line.strip() if line and not line.startswith(#): # 忽略空行和以#开头的注释行 prompts.append(line) print(f从文件 {filepath} 中读取了 {len(prompts)} 个提示词。) return prompts except FileNotFoundError: print(f错误文件 {filepath} 未找到。) return [] # 使用示例 prompts_from_file read_prompts_from_file(my_prompts.txt) if prompts_from_file: batch_generate_images(prompts_from_file, YOUR_API_URL)4.2 处理生成失败与重试机制网络波动或服务瞬时压力可能导致个别请求失败。我们可以给单次生成函数加上简单的重试逻辑。def generate_image_with_retry(prompt, api_url, output_dir./outputs, max_retries2): 带重试机制的图片生成函数。 for attempt in range(max_retries 1): result generate_image_single(prompt, api_url, output_dir) if result is not None: return result elif attempt max_retries: wait_time (attempt 1) * 5 # 重试等待时间递增 print(f 第{attempt1}次尝试失败{wait_time}秒后重试...) time.sleep(wait_time) else: print(f 提示词 {prompt[:30]}... 生成失败已重试{max_retries}次。) return None然后在批量函数中调用这个带重试的版本即可。4.3 常见问题与解决思路连接被拒绝或超时检查确认YOUR_API_URL的IP和端口是否正确以及镜像服务是否已完全启动启动约需2分钟。解决在浏览器中访问Web界面http://IP:8082确保能正常打开。返回错误或乱码检查API地址末尾的路径如/run/predict是否准确。通过浏览器开发者工具查看网络请求确认。解决根据镜像的实际API文档或网络请求抓包结果调整payload的数据结构。生成速度慢说明这是正常的。Qwen-Image-Lightning采用了显存保护模式单张1024x1024图片生成约需40-50秒以换取极低的显存占用和超高稳定性。建议批量脚本中的delay参数可以设置为0或很小因为脚本是顺序请求本身就有间隔。生成的图片风格或细节不满意调整提示词这是影响效果最关键的因素。尝试更具体、更详细的描述加入风格词汇如“虚幻引擎渲染”、“宫崎骏动画风格”、“胶片摄影”。注意当前脚本固定了种子seed42这保证了相同提示词生成结果可复现。如果你想获得随机变化可以将payload中的种子值改为-1。5. 总结通过这个Python脚本我们成功将Qwen-Image-Lightning强大的文生图能力集成到了自动化工作流中。回顾一下关键点核心原理脚本的核心是模拟浏览器向镜像服务的后端API发送HTTP POST请求并处理返回的图片数据。关键步骤主要包括构造符合API要求的请求数据、发送请求、解码Base64图片并保存。批量价值通过循环和文件读取我们可以轻松处理成百上千的生成任务极大提升了创作效率。稳定可靠得益于Qwen-Image-Lightning镜像底层的显存优化技术这个脚本可以长时间稳定运行无需担心显存溢出问题。你可以在此基础上继续扩展比如加入多线程并发请求以提升总体速度需注意服务端压力或者将生成的图片自动上传到图床、打包成PDF报告等。希望这个脚本能成为你AI创作路上的得力助手。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关文章:

Qwen-Image-Lightning代码实例:Python调用API实现批量文生图脚本

Qwen-Image-Lightning代码实例:Python调用API实现批量文生图脚本 想用AI批量生成图片,但每次手动在网页上点来点去太麻烦?今天,我来分享一个实用的Python脚本,让你能通过代码调用Qwen-Image-Lightning的API&#xff0…...

Whisper-large-v3快速上手:3步启动99语种AI语音识别Web服务

Whisper-large-v3快速上手:3步启动99语种AI语音识别Web服务 作者:by113小贝 | 10年AI工程实践经验 1. 开篇:为什么你需要这个语音识别服务? 如果你正在寻找一个能听懂99种语言的AI助手,不用再找了。Whisper-large-v3就…...

FLUX.小红书极致真实V2LoRA权重解析:v2版本相比v1在皮肤质感上的三大改进

FLUX.小红书极致真实V2LoRA权重解析:v2版本相比v1在皮肤质感上的三大改进 1. 项目背景与核心价值 FLUX.小红书极致真实V2图像生成工具是基于FLUX.1-dev模型和小红书极致真实V2 LoRA权重开发的本地化解决方案。这个工具专门针对消费级显卡进行了深度优化&#xff0…...

弦音墨影实战教程:为非遗纪录片团队定制‘水墨字幕+关键帧定位’流程

弦音墨影实战教程:为非遗纪录片团队定制‘水墨字幕关键帧定位’流程 1. 引言:当非遗遇见AI,如何让纪录片更有“墨韵”? 想象一下,你是一位非遗纪录片的导演。你刚刚拍摄完一段关于“古法造纸”的珍贵影像&#xff0c…...

OFA-VE模型蒸馏探索:OFA-Tiny视觉蕴含轻量化部署初探

OFA-VE模型蒸馏探索:OFA-Tiny视觉蕴含轻量化部署初探 1. 引言:从“大而全”到“小而精”的模型进化 如果你用过OFA-VE这样的视觉蕴含系统,一定会被它的能力所震撼——上传一张图片,输入一段描述,它就能像人一样判断两…...

Qwen-Image-2512像素艺术服务:开源大模型底座+垂直LoRA的高效范式

Qwen-Image-2512像素艺术服务:开源大模型底座垂直LoRA的高效范式 1. 引言:当通用大模型遇上像素艺术 想象一下,你是一个独立游戏开发者,或者是一个复古风格的插画师。你需要为你的项目创作大量像素风格的素材——角色、场景、道…...

cv_unet_image-colorization老照片修复实战案例:1940年代家庭照AI上色前后对比分析

cv_unet_image-colorization老照片修复实战案例:1940年代家庭照AI上色前后对比分析 1. 项目背景与技术原理 老照片承载着珍贵的历史记忆,但随着时间的推移,黑白照片逐渐褪色,难以再现当年的鲜活场景。基于深度学习的图像上色技术…...

LiuJuan Z-Image Generator详细步骤:解决CUDA显存碎片、OOM失败的实操方案

LiuJuan Z-Image Generator详细步骤:解决CUDA显存碎片、OOM失败的实操方案 你是不是也遇到过这样的场景:好不容易搞定了模型权重,准备生成一张惊艳的图片,结果程序运行到一半,屏幕上赫然出现“CUDA out of memory”的…...

EVA-01实战案例:设计师用EVA-01解析竞品海报视觉动线与信息层级结构

EVA-01实战案例:设计师用EVA-01解析竞品海报视觉动线与信息层级结构 1. 引言:当设计师的“眼睛”不够用时 你有没有过这样的经历?面对一张设计精良的竞品海报,你盯着看了很久,能感觉到它“好看”,但就是说…...

Qwen3-Embedding-4B政府场景应用:政策文件相似度比对系统教程

Qwen3-Embedding-4B政府场景应用:政策文件相似度比对系统教程 1. 引言:政策文件管理的痛点与解决方案 在日常政务工作中,政策文件的管理和检索是个让人头疼的问题。想象一下这样的场景:你需要查找某份政策文件的相似版本&#x…...

Lychee Rerank MM在智能客服中的应用:用户截图Query匹配知识库图文答案

Lychee Rerank MM在智能客服中的应用:用户截图Query匹配知识库图文答案 1. 智能客服的痛点与解决方案 在智能客服场景中,用户经常遇到这样的困扰:遇到产品使用问题时,不知道如何准确描述,往往选择直接截图上传。传统…...

DeepSeek-OCR-2部署教程:WSL2环境下NVIDIA GPU直通配置步骤

DeepSeek-OCR-2部署教程:WSL2环境下NVIDIA GPU直通配置步骤 “见微知著,析墨成理。” 本项目是基于 DeepSeek-OCR-2 构建的现代化智能文档解析终端。通过视觉与语言的深度融合,将静止的图卷(图像)重构为流动的经纬&…...

GLM-OCR开源镜像免配置部署指南:一键启动7860端口Web服务

GLM-OCR开源镜像免配置部署指南:一键启动7860端口Web服务 1. 引言 你是不是遇到过这样的场景:手头有一堆扫描的合同、发票或者学术论文图片,想把里面的文字、表格甚至数学公式都提取出来,但一个个手动录入太费时间,用…...

Qwen3-ForcedAligner-0.6B步骤详解:自定义词典注入+专业术语强化识别

Qwen3-ForcedAligner-0.6B步骤详解:自定义词典注入专业术语强化识别 1. 引言:当语音识别遇上专业术语 你有没有遇到过这样的场景? 一段关于“Transformer架构”的技术讨论录音,识别出来的文字却是“变压器架构”;一…...

StructBERT零样本分类-中文-base生产环境:日均10万+文本零样本分类部署方案

StructBERT零样本分类-中文-base生产环境:日均10万文本零样本分类部署方案 1. 模型核心能力解析 StructBERT零样本分类模型是阿里达摩院专门为中文文本处理设计的智能分类工具。这个模型最大的特点就是"零样本"——你不需要准备训练数据,不需…...

Qwen3-ASR-0.6B保姆级部署:CSDN GPU实例创建→安全组开放7860→镜像启动

Qwen3-ASR-0.6B保姆级部署:CSDN GPU实例创建→安全组开放7860→镜像启动 1. 前言:为什么选择Qwen3-ASR-0.6B 如果你正在寻找一个既强大又轻量的语音识别解决方案,Qwen3-ASR-0.6B绝对值得关注。这个由阿里云通义千问团队开发的开源模型&…...

GTE+SeqGPT生成多样性评估:同一输入下n=5采样结果覆盖度与重复率统计

GTESeqGPT生成多样性评估:同一输入下n5采样结果覆盖度与重复率统计 1. 引言 当你用AI模型生成文本时,有没有遇到过这样的困惑:同一个问题问了好几遍,得到的回答都差不多?或者你希望AI能给你提供更多样化的创意&#…...

比迪丽LoRA开源价值解析:免授权费、可商用、支持二次开发定制

比迪丽LoRA开源价值解析:免授权费、可商用、支持二次开发定制 1. 为什么比迪丽LoRA值得你关注? 如果你玩过AI绘画,肯定遇到过这样的烦恼:想画一个特定的动漫角色,比如《龙珠》里的比迪丽,结果要么画得不像…...

中文文本分割模型部署指南:BERT+Gradio+ModelScope组合

中文文本分割模型部署指南:BERTGradioModelScope组合 1. 快速了解文本分割的价值 你有没有遇到过这样的情况:拿到一份长长的会议记录或者讲座文字稿,从头读到尾感觉特别费劲?文字密密麻麻连成一片,找不到重点&#x…...

Leather Dress Collection开箱即用方案:SSH连接后一行命令启动皮革时装生成服务

Leather Dress Collection开箱即用方案:SSH连接后一行命令启动皮革时装生成服务 你是不是也遇到过这样的烦恼?想用AI生成一些酷炫的皮革时装设计图,结果发现要安装一堆软件、配置复杂的环境、下载各种模型,折腾半天还没跑起来。 …...

文脉定序快速部署:开源镜像开箱即用,免编译免依赖安装教程

文脉定序快速部署:开源镜像开箱即用,免编译免依赖安装教程 你是不是也遇到过这样的问题?用搜索引擎或者自己的知识库找资料,明明搜出来一大堆结果,但排在前面的往往不是最相关的,真正有用的答案可能藏在第…...

Nano-Banana开源镜像教程:基于Diffusers+PyTorch的本地化部署

Nano-Banana开源镜像教程:基于DiffusersPyTorch的本地化部署 1. 引言:让AI帮你“拆解”万物 你有没有想过,把一双复杂的运动鞋、一件精致的连衣裙,或者一台精密的相机,像说明书一样“拆开”来展示?不是真…...

GME-Qwen2-VL-2B-Instruct入门指南:图文匹配工具与知识图谱构建联动方案

GME-Qwen2-VL-2B-Instruct入门指南:图文匹配工具与知识图谱构建联动方案 1. 工具简介与核心价值 GME-Qwen2-VL-2B-Instruct是一个专门用于图文匹配度计算的本地化工具,基于先进的视觉语言模型开发。这个工具解决了传统图文匹配中的关键痛点&#xff1a…...

Qwen3-0.6B-FP8惊艳效果实录:Chainlit界面实时响应思维模式/非思维模式切换

Qwen3-0.6B-FP8惊艳效果实录:Chainlit界面实时响应思维模式/非思维模式切换 你有没有想过,一个模型既能像数学家一样严谨推理,又能像朋友一样轻松聊天?今天要介绍的Qwen3-0.6B-FP8,就实现了这种"双重人格"的…...

卡证检测矫正模型效果惊艳:矫正后卡证四边平行度误差<0.5°

卡证检测矫正模型效果惊艳&#xff1a;矫正后卡证四边平行度误差<0.5 你是否遇到过这样的烦恼&#xff1f;用手机拍摄身份证、驾照等证件时&#xff0c;因为角度不正&#xff0c;拍出来的照片总是歪歪扭扭&#xff0c;边缘不齐。手动裁剪和矫正不仅费时费力&#xff0c;还很…...

LightOnOCR-2-1B从零部署:CentOS/Ubuntu下镜像启动+API调试完整指南

LightOnOCR-2-1B从零部署&#xff1a;CentOS/Ubuntu下镜像启动API调试完整指南 本文面向需要快速部署多语言OCR服务的开发者和技术团队&#xff0c;提供从环境准备到API调用的完整实操指南。 1. 环境准备与系统要求 在开始部署前&#xff0c;请确保您的服务器满足以下基本要求…...

Qwen3-TTS效果对比评测:1.7B小模型 vs 主流TTS在中英文情感表达差异

Qwen3-TTS效果对比评测&#xff1a;1.7B小模型 vs 主流TTS在中英文情感表达差异 评测声明&#xff1a;本文基于实际测试结果&#xff0c;对比Qwen3-TTS-1.7B模型与主流TTS方案在中英文情感表达方面的差异&#xff0c;所有测试音频均使用相同文本和相似音色进行生成&#xff0c;…...

Asian Beauty Z-Image Turbo实操教程:结合ControlNet实现姿势精准控制

Asian Beauty Z-Image Turbo实操教程&#xff1a;结合ControlNet实现姿势精准控制 想用AI生成一张充满东方韵味的古风美人图&#xff0c;却总被模型“自由发挥”的奇怪姿势劝退&#xff1f;比如&#xff0c;你明明想要一个“执扇回眸”的优雅姿态&#xff0c;结果生成的却是“…...

granite-4.0-h-350m部署详解:Ollama模型量化+INT4推理加速教程

granite-4.0-h-350m部署详解&#xff1a;Ollama模型量化INT4推理加速教程 想体验一个轻量、快速、多语言能力还不错的AI助手吗&#xff1f;今天要聊的granite-4.0-h-350m&#xff0c;就是一个能让你在普通电脑甚至边缘设备上跑起来的“小钢炮”模型。 它只有3.5亿参数&#x…...

flying RC 飞控出现:PreArm: Internal errors 0x4000 I:215 spi:fail

这个问题是飞控设置导致的问题&#xff0c;解决方案&#xff1a; LOG_BACKEND_TYPE 1 然后在arming_check 中把log检查关闭掉 问题链接&#xff1a;https://discuss.ardupilot.org/t/critical-prearm-internal-errors-0x4000-l-215-spi-fail/113967/3...