通义千问-图像翻译API参考

通义千问-图像翻译模型(Qwen-MT-Image)可精准翻译图像中的文字,并保留原始排版。该模型还支持领域提示、敏感词过滤、术语干预等自定义功能。

模型概览

效果示例

1

源语种:中文

2

英文

3

日文

4

韩语

es

西班牙语

fr

法语

支持的语种

进行图像翻译时,源语种或目标语种必须至少有一种是中文或英文。不支持在两个非中、英语种之间直接翻译(例如,从日语翻译为韩语)。若不确定源语种,可将 source_lang 设置为 auto 进行自动检测。

语种(中文名)

英文全称

编码

支持作为源语种

支持作为目标语种

简体中文

Chinese

zh

支持

支持

英文

English

en

支持

支持

韩语

Korean

ko

支持

支持

日语

Japanese

ja

支持

支持

俄语

Russian

ru

支持

支持

西班牙语

Spanish

es

支持

支持

法语

French

fr

支持

支持

葡萄牙语

Portuguese

pt

支持

支持

意大利语

Italian

it

支持

支持

德语

Germany

de

支持

不支持

越南语

Vietnamese

vi

支持

支持

马来语

Malay

ms

不支持

支持

泰语

Thai

th

不支持

支持

印尼语

Indonesian

id

不支持

支持

阿拉伯语

Arabian

ar

不支持

支持

模型与价格

按成功翻译的图像张数计费。计费规则如下:

  • 当任务成功 (task_status 为 SUCCEEDED) 并成功生成图像后,会计费。

  • 特殊情况:如果图像中无可翻译文本,或在启用图像主体识别后其余部分无文字时,任务仍会成功正常计费,但会返回No text detected for translation的提示。

  • 因参数错误、服务内部错误或网络连接失败等问题而失败的请求,不产生费用,也不消耗免费额度

模型名称

计费单价

限流(主账号与RAM子账号共用)

免费额度(查看)

任务下发接口RPS限制

同时处理中任务数量

qwen-mt-image

0.003元/张

1

2

100

有效期:百炼开通后90天内

HTTP调用

您需要已获取API Key配置API Key到环境变量

POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis

图像翻译复用图像合成的API Endpoint。

由于图像翻译耗时较长,HTTP API 采用异步模式,调用流程分两步:

  1. 创建任务获取任务ID:发送一个请求创建任务,该请求会返回任务ID(task_id)

  2. 根据任务ID查询结果:使用task_id轮询任务状态,直到任务完成并获得图像URL。

步骤1:创建任务获取任务ID

说明
  • 创建成功后,使用接口返回的 task_id 查询结果,task_id 有效期为 24 小时。请勿重复创建任务,轮询获取即可。

  • 新手指引请参见Postman

请求参数

图像翻译

curl --location 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis' \
--header 'X-DashScope-Async: enable' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "qwen-mt-image",
    "input": {
        "image_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250916/ordhsk/1.webp",
        "source_lang": "zh",
        "target_lang": "en"
    }
}'

请求头(Headers)

Content-Type string (必选)

请求内容类型。此参数必须设置为application/json

Authorization string(必选)

请求身份认证。接口使用阿里云百炼API-Key进行身份认证。示例值:Bearer sk-xxxx。

X-DashScope-Async string (必选)

异步处理配置参数。HTTP请求只支持异步,必须设置为enable

重要

缺少此请求头将报错:“current user api does not support synchronous calls”。

请求体(Request Body)

model string (必选)

模型名称,需要设置为qwen-mt-image

input object (必选)

输入参数对象,包含以下字段:

属性

image_url string (必选)

图像的公网可访问的URL,支持 HTTP 或 HTTPS 协议。

  • 格式限制:JPG、JPEG、PNG、BMP、PNM、PPM、TIFF、WEBP

  • 尺寸限制:图像的宽度和高度均需在15-8192像素范围内,宽高比在1:1010:1范围内。

  • 大小限制:不超过10MB

  • URL地址若包含中文等非ASCII字符,需进行URL编码后再传入。

    URL编码

    from urllib.parse import quote
    
    # 请替换下面的URL为需要编码的URL
    url = "https://example.com/搜索?q=测试&page=1"
    encoded_url = quote(url, safe=':/?#[]@!$&\'()*+,;=%')
    print(f"原始URL: {url}")
    print(f"编码后的URL: {encoded_url}")
  • 示例https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250916/ordhsk/1.webp

source_lang string (必选)

源语种

  • 支持值:语种全称、语种编码或auto(自动检测),对大小写不敏感

  • 限制:与target_lang不同,且至少有一项为中文或英文

  • 示例Chineseenauto

target_lang string (必选)

目标语种

  • 支持值:语种全称或语种编码,对大小写不敏感

  • 限制:与source_lang不同,且至少有一项为中文或英文

  • 示例Chineseen

ext object (可选)

可选拓展字段。

属性

domainHint string (可选)

领域提示,为使译文风格更贴合特定领域,可以使用英文描述使用场景、译文风格等需求。

为确保翻译效果,建议不超过200个英文单词。

重要

领域提示语句当前只支持英文

示例:These sentences are from seller-buyer conversations on a B2C ecommerce platform. Translate them into clear, engaging customer service language, ensuring the translation is appropriate for handling potential issues or disputes.

sensitives array (可选)

配置敏感词,以在翻译前过滤图片中完全匹配的文本,对大小写敏感

敏感词的语种可与源语种不一致,支持全部的源语种目标语种。为确保翻译效果,建议单次请求添加的敏感词不超过50个。

示例:["全场9折", "七天无理由退换"]

terminologies array (可选)

术语干预,为特定术语设定译文,以满足特定领域的翻译需求,术语对的语种需要与source_langtarget_lang对应。

属性

src string (必选)

术语的源文本,语种需要与源语种source_lang一致。

tgt string (必选)

术语的目标文本,语种需要与目标语种target_lang一致。

示例:[{"src": "应用程序接口", "tgt": "API"}, {"src": "机器学习", "tgt": "ML"}]

config object (可选)

属性

skipImgSegment bool (可选)

用于控制是否跳过主体检测,翻译图像中主体(如人物、商品、Logo)上的文字。

  • false :默认值,进行主体检测,不翻译主体上的文字。

  • true: 不进行主体检测,将图像主体上的文字一并翻译。

响应参数

成功响应

请保存 task_id,用于查询任务状态与结果。

{
    "output": {
        "task_status": "PENDING",
        "task_id": "0385dc79-5ff8-4d82-bcb6-xxxxxx"
    },
    "request_id": "4909100c-7b5a-9f92-bfe5-xxxxxx"
}

异常响应

创建任务失败,请参见错误信息进行解决。

{
    "code":"InvalidApiKey",
    "message":"Invalid API-key provided.",
    "request_id":"fb53c4ec-1c12-4fc4-a580-xxxxxx"
}

output object

任务输出信息。

属性

task_id string

任务ID。查询有效期24小时。

task_status string

任务状态。

枚举值

  • PENDING:任务排队中

  • RUNNING:任务处理中

  • SUCCEEDED:任务执行成功

  • FAILED:任务执行失败

  • CANCELED:任务已取消

  • UNKNOWN:任务不存在或状态未知

request_id string

请求唯一标识。可用于请求明细溯源和问题排查。

message string

请求失败的详细信息。请求成功时不会返回此参数,详情请参见错误信息

code string

请求失败的错误码。请求成功时不会返回此参数,详情请参见错误信息

步骤2:根据任务ID查询结果

GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

说明
  • 模型处理耗时约15秒。建议采用轮询机制,并设置合理的查询间隔(如5秒)来获取结果。

  • task_id 有效期为24小时,若ID不存在或已过期,任务状态将返回 UNKNOWN

  • 任务成功后返回的 url有效期为24小时,请及时下载并保存图像。

  • 此查询接口的默认QPS1。如需更高频次的查询或事件通知,请配置异步任务回调

  • 如需批量查询或取消任务,请参见管理异步任务

请求参数

查询任务结果

您需要将86ecf553-d340-4e21-xxxxxxxxx替换为真实的task_id。

curl -X GET https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"
请求头(Headers)

Authorization string(必选)

请求身份认证。接口使用阿里云百炼API-Key进行身份认证。示例值:Bearer sk-xxxx。

URL路径参数(Path parameters)

task_id string(必选)

任务ID。

响应参数

任务执行成功

任务数据(如任务状态、图像URL等)仅保留24小时,超时后会被自动清除。请您务必及时保存生成的图像。

{
    "request_id": "5fec62eb-bf94-91f8-b9f4-f7f758e4e27e",
    "output": {
        "task_id": "72c52225-8444-4cab-ad0c-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-08-13 18:11:16.954",
        "scheduled_time": "2025-08-13 18:11:17.003",
        "end_time": "2025-08-13 18:11:23.860",
        "image_url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx?Expires=xxx"
    },
    "usage": {
        "image_count":1
    }
}

任务执行失败

若任务执行失败,task_status将置为 FAILED,并提供错误码和信息。请参见错误信息进行解决。

{
    "request_id": "daad9007-6acd-9fb3-a6bc-d55902b9c9ff",
    "output": {
        "task_id": "fe8aa114-d9f1-4f76-b598-xxxxxx",
        "task_status": "FAILED",
        "submit_time": "2025-08-20 09:54:21.911",
        "scheduled_time": "2025-08-20 09:54:21.984",
        "end_time": "2025-08-20 12:55:00.818",
        "code": "InternalError",
        "message": "xxxxxx"
    }
}

output object

任务输出信息。

属性

task_id string

任务ID。查询有效期24小时。

task_status string

任务状态。

枚举值

  • PENDING:任务排队中

  • RUNNING:任务处理中

  • SUCCEEDED:任务执行成功

  • FAILED:任务执行失败

  • CANCELED:任务已取消

  • UNKNOWN:任务不存在或状态未知

submit_time string

任务提交时间。格式为 YYYY-MM-DD HH:mm:ss.SSS。

scheduled_time string

任务执行时间。格式为 YYYY-MM-DD HH:mm:ss.SSS。

end_time string

任务完成时间。格式为 YYYY-MM-DD HH:mm:ss.SSS。

image_url string

模型生成图像的URL地址。有效期为24小时,请及时下载并保存图像。

code string

请求失败的错误码。请求成功时不会返回此参数,详情请参见错误信息

message string

请求失败的详细信息,详情请参见错误信息

通常请求成功时不会返回此参数,仅在图像中无可翻译文本(例如,在识别出图像主体后,其余部分无文字)时,请求仍会成功,但会返回No text detected for translation的提示。

usage object

输出信息统计。只对成功的结果计数。

属性

image_count integer

模型生成图像的数量,固定为1。

request_id string

请求唯一标识。可用于请求明细溯源和问题排查。

代码示例

除 cURL 外,本节还提供了其他 HTTP 请求的代码示例,通过轮询方式获取结果。如需通过事件通知的方式获取结果,请参考配置异步任务回调

Python

# 需要安装 requests 依赖
import requests
import time
import json
import os

# 若没有配置环境变量,请将下行替换为:DASHSCOPE_API_KEY="sk-xxx"
DASHSCOPE_API_KEY = os.environ['DASHSCOPE_API_KEY']
    
POST_URL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis"
GET_URL_TEMPLATE = "https://dashscope.aliyuncs.com/api/v1/tasks/{}"

# 请求头
headers = {
    "X-DashScope-Async": "enable",
    "Authorization": f"Bearer {DASHSCOPE_API_KEY}",
    "Content-Type": "application/json"
}

# 请求数据
data = {
    "model": "qwen-mt-image",
    "input": {
        "image_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250916/ordhsk/1.webp",
        "source_lang": "zh",
        "target_lang": "en"
    }
}

def send_async_request():
    """
    发送异步POST请求
    """
    print("发送异步POST请求...")
    response = requests.post(POST_URL, headers=headers, json=data)
    
    if response.status_code == 200:
        result = response.json()
        print("请求成功,返回结果:")
        print(json.dumps(result, indent=2, ensure_ascii=False))
        
        # 提取task_id
        task_id = result.get("output", {}).get("task_id")
        if task_id:
            return task_id
        else:
            raise ValueError("响应中未找到task_id")
    else:
        print(f"请求失败,状态码: {response.status_code}")
        print(response.text)
        raise Exception(f"POST请求失败: {response.status_code}")

def poll_task_status(task_id, interval=5, max_attempts=10):
    """
    轮询任务状态
    
    :param task_id: 任务ID
    :param interval: 轮询间隔(秒)
    :param max_attempts: 最大轮询次数
    :return: 最终任务结果
    """
    print(f"\n开始轮询任务状态,task_id: {task_id}")
    
    for attempt in range(1, max_attempts + 1):
        print(f"第 {attempt} 次轮询...")
        
        # 构造GET请求URL
        get_url = GET_URL_TEMPLATE.format(task_id)
        
        # 发送GET请求
        response = requests.get(get_url, headers={"Authorization": f"Bearer {DASHSCOPE_API_KEY}"})
        
        if response.status_code == 200:
            result = response.json()
            task_status = result.get("output", {}).get("task_status")
            print(f"当前任务状态: {task_status}")
            
            # 如果任务完成或失败,返回结果
            if task_status == "SUCCEEDED":
                print("任务执行完成")
                return result
            elif task_status == "FAILED":
                print("任务执行失败")
                return result
            elif task_status == "PENDING" or task_status == "RUNNING":
                # 继续轮询
                print(f"任务仍在进行中,等待 {interval} 秒后继续轮询...")
                time.sleep(interval)
            else:
                print(f"未知任务状态: {task_status}")
                time.sleep(interval)
        else:
            print(f"轮询请求失败,状态码: {response.status_code}")
            print(response.text)
            time.sleep(interval)
    
    # 超过最大轮询次数
    raise TimeoutError("轮询超时,任务未在预期时间内完成")

def main():
    task_id = send_async_request()
    result = poll_task_status(task_id)
    print("\n最终任务结果:")
    print(json.dumps(result, indent=2, ensure_ascii=False))
    if result.get("output", {}).get("task_status") == "SUCCEEDED":
        image_url = result.get("output", {}).get("image_url")
        if image_url:
            print(f"\n生成的图像URL: {image_url}")

if __name__ == "__main__":
    main()

Java

// 需要添加 Gson 依赖
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;

import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.nio.charset.StandardCharsets;

public class Main {
    private static final String POST_URL = "https://dashscope.aliyuncs.com/api/v1/services/aigc/image2image/image-synthesis";
    private static final String GET_URL_TEMPLATE = "https://dashscope.aliyuncs.com/api/v1/tasks/";
    private static final Gson gson = new GsonBuilder().setPrettyPrinting().create();

    public static void main(String[] args) {
        try {
            // 1. 获取 API Key
            // 若没有配置环境变量,请将下行替换为:apiKey="sk-xxx"
            String apiKey = System.getenv("DASHSCOPE_API_KEY");
            if (apiKey == null || apiKey.isEmpty()) {
                System.err.println("请设置环境变量 DASHSCOPE_API_KEY");
                return;
            }

            // 2. 发送异步请求
            String taskId = sendAsyncRequest(apiKey);

            // 3. 轮询任务状态
            JsonObject result = pollTaskStatus(apiKey, taskId, 5, 10);

            // 4. 输出最终结果
            System.out.println("\n最终任务结果:");
            System.out.println(gson.toJson(result));

            // 5. 如果任务成功,输出图像URL
            String taskStatus = result.getAsJsonObject("output").get("task_status").getAsString();
            if ("SUCCEEDED".equals(taskStatus)) {
                String imageUrl = result.getAsJsonObject("output").get("image_url").getAsString();
                System.out.println("\n生成的图像URL: " + imageUrl);
            }

        } catch (Exception e) {
            System.err.println("执行过程中出现错误: " + e.getMessage());
            e.printStackTrace();
        }
    }

    /**
     * 发送异步POST请求
     */
    private static String sendAsyncRequest(String apiKey) throws IOException {
        System.out.println("发送异步POST请求...");

        // 构建请求数据
        Map<String, Object> data = new HashMap<>();
        data.put("model", "qwen-mt-image");

        Map<String, Object> input = new HashMap<>();
        input.put("image_url", "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250916/ordhsk/1.webp");
        input.put("source_lang", "zh");
        input.put("target_lang", "en");
        data.put("input", input);

        String jsonData = gson.toJson(data);

        // 创建连接
        URL url = new URL(POST_URL);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();

        // 设置请求头
        connection.setRequestMethod("POST");
        connection.setRequestProperty("X-DashScope-Async", "enable");
        connection.setRequestProperty("Authorization", "Bearer " + apiKey);
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setDoOutput(true);

        // 发送请求体
        try (OutputStream os = connection.getOutputStream()) {
            byte[] inputBytes = jsonData.getBytes(StandardCharsets.UTF_8);
            os.write(inputBytes, 0, inputBytes.length);
        }

        // 读取响应
        int responseCode = connection.getResponseCode();
        if (responseCode == 200) {
            StringBuilder response = new StringBuilder();
            try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) {
                String responseLine;
                while ((responseLine = br.readLine()) != null) {
                    response.append(responseLine.trim());
                }
            }

            System.out.println("请求成功,返回结果:");
            JsonObject jsonResponse = gson.fromJson(response.toString(), JsonObject.class);
            System.out.println(gson.toJson(jsonResponse));

            // 提取task_id
            JsonObject result = gson.fromJson(response.toString(), JsonObject.class);
            String taskId = result.getAsJsonObject("output").get("task_id").getAsString();
            if (taskId != null && !taskId.isEmpty()) {
                return taskId;
            } else {
                throw new RuntimeException("响应中未找到task_id");
            }
        } else {
            System.out.println("请求失败,状态码: " + responseCode);
            StringBuilder errorResponse = new StringBuilder();
            try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getErrorStream(), StandardCharsets.UTF_8))) {
                String responseLine;
                while ((responseLine = br.readLine()) != null) {
                    errorResponse.append(responseLine.trim());
                }
            }
            System.out.println(errorResponse.toString());
            throw new RuntimeException("POST请求失败: " + responseCode);
        }
    }

    /**
     * 轮询任务状态
     *
     * @param apiKey API密钥
     * @param taskId 任务ID
     * @param interval 轮询间隔(秒)
     * @param maxAttempts 最大轮询次数
     * @return 最终任务结果
     */
    private static JsonObject pollTaskStatus(String apiKey, String taskId, int interval, int maxAttempts) throws IOException, InterruptedException {
        System.out.println("\n开始轮询任务状态,task_id: " + taskId);

        for (int attempt = 1; attempt <= maxAttempts; attempt++) {
            System.out.println("第 " + attempt + " 次轮询...");

            // 构造GET请求URL
            String getUrl = GET_URL_TEMPLATE + taskId;

            // 创建连接
            URL url = new URL(getUrl);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            // 设置请求头
            connection.setRequestMethod("GET");
            connection.setRequestProperty("Authorization", "Bearer " + apiKey);

            // 读取响应
            int responseCode = connection.getResponseCode();
            if (responseCode == 200) {
                StringBuilder response = new StringBuilder();
                try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) {
                    String responseLine;
                    while ((responseLine = br.readLine()) != null) {
                        response.append(responseLine.trim());
                    }
                }

                JsonObject result = gson.fromJson(response.toString(), JsonObject.class);
                String taskStatus = result.getAsJsonObject("output").get("task_status").getAsString();
                System.out.println("当前任务状态: " + taskStatus);

                // 如果任务完成或失败,返回结果
                if ("SUCCEEDED".equals(taskStatus) || "FAILED".equals(taskStatus)) {
                    System.out.println("任务执行完成");
                    return result;
                } else if ("PENDING".equals(taskStatus) || "RUNNING".equals(taskStatus)) {
                    // 继续轮询
                    System.out.println("任务仍在进行中,等待 " + interval + " 秒后继续轮询...");
                    TimeUnit.SECONDS.sleep(interval);
                } else {
                    System.out.println("未知任务状态: " + taskStatus);
                    TimeUnit.SECONDS.sleep(interval);
                }
            } else {
                System.out.println("轮询请求失败,状态码: " + responseCode);
                StringBuilder errorResponse = new StringBuilder();
                try (BufferedReader br = new BufferedReader(new InputStreamReader(connection.getErrorStream(), StandardCharsets.UTF_8))) {
                    String responseLine;
                    while ((responseLine = br.readLine()) != null) {
                        errorResponse.append(responseLine.trim());
                    }
                }
                System.out.println(errorResponse.toString());
                TimeUnit.SECONDS.sleep(interval);
            }
        }

        // 超过最大轮询次数
        throw new RuntimeException("轮询超时,任务未在预期时间内完成");
    }
}

返回结果

发送异步POST请求...
请求成功,返回结果:
{
  "request_id": "ba607b73-8743-42cb-a605-c4db9688fc6e",
  "output": {
    "task_id": "9e82f1a9-12f4-4423-93e0-bb49xxxxxxxx",
    "task_status": "PENDING"
  }
}

开始轮询任务状态,task_id: 9e82f1a9-12f4-4423-93e0-bb49xxxxxxxx
第 1 次轮询...
当前任务状态: RUNNING
任务仍在进行中,等待 5 秒后继续轮询...
第 2 次轮询...
当前任务状态: RUNNING
任务仍在进行中,等待 5 秒后继续轮询...
第 3 次轮询...
当前任务状态: SUCCEEDED
任务执行完成

最终任务结果:
{
  "request_id": "a1419de4-3f62-4582-8097-e6a66a843536",
  "output": {
    "task_id": "9e82f1a9-12f4-4423-93e0-bb49xxxxxxxx",
    "task_status": "SUCCEEDED",
    "submit_time": "2025-09-13 16:33:14.835",
    "scheduled_time": "2025-09-13 16:33:14.861",
    "end_time": "2025-09-13 16:33:20.436",
    "image_url": "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx?Expires=xxx",
    "message": ""
  },
  "usage": {
    "image_count": 1
  }
}

生成的图像URL: http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx?Expires=xxx

图像访问权限配置

模型生成的图像存储于阿里云OSS,每张图像会被分配一个OSS链接,如https://dashscope-result-xx.oss-cn-xxxx.aliyuncs.com/xxx.png。OSS链接允许公开访问,可以使用此链接查看或者下载图片,链接仅在 24 小时内有效。

如果您的业务对安全性要求较高,无法访问阿里云OSS链接,则需要单独配置外网访问白名单。请将以下域名添加到您的白名单中,以便顺利访问图片链接。

dashscope-result-bj.oss-cn-beijing.aliyuncs.com
dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com
dashscope-result-sh.oss-cn-shanghai.aliyuncs.com
dashscope-result-wlcb.oss-cn-wulanchabu.aliyuncs.com
dashscope-result-zjk.oss-cn-zhangjiakou.aliyuncs.com
dashscope-result-sz.oss-cn-shenzhen.aliyuncs.com
dashscope-result-hy.oss-cn-heyuan.aliyuncs.com
dashscope-result-cd.oss-cn-chengdu.aliyuncs.com
dashscope-result-gz.oss-cn-guangzhou.aliyuncs.com
dashscope-result-wlcb-acdr-1.oss-cn-wulanchabu-acdr-1.aliyuncs.com

错误码

如果模型调用失败并返回报错信息,请参见错误信息进行解决。

常见问题

Q: 如何将临时的图像链接转为永久链接?

A: 临时链接无法直接转为永久链接。需通过后端服务下载图像,再上传至对象存储服务(如阿里云 OSS)以生成新的永久链接。

示例代码:下载图像到本地

import requests

def download_and_save_image(image_url, save_path):
    try:
        response = requests.get(image_url, stream=True, timeout=300) # 设置超时
        response.raise_for_status() # 如果HTTP状态码不是200,则引发异常
        with open(save_path, 'wb') as f:
            for chunk in response.iter_content(chunk_size=8192):
                f.write(chunk)
        print(f"图像已成功下载到: {save_path}")
        # 此处可以接上传到永久存储的逻辑
    except requests.exceptions.RequestException as e:
        print(f"图像下载失败: {e}")

if __name__ == '__main__':
    image_url = "http://dashscope-result-bj.oss-cn-beijing.aliyuncs.com/xxx?Expires=xxx"
    save_path = "image-translation.jpg"
    download_and_save_image(image_url, save_path)

Q: 如何查看模型调用量?

A: 模型调用完一小时后,请在模型观测页面,查看模型的调用次数、成功率等指标。如何查看模型调用记录