Qwen Image 2.0 API 接口、参数 & 代码示例

qwen/qwen-image-2.0

Qwen-Image-2.0 是通义千问推出的新一代多模态图像生成基础模型。该模型最大的突破在于将“图像生成”与“图像编辑”两条技术路径完美融为一体。它在架构上耦合了 Qwen3-VL 作为条件编码器(Condition Encoder),并搭配多模态扩散 Transformer(Multimodal Diffusion Transformer, MDT)进行联合建模,实现了从理解、生成到编辑的一体化。

模型 ID
qwen/qwen-image-2.0
模型系列
Qwen
更新日期
模型能力
图片生成
模型价格(每张)
¥ 0.23

Qwen Image 2.0 模型介绍:

Qwen-Image-2.0 是通义千问推出的新一代多模态图像生成基础模型。该模型最大的突破在于将“图像生成”与“图像编辑”两条技术路径完美融为一体。它在架构上耦合了 Qwen3-VL 作为条件编码器(Condition Encoder),并搭配多模态扩散 Transformer(Multimodal Diffusion Transformer, MDT)进行联合建模,实现了从理解、生成到编辑的一体化。

🚀 核心技术亮点与特性:

  1. 生图编辑,二合一(Unified Framework)

以往的 AI 工具通常需要不同的模型来分别处理“文生图”和“局部修改”。Qwen-Image-2.0 在单一模型架构下,同时实现了高保真的图像生成与精准的图像编辑。用户可以直接在一张既有图片上修改数字、替换主体或调整局部细节,而无需重新生成整张图片。

  1. 顶尖的文字渲染与中英排版

文字渲染(Text Rendering)是当前许多文生图模型的痛点,而 Qwen-Image-2.0 在这方面表现极佳:

  • 超长指令支持: 支持高达 1K 至 1.3K Tokens 的超长复杂提示词,能完美处理段落级文本和多行复杂布局。
  • 精细的书法与多语种排版: 不仅能精准渲染现代中英文,还能驾驭中国传统书法风格(如王羲之小楷、宋徽宗瘦金体等),并自动将文字排布在画面的留白处,避免遮挡主体。
  • 应用广泛: 能够直接一步到位生成专业的信息图、PPT、海报和多格漫画。
  1. 2K 原生高分辨率与强语义遵循
  • 支持原生的 2K 高清分辨率(总像素在 $512 \times 512$ 至 $2048 \times 2048$ 之间自由配置)。
  • 拥有极强的语义遵循能力(Semantic Adherence)。面对元素极其繁复、逻辑错综复杂的“画中画”或长文本描述,模型能够准确理解并规整对齐,不漏掉任何关键细节。
  1. 细腻的真实质感

模型显著提升了画面材质的细腻度,在人像、自然风光、城市建筑等现实场景中,对光影层次、皮肤纹理、衣物物理材质的刻画更趋近于真实摄影,AI 合成痕迹和塑料感大幅降低。

  1. 更小的体积,更快的速度

相比于前代庞大的技术组合,Qwen-Image-2.0 优化了模型架构。在保证卓越生成质量和图像编辑能力的同时,实现了更小的模型体积和更快的推理响应速度,大幅降低了企业与开发者的部署和调用成本。

API 接口地址:

https://wcode.net/api/gpt/v1/images/generations

此 API 接口兼容 OpenAI 的 Images 接口规范,可直接使用 OpenAI 的 SDK 来调用。仅需替换以下配置即可:

  1. base_url 替换为 https://wcode.net/api/gpt/v1
  2. api_key 替换为从 https://platform.wcode.net 获取到的 API Key

具体可参考下方的各编程语言代码示例中的 OpenAI SDK 调用示例。

请求方法:

POST

各编程语言代码示例:

# TODO: 以下代码中的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
curl --request POST 'https://wcode.net/api/gpt/v1/images/generations' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer API_KEY' \
  --data '{
    "model": "qwen/qwen-image-2.0",
    "prompt": "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云"
  }'
import Foundation

let headers = [
  "Authorization": "Bearer API_KEY",  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  "Content-Type": "application/json"
]
let parameters = [
  "model": "qwen/qwen-image-2.0",
  "prompt": "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云"
] as [String : Any]

let postData = try! JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://wcode.net/api/gpt/v1/images/generations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 60.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if let data = data {
    print(String(data: data, encoding: .utf8) ?? "")
  }
})
dataTask.resume()
import 'dart:convert';
import 'package:http/http.dart' as http;

Future<void> main() async {
  final response = await http.post(
    Uri.parse('https://wcode.net/api/gpt/v1/images/generations'),
    headers: {
      'Authorization': 'Bearer API_KEY',  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
      'Content-Type': 'application/json',
    },
    body: jsonEncode({
      'model': 'qwen/qwen-image-2.0',
      'prompt': '一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云',
    }),
  );

  print(response.body);
}
require 'uri'
require 'json'
require 'net/http'

url = URI("https://wcode.net/api/gpt/v1/images/generations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer API_KEY'  # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
request["Content-Type"] = 'application/json'
request.body = {
  model: 'qwen/qwen-image-2.0',
  prompt: '一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云'
}.to_json

response = http.request(request)
puts response.read_body
#[tokio::main]
pub async fn main() {
  let client = reqwest::Client::new();
  let response = client.post("https://wcode.net/api/gpt/v1/images/generations")
    .header("Authorization", "Bearer API_KEY")  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
    .header("Content-Type", "application/json")
    .json(&serde_json::json!({
      "model": "qwen/qwen-image-2.0",
      "prompt": "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云"
    }))
    .send()
    .await
    .unwrap();

  println!("{}", response.text().await.unwrap());
}
CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "https://wcode.net/api/gpt/v1/images/generations");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
headers = curl_slist_append(headers, "Authorization: Bearer API_KEY");  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

const char *data = "{\"model\":\"qwen/qwen-image-2.0\",\"prompt\":\"一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云\"}";
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, data);

CURLcode ret = curl_easy_perform(hnd);
package main

import (
  "bytes"
  "fmt"
  "io"
  "net/http"
)

func main() {
  url := "https://wcode.net/api/gpt/v1/images/generations"
  payload := []byte(`{"model":"qwen/qwen-image-2.0","prompt":"一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云"}`)

  req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
  req.Header.Add("Authorization", "Bearer API_KEY")  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  req.Header.Set("Content-Type", "application/json")

  res, _ := http.DefaultClient.Do(req)
  defer res.Body.Close()
  respBody, _ := io.ReadAll(res.Body)

  fmt.Println(string(respBody))
}
using System.Net.Http.Json;

var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer API_KEY");  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net

var payload = new {
  model = "qwen/qwen-image-2.0",
  prompt = "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云"
};

var response = await client.PostAsJsonAsync("https://wcode.net/api/gpt/v1/images/generations", payload);
Console.WriteLine(await response.Content.ReadAsStringAsync());
var client = new RestClient("https://wcode.net/api/gpt/v1/images/generations");

var request = new RestRequest("", Method.Post);
request.AddHeader("Authorization", "Bearer API_KEY");  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
request.AddHeader("Content-Type", "application/json");
request.AddJsonBody(new {
  model = "qwen/qwen-image-2.0",
  prompt = "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云"
});

var response = client.Execute(request);
Console.WriteLine(response.Content);
const axios = require('axios');

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://wcode.net/api/gpt/v1/images/generations',
  headers: {
    'Authorization': 'Bearer API_KEY',  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
    'Content-Type': 'application/json'
  },
  data: {
    model: 'qwen/qwen-image-2.0',
    prompt: '一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云'
  }
};

axios.request(config).then((response) => {
  console.log(JSON.stringify(response.data));
}).catch((error) => {
  console.log(error);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"model\":\"qwen/qwen-image-2.0\",\"prompt\":\"一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云\"}");

Request request = new Request.Builder()
  .url("https://wcode.net/api/gpt/v1/images/generations")
  .post(body)
  .addHeader("Authorization", "Bearer API_KEY")  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  .addHeader("Content-Type", "application/json")
  .build();

Response response = client.newCall(request).execute();
$client = new \GuzzleHttp\Client();

$response = $client->post('https://wcode.net/api/gpt/v1/images/generations', [
  'headers' => [
    'Authorization' => 'Bearer API_KEY',  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  ],
  'json' => [
    'model' => 'qwen/qwen-image-2.0',
    'prompt' => '一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云',
  ],
]);

echo $response->getBody();
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://wcode.net/api/gpt/v1/images/generations",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 5,
  CURLOPT_TIMEOUT => 300,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'model' => 'qwen/qwen-image-2.0',
    'prompt' => '一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云',
  ]),
  CURLOPT_HTTPHEADER => [
    "Authorization: Bearer API_KEY",  // TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
    "Content-Type: application/json",
  ],
]);

$response = curl_exec($curl);
$error = curl_error($curl);

curl_close($curl);

if ($error) {
  echo "cURL Error #:" . $error;
} else {
  echo $response;
}
import requests
import json

url = "https://wcode.net/api/gpt/v1/images/generations"

headers = {
  "Authorization": "Bearer API_KEY",  # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
  "Content-Type": "application/json",
}

payload = {
  "model": "qwen/qwen-image-2.0",
  "prompt": "一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云"
}

response = requests.post(url, headers=headers, json=payload)

print(json.dumps(response.json(), indent=4, ensure_ascii=False))
from openai import OpenAI

client = OpenAI(
  base_url="https://wcode.net/api/gpt/v1",
  api_key="API_KEY"  # TODO: 这里的 API_KEY 需要替换,获取 API Key 入口:https://platform.wcode.net
)

response = client.images.generate(
  model="qwen/qwen-image-2.0",
  prompt="一只可爱的小猫咪,坐在阳光明媚的窗台上,背景是蓝天白云",
)

print(response.data[0].url)

请求参数:

重要提示:由于模型架构不同,部分参数可能仅适用于特定的模型。

model(模型 ID)

  • 参数:model

  • 必选,string

图像生成模型 ID。调用时使用模型详情页的模型 ID。

prompt(提示词)

  • 参数:prompt

  • 必选,string

描述所需生成图像内容的文本提示。

n(生成数量)

  • 参数:n

  • 可选,integer,1–6

  • 默认:1

单次请求生成的图片数量。

qwen-image-2.0 系列支持输出 1–6 张图片。

negative_prompt(反向提示词)

  • 参数:negative_prompt

  • 可选,string,≤ 500 字符

描述不希望在图像中出现的内容,用于限制画面。

支持中英文,超出长度将自动截断。

image(输入图片)

  • 参数:image

  • 可选,string | array,1–3 张

输入图像的 URL 或 Base64 编码;支持图生图与多参考图生图。

  • URL:支持 HTTP/HTTPS 公网地址。
  • Base64:格式 data:image/<格式>;base64,<编码>
  • 支持 JPG、JPEG、PNG、BMP、TIFF、WEBP、GIF;单张不超过 10MB。
  • 多图时按数组顺序传入,输出比例以最后一张为准;prompt 仍必填。

seed(随机数种子)

  • 参数:seed

  • 可选,integer,0–2147483647

随机数种子;相同 seed 可使生成内容相对稳定。

模型生成具有概率性,即使使用相同 seed 也不能保证每次结果完全一致。

prompt_extend(提示词智能改写)

  • 参数:prompt_extend

  • 可选,boolean

  • 取值范围:true | false

  • 默认:true

是否开启 Prompt 智能改写,对正向提示词进行优化与润色。

true 开启(默认),模型可补充细节;false 关闭,图像细节更可控。

size(图片尺寸)

  • 参数:size

  • 可选,string

  • 取值范围:2048*2048 | 2688*1536 | 1536*2688 | 2368*1728 | 1728*2368

  • 默认:2048*2048

生成图像的尺寸。

格式为 宽*高,默认 2048*2048;总像素须在 512×512 至 2048×2048 之间。

watermark(水印)

  • 参数:watermark

  • 可选,boolean

  • 取值范围:true | false

  • 默认:false

是否在图像右下角添加「Qwen-Image」水印。

response_format(图像的返回格式)

  • 参数:response_format

  • 可选,string

  • 取值范围:url

  • 默认:url

指定生成图像的返回格式。

当前模型仅支持 url;请勿设置 b64_json


以上文档为标准版 API 接口文档,可直接用于项目开发和系统调用。如果标准版 API 接口无法满足您的需求,需要定制开发 API 接口,请联系我们的 IT 技术支持工程师:

(沟通需求✅ → 确认技术方案✅ → 沟通费用与工期✅ → 开发&测试✅ → 验收交付✅ → 维护升级✅)

最受关注模型

DeepSeek V4 Pro

文本生成、深度思考

DeepSeek V4 Flash

文本生成、深度思考

Qwen 3.6 Plus

文本生成、深度思考、视觉理解

XiaoMi MiMo V2.5 Pro

文本生成、深度思考

Kimi K2.6

文本生成、深度思考、工具调用

最新发布模型

Qwen Image 2.0 Pro

图片生成

Qwen Image 2.0

图片生成

Doubao Seedream 5.0 Lite

图片生成

CosyVoice V3 Plus

语音合成

GLM Image

图片生成

向量化模型

GLM Embedding 3

文本向量化

Qwen3 Embedding 8B

文本嵌入、文本向量化

Doubao Embedding Large Text 250515

文本向量化

Qwen Text Embedding V4

文本向量化

Qwen Text Embedding V1

文本向量化

语音识别模型

Fun ASR Flash

语音识别、方言识别

Qwen3 ASR Flash

语音识别

GLM ASR 2512

语音识别

语音合成模型

CosyVoice V3 Plus

语音合成

CosyVoice V3 Flash

语音合成

GLM TTS

语音合成