文生图
python
import os
import time
import dashscope
from dashscope.aigc.image_generation import ImageGeneration
from dashscope.api_entities.dashscope_response import Message
dashscope.base_http_api_url = 'https://ws-t6feqeqjdpbi7po1.cn-beijing.maas.aliyuncs.com/api/v1'
api_key = os.getenv("DASHSCOPE_API_KEY")
def text2image(prompt: str, negative: str = "模糊,变形,多余肢体,低画质,水印", retry: int = 2):
"""文生图,返回图片url"""
for _ in range(retry):
message = Message(
role="user",
content=[
{
"text": prompt
}
]
)
rsp = ImageGeneration.async_call(
model='wan2.7-image-pro',
api_key=api_key,
messages=[message],
n=1,
size="1024*1024",
negative_prompt=negative
)
if rsp.status_code == 200:
print(f"任务提交成功,任务ID: {rsp.output.task_id}")
# 等待任务完成
status = ImageGeneration.wait(task=rsp, api_key=api_key)
if status.output.task_status == "SUCCEEDED":
print("任务完成!")
print(f"结果:")
print(status)
else:
print(f"任务失败,状态: {status.output.task_status}")
else:
print(f"任务创建失败: {rsp.code} - {rsp.message}")
return None
if __name__ == "__main__":
# url = text2image("海边落日,亲子风景,写实高清照片")
# if url:
# print("图片地址:", url)
try:
url = text2image("海边落日,亲子风景,写实高清照片")
except Exception as e:
print(f"错误: {e}")
用的是通义千问的模型
测试的"负面提示词",问了豆包好多次,还是看文档解决的

之前用的是ImageSynthesis(旧版),现在改用 ImageGeneration,调用的方法不一样,查看了文档解决的,以下是生成的图片