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

Qwen-Image 参考图url如何解决?

import requests
import time
import json
from PIL import Image
from io import BytesIO

class mcQwenImage:
def init(self, api_key, base_url='https://api-inference.modelscope.cn/'):
self.base_url = base_url
self.api_key = api_key
self.common_headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json",
}

def generate_image(self, prompt, image_url, model='Qwen/Qwen-Image-Edit-2511', loras=None):"""调用图像生成 API参数:- prompt: 图像生成提示词- image_url: 输入图像 URL 列表- model: 使用的模型 ID,默认为 'Qwen/Qwen-Image-Edit-2511'- loras: LoRA 配置,可选返回:- task_id: 生成任务 ID"""payload = {"model": model,"prompt": prompt,"image_url": image_url}if loras:payload["loras"] = lorasresponse = requests.post(f"{self.base_url}v1/images/generations",headers={**self.common_headers, "X-ModelScope-Async-Mode": "true"},data=json.dumps(payload, ensure_ascii=False).encode('utf-8'))response.raise_for_status()return response.json()["task_id"]def get_task_status(self, task_id):"""查询任务状态参数:- task_id: 任务 ID返回:- 完整的任务状态响应"""result = requests.get(f"{self.base_url}v1/tasks/{task_id}",headers={**self.common_headers, "X-ModelScope-Task-Type": "image_generation"},)result.raise_for_status()return result.json()def wait_for_result(self, task_id, poll_interval=5):"""等待任务完成并返回结果参数:- task_id: 任务 ID- poll_interval: 查询间隔(秒),默认为 5 秒返回:- 生成的图像对象(PIL.Image)"""while True:data = self.get_task_status(task_id)if data["task_status"] == "SUCCEED":image_response = requests.get(data["output_images"][0])image = Image.open(BytesIO(image_response.content))return imageelif data["task_status"] == "FAILED":raise Exception("Image Generation Failed.")time.sleep(poll_interval)def generate_and_get_image(self, prompt, image_url, model='Qwen/Qwen-Image-Edit-2511', loras=None, poll_interval=5):"""完整的图像生成流程:调用 API -> 等待结果 -> 返回图像参数:- prompt: 图像生成提示词- image_url: 输入图像 URL 列表- model: 使用的模型 ID- loras: LoRA 配置,可选- poll_interval: 查询间隔(秒)返回:- 生成的图像对象(PIL.Image)"""task_id = self.generate_image(prompt, image_url, model, loras)return self.wait_for_result(task_id, poll_interval)

示例用法

if name == "main":
# 替换为你的 ModelScope Token
api_key = '换成你自己的 apikey'

# 创建实例
qwen_image = mcQwenImage(api_key)picform = "十二宫格组成"
pictile = "3x4"
style = "二次元动漫风格"
picsize = "1024x1024"
description = f"""
第一张图,
"""# 生成图像
prompt = f"""
这是一幅由{picform}的{pictile}的{sytle}风格作品,图片尺寸为{picsize},
{description}
"""
image_url = ["https://modelscope.oss-cn-beijing.aliyuncs.com/Dog.png"] # 找可以上传图像的urltry:image = qwen_image.generate_and_get_image(prompt, image_url)image.save("result_image.jpg")print("图像生成成功,已保存为 result_image.jpg")
except Exception as e:print(f"图像生成失败: {e}")

upload1

http://www.jsqmd.com/news/267416/

相关文章:

  • 基于28335的旋变软解码:技术亮点剖析
  • AList快速部署完整指南:轻松搭建个人云盘系统
  • 2026年高性价比全案装修设计专业公司排名,欢乐佳园排第几? - 工业品牌热点
  • DeepSeek-Coder-V2实战指南:解决开发者的真实痛点
  • 今天你要来点 puzzle 吗?
  • 探讨口碑好的去屑洗发水,黛熙梦名列靠谱榜单 - 工业品牌热点
  • AI智能体终极记忆方案!Graphiti教程从零到精通(建议收藏),一篇就够了!
  • 收藏!未来5年程序员最优赛道:AI大模型必冲!
  • 华硕笔记本风扇噪音终极解决方案:告别恼人异响的静音革命
  • 【建议收藏】AI大模型学习路径全解析:掌握这6大模块,轻松实现程序员职业转型与薪资跃迁
  • 7步实战:将闲置电视盒子变身高性能Armbian服务器
  • SeedVR视频修复革命:AI技术让模糊记忆重获新生
  • 基于深度学习YOLOv10的番茄成熟度检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 高效流媒体下载:打造个人视频库的完整方案
  • 游戏辅助工具终极配置手册:从零开始轻松掌握YimMenu
  • Mem Reduct终极指南:3步快速提升电脑性能的内存优化工具
  • 基于深度学习YOLOv10的PCB电路板缺陷检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 机器人自修复“肌肉”的技术突破
  • 基于深度学习YOLOv10的脑肿瘤检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • ComfyUI-Ollama实战指南:零基础搭建智能创作工作流
  • DownKyi文章仿写创作指南:打造差异化内容
  • 基于深度学习YOLOv10的玉米幼苗杂草检测系统(YOLOv10+YOLO数据集+UI界面+Python项目源码+模型)
  • 从“思考-行动-观察“到“无限迭代“:AI Agent两大范式详解,收藏级学习资料
  • 腾讯Hunyuan-A13B开源:130亿参数引爆高效AI革命
  • 腾讯HunyuanPortrait:单图生成超自然人像动画!
  • 说说高性价比的装修设计专业公司,欢乐佳园装饰排名如何? - 工业品牌热点
  • 探索开源三国杀:无名杀网页版如何重新定义卡牌游戏体验
  • LightVAE:视频生成提速省内存的AI优化神器
  • 详细介绍:Linux 调度类(sched_class)
  • 论文怎么降低AI率?知网算法大更新!学长亲测aigc免费降重,汇总5款降ai率工具红黑榜 - 殷念写论文