如何调用通义万相的 API
作者:youqing · 2025-02-17 · 阅读时间:4分钟
要调用通义万相的 API,首先需要在阿里云控制台获取 API Key,并配置到环境变量中。然后,您可以选择通过 HTTP 协议或 DashScope SDK 调用 API。使用 HTTP 调用时,需发送 POST 请求以创建任务并获取任务 ID,随后通过任务 ID 查询生成结果。SDK 提供了更高层次的封装,支持 Python 和 Java 语言的同步或异步调用。确保 API Key 配置正确,以避免调用错误。
模型概览
通义万相 V2 版模型是一个广泛应用于图像生成的人工智能模型。该模型提供了多种版本,以满足不同的生成需求,包括速度和细节的平衡。通义万相官网提供了丰富的示例和使用体验。
模型版本概括:
- wanx2.1-t2i-turbo:生成速度更快,适用于通用场景。
- wanx2.1-t2i-plus:生成图像细节更丰富,适用于需要高度细节的场景。
- wanx2.0-t2i-turbo:擅长质感人像与创意设计,性价比高。
前提条件
在开始调用通义万相的 API 之前,必须完成一些前期准备工作:
- API Key 获取:您需要访问阿里云控制台获取 API Key,并将其配置到环境变量中。
- SDK 安装:如需通过 SDK 进行调用,请先安装 DashScope SDK,支持 Python 和 Java 语言。
HTTP 调用简介
调用通义万相 API 可以通过 HTTP 协议进行异步操作,以下是调用过程的基本步骤。
创建任务
使用 HTTP POST 方法创建任务,发送请求并获取任务 ID。
curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text2image/image-synthesis
-H 'X-DashScope-Async: enable'
-H "Authorization: Bearer $DASHSCOPE_API_KEY"
-H 'Content-Type: application/json'
-d '{
"model": "wanx2.1-t2i-turbo",
"input": {
"prompt": "一间有着精致窗户的花店,漂亮的木质门,摆放着花朵"
},
"parameters": {
"size": "1024*1024",
"n": 1
}
}'
查询任务结果
一旦任务创建成功,您可以通过任务 ID 查询生成的图像结果。
curl -X GET
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
使用 SDK 调用
DashScope SDK 提供了更高层次的封装,支持同步和异步两种方式调用。
Python SDK 调用
Python SDK 提供了便捷的接口,以下是一个简单的同步调用示例:
from dashscope import ImageSynthesis
import os
prompt = "一间有着精致窗户的花店,漂亮的木质门,摆放着花朵"rsp = ImageSynthesis.call(api_key=os.getenv("DASHSCOPE_API_KEY"),
model="wanx2.1-t2i-turbo",
prompt=prompt,
n=1,
size='1024*1024')for result in rsp.output.results:
print('Image URL:', result.url)
Java SDK 调用
Java SDK 提供了类似的功能,以下是一个异步调用示例:
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesis;
import com.alibaba.dashscope.aigc.imagesynthesis.ImageSynthesisParam;
public class Main {
public void asyncCall() {
ImageSynthesisParam param = ImageSynthesisParam.builder()
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("wanx2.1-t2i-turbo")
.prompt("一间有着精致窗户的花店,漂亮的木质门,摆放着花朵")
.n(1)
.size("1024*1024")
.build(); ImageSynthesis imageSynthesis = new ImageSynthesis();
imageSynthesis.asyncCall(param);
}
}
常见问题 (FAQ)
FAQ
-
问:如何获取 API Key?
- 答:请访问阿里云控制台,按照文档说明创建并获取 API Key。
-
问:通义万相 API 支持同步调用吗?
- 答:HTTP 调用仅支持异步获取结果,但通过 SDK 可以实现同步调用。
-
问:调用 API 时出现超时错误怎么办?
- 答:由于图像生成时间较长,建议使用异步调用方式,并检查网络连接稳定性。
-
问:如何解决“Invalid API-key provided”错误?
- 答:请确保 API Key 配置正确,且在请求头中正确传递。
-
问:生成的图像链接如何访问?
- 答:生成的图像存储在阿里云 OSS 中,OSS 链接允许公开访问,您可以通过链接查看或下载图像。
通过本文的详细介绍,您现在应该对如何使用通义万相的 API 有了清晰的理解,并能够在您的项目中有效地集成和调用这些功能。
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
最新文章
- 使用 ClickHouse Cloud API 和 Terraform 进行 CI/CD
- 用ASP.NET Core 给你的API接口打造一个自定义认证授体系
- REST API与WebSocket API区别?
- 如何在Python中使用免费的DeepL翻译API
- 如何获取tavily搜索API平台秘钥(分步指南)
- API可观察性:需要监控的5个指标
- 图和图谱的区别:深入解析与应用场景
- Railyard:我们如何快速训练机器学习模型…… – Stripe
- 如何构建API:从端点设计到部署的完整指南
- 通过 SEO rank API 获取百度关键词排名
- 音乐情绪可视化:Cyanite.ai 音乐情感分析API如何帮助我们理解音乐
- 从Flask到FastAPI的平滑迁移