Qwen Image 2512 API 快速入門:數分鐘內生成圖像 (2026)

Qwen Image 2512 API 快速入門:數分鐘內生成圖像 (2026)

你好,我是Dora。我曾經花費大量時間為產品建立圖像:尋找資產、調整大小、重新命名文件、整理文件夾……每一步都無休止地重複。這些工作都不難,但卻很繁瑣。後來,我試用了Qwen Image 2512 API,發現我可以用短短幾行代碼將所有工作自動化。

這不是廣告。我只是分享實際嘗試時發生的事情——什麼進行順利,我在哪裡遇到困難,以及我如何使其變得可靠實用。

WaveSpeed 快捷方式(如果你只想要結果)

如果你只想快速生成圖像,而不想自己構建所有內容:

  • WaveSpeed 已經提供現成的 Qwen Image 2512 REST API(無冷啟動)。
  • 使用 WaveSpeed 端點 + API 密鑰 → 完成。
  • 如果你想了解官方 DashScope 流程(以及常見陷阱),請繼續閱讀。

這個 API 實際上能做什麼?

簡而言之:你輸入文字描述,它就給你一張圖像。

例如,如果你寫:

“一張整潔的桌子,上面有筆記本和植物,光線柔和”

幾秒鐘後,你會得到一張與你的描述相符的圖像——你可以自動將其保存到你的電腦。

它擅長做什麼:

  • 製作情緒版
  • 快速生成縮圖
  • 為文檔添加佔位符圖像
  • 為產品創建原型視覺效果

我注意到的情況:

第一次使用時,它似乎並不比手動尋找圖像快多少。但在跑了兩三次之後,我意識到我不再需要為”這個應該是多大?“或”我應該如何命名這個文件?“而煩惱。它為我節省的不僅是時間,還有精力。


圖像格式和存儲

  • 格式: PNG,默認自動生成
  • 圖像存儲位置:
    • API 返回一個指向圖像的鏈接 (URL)
    • 該鏈接指向阿里雲服務器
    • 重要提示:該鏈接只在 24 小時內有效;之後就會過期
    • 因此你需要及時將其下載到你的電腦

注意: API 不直接提供圖像文件。如果你想將其保存在本地,你需要在代碼中添加下載步驟(稍後會解釋)。


開始之前:你需要什麼

第 1 步:獲取帳戶和 API 密鑰

  1. 註冊阿里雲帳戶
  2. 前往模型工作室控制台
  3. 生成 API 密鑰(類似於證明你身份的密鑰)
  4. 將密鑰保存為名為 DASHSCOPE_API_KEY 的環境變數
    環境變數:
    將其視為你電腦上的一個特殊位置,你的密鑰存儲在那裡,所以你的代碼可以自動找到它,而無需每次都複製粘貼。

提示:

  • 對於測試,你可以將其存儲在 .env 文件中
  • 對於實際使用,安全的密鑰管理工具更安全
  • 北京和新加坡地區有不同的密鑰——不要混淆它們

第 2 步:選擇一個工具

有三種主要方法,從最簡單的開始:

  1. cURL(最簡單)

    • 適合進行快速測試以查看 API 是否有效
    • 無需編程,只需粘貼命令
    • 建議第一次嘗試
  2. Python(最常見)

    • 適合為重複使用構建小工具
    • 我使用官方 DashScope SDK 來自動處理許多細節
    • 一些基礎 Python 知識有幫助
  3. Node.js(對前端開發人員友好)

    • 如果你是前端開發人員,這也可以使用
    • 原理相同,儘管我這裡不會涵蓋它

先試試 Playground:
如果你只想快速測試結果,Wavespeed Playground 讓你可以在瀏覽器中生成圖像。非常適合偶爾使用。對於批量生成或自動化,請繼續閱讀以學習如何使用 API。


快速入門:使用 cURL 進行測試

打開你的終端 (Mac) 或命令提示符 (Windows) 並粘貼以下內容:

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
  --header 'Content-Type: application/json' \
  --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
  --data '{
    "model": "qwen-image-max",
    "input": {
      "messages": [
        {
          "role": "user",
          "content": [
            {"text": "一張整潔的桌子,上面有筆記本和植物,光線柔和"}
          ]
        }
      ]
    },
    "parameters": {
      "size": "1024*1024"
    }
  }'

按 Enter 鍵,等待幾秒鐘,你會看到一個包含圖像鏈接的 JSON 響應。

我遇到的陷阱

  1. 模型名稱必須是 qwen-image-max,而不是 qwen-image-2512 或其他任何東西。
  2. 尺寸格式使用星號 1024*1024,而不是 1024x1024
  3. 對於新加坡地區,將 URL 更改為:https://dashscope-intl.aliyuncs.com/api/v1/...

如果你要構建類似生產環境的東西,官方 DashScope 流程完全可行——但它附帶操作細節(區域、URL 有效期、重試)。這正是我喜歡使用 WaveSpeed 進行日常工作的原因:它在現成的 REST API 後面為我提供了 Qwen Image 2512,所以我可以專注於提示和輸出管理,而不是管道問題。

參數說明

必需

  1. model

    • "qwen-image-max" 是 Qwen-Image-2512 的官方名稱
    • 還有 "qwen-image-plus",類似但更便宜
  2. input.messages

    • 一個包含一個元素的數組
    • text 是你的描述
    • 最多 800 個字符(約 400 個中文字符)

可選(省略時使用默認值)

  1. parameters.size

    • 1664*928(16:9 橫向)
    • 1472*1104(4:3)
    • 1328*1328(1:1 正方形,默認值)
    • 1104*1472(3:4 縱向)
    • 928*1664(9:16 縱向)
  2. parameters.negative_prompt

    • 你不想要的東西:例如,"低分辨率、模糊、扭曲、過飽和"
    • 最多 500 個字符
  3. parameters.prompt_extend

    • 默認值為 true
    • 自動豐富你的描述
    • 如果你想要嚴格控制,請將其關閉
  4. parameters.watermark

    • 默認 false
    • 如果為 true,添加”Qwen-Image”水印
  5. parameters.seed

    • 範圍 0–2147483647
    • 相同的 seed + 相同的描述 = 相同的圖像
    • 適合測試和比較結果

API 響應示例

{
  "output": {
    "choices": [
      {
        "finish_reason": "stop",
        "message": {
          "role": "assistant",
          "content": [
            {
              "image": "https://dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com/xxx.png?Expires=xxxx"
            }
          ]
        }
      }
    ]
  },
  "usage": {
    "width": 1328,
    "image_count": 1,
    "height": 1328
  },
  "request_id": "xxx"
}

要點

  • 圖像 URL:output.choices[0].message.content[0].image
  • 檢查 finish_reason 是否為 "stop" 以確認成功
  • 鏈接持續 24 小時——及時下載

使用 Python 自動化

如果你想要批量生成或小工具:

import os
import time
import requests
from urllib.parse import urlparse, unquote
from pathlib import PurePosixPath

API_KEY = os.getenv("DASHSCOPE_API_KEY")
ENDPOINT = "https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation"

HEADERS = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {API_KEY}",
}

def generate_image(prompt: str, size="1328*1328"):
    payload = {
        "model": "qwen-image-max",
        "input": {
            "messages": [{"role": "user", "content": [{"text": prompt}]}]
        },
        "parameters": {"size": size, "prompt_extend": True, "watermark": False}
    }
    r = requests.post(ENDPOINT, headers=HEADERS, json=payload, timeout=120)
    r.raise_for_status()
    data = r.json()
    choices = data.get("output", {}).get("choices", [])
    if not choices:
        raise ValueError(f"No image generated:\n{data}")
    content = choices[0].get("message", {}).get("content", [])
    if not content:
        raise ValueError(f"Empty content:\n{data}")
    image_url = content[0].get("image")
    if not image_url:
        raise ValueError(f"No image URL:\n{data}")

    img_response = requests.get(image_url)
    img_response.raise_for_status()

    file_name = PurePosixPath(unquote(urlparse(image_url).path)).parts[-1]
    ts = int(time.time())
    path = f"qwen_image_{ts}_{file_name}"
    with open(path, "wb") as f:
        f.write(img_response.content)
    return path

if __name__ == "__main__":
    output_path = generate_image("一張整潔的桌子,上面有筆記本和植物,光線柔和")
    print("Image saved at:", output_path)

我在測試中學到的東西

  • 錯誤的模型名稱會破壞它(qwen-image-plusqwen-image-max
  • 錯誤的尺寸格式(1328x1328 而不是 1328*1328
  • 響應結構與文檔略有不同;檢查圖像 URL
  • 忘記下載圖像會導致鏈接在 24 小時後過期

使用官方 SDK

import os
import json
from dashscope import MultiModalConversation

api_key = os.getenv("DASHSCOPE_API_KEY")
messages = [{"role": "user", "content": [{"text": "一張整潔的桌子,上面有筆記本和植物,光線柔和"}]}]

response = MultiModalConversation.call(
    api_key=api_key,
    model="qwen-image-max",
    messages=messages,
    result_format='message',
    stream=False,
    watermark=False,
    prompt_extend=True,
    size='1328*1328'
)

if response.status_code == 200:
    print(json.dumps(response, ensure_ascii=False))
    image_url = response.output.choices[0].message.content[0]['image']
    print(f"Image URL: {image_url}")
else:
    print(f"Error: {response.code} - {response.message}")

快速參數參考

參數建議值備註
size1328*1328正方形,平衡速度和質量
prompt_extendTRUE讓 AI 豐富你的描述
seed固定數字用於測試以比較結果
negative_prompt根據需要例如,“模糊、低質量、扭曲”

何時更改 seed

  • 固定 seed → 比較提示變化
  • 不同的 seed → 生成多個不同的圖像

常見錯誤及修復

  • 401 Unauthorized → API 密鑰錯誤、區域錯誤或缺少圖像權限
  • 429 Rate limit → 請求太多;添加延遲或升級配額
  • 超時 / 網絡問題 → 增加超時時間,立即下載

我添加的小改進

  1. 用於測試提示的固定 seed → 更容易比較結果
  2. 一致的文件命名:{keyword}-{size}-{seed}.png
  3. 配置文件管理:YAML 以避免硬編碼參數

這適合誰

Playground

  • 偶爾生成圖像
  • 快速提示測試
  • 不需要自動化

API

  • 批量生成
  • 工具或產品集成
  • 計劃或基於系統的使用

最終路徑(選擇適合你的)

路徑 A — 快速而實用

路徑 B — 完全控制

  • 如果你需要深度阿里雲集成,直接使用 DashScope

我喜歡在後台靜靜工作的工具。對於學習和理解,官方流程很棒。對於日常工作和更快地交付,WaveSpeed 為我節省了大量的麻煩。