Skip to main content
More Models

Qwen-MT API reference

Input and output parameters for calling Qwen-MT through the OpenAI compatible interface or the DashScope API.

References: Machine translation (Qwen-MT)

OpenAI compatible

  • Beijing region
  • Singapore region
  • Virginia region
base_url for SDK: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1HTTP endpoint: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions
  • Singapore region
  • Virginia region
  • Beijing region
base_url for SDK: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1HTTP endpoint: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
Alibaba Cloud Model Studio has released workspace-specific domains for the China (Beijing), Singapore, and China (Hong Kong) regions. The new dedicated domains deliver superior performance and higher stability for inference requests. We recommend migrating to the new domains:
  • China (Beijing): from https://dashscope.aliyuncs.com to https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapore: from https://dashscope-intl.aliyuncs.com to https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
  • China (Hong Kong): from https://cn-hongkong.dashscope.aliyuncs.com to https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com
{WorkspaceId} is your workspace ID, which can be found on the Workspace Details page in the Alibaba Cloud Model Studio console. The existing domain remains fully functional.
First, create an API key and configure it as an environment variable . If you use the OpenAI SDK, install the SDK .

Request body

  • Basic usage
  • Term intervention
  • Translation memory
  • Domain prompting
  • Python
  • Node.js
  • curl
import os
from openai import OpenAI

client = OpenAI(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
messages = [
    {
        "role": "user",
        "content": "No me reí después de ver este video"
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English"
}

completion = client.chat.completions.create(
    model="qwen-mt-plus",
    messages=messages,
    extra_body={
        "translation_options": translation_options
    }
)
print(completion.choices[0].message.content)
model string (Required)Model name. Supported: qwen-mt-plus, qwen-mt-flash, qwen-mt-lite, qwen-mt-turbo.
messages array (Required)Array of messages providing context to the model. Only user messages are supported.

Message type

User Message object (Required)A user message that contains the sentence to be translated.

Properties

content string (Required)Sentence to translate.role string (Required)User message role. Must be set to user.
stream boolean (Optional) Defaults to false.Enable streaming output mode.Valid values:
  • false: Return complete response after generation.
  • true: Return response in chunks as generated. The client reconstructs the complete response from chunks.
qwen-mt-flash and qwen-mt-lite return data incrementally (each chunk contains only new content). qwen-mt-plus and qwen-mt-turbo return data non-incrementally (each chunk contains entire sequence to date). This behavior cannot be changed. Example:II didnI didn'tI didn't laughI didn't laugh after...
stream_options object (Optional)The configuration items for streaming output. This parameter takes effect only when stream is set to true.

Properties

include_usage boolean (Optional) Defaults to false.Include token consumption information in the last data chunk.Valid values:
  • true
  • false
max_tokens integer (Optional)Maximum number of tokens to generate. If the output exceeds this value, the response is truncated.The default and maximum values are the maximum output length of the model. For more information, see Model selection.
seed integer (Optional)Random number seed for reproducible results. Using the same seed and parameters produces consistent output.Value range: [0, 2 31 -1].
temperature float (Optional) Defaults to 0.65.Sampling temperature that controls the diversity of generated text.Higher values produce more diverse text. Lower values produce more deterministic text.Value range: [0, 2)Both temperature and top_p control text diversity. Set only one of them.
top_p float (Optional) Defaults to 0.8.Probability threshold for nucleus sampling that controls the diversity of generated text.Higher values produce more diverse text. Lower values produce more deterministic text.Value range: (0, 1.0]Both temperature and top_p control text diversity. Set only one of them.
top_k integer (Optional) Defaults to 1.Size of the candidate set for sampling during generation. For example, setting this to 50 means only the top 50 tokens by score form the sampling pool. Larger values increase randomness; smaller values increase determinism. If the value is None or greater than 100, top_k is disabled and only top_p takes effect.The value must be greater than or equal to 0.Non-standard OpenAI parameter. Python SDK: place in extra_body object extra_body={"top_k": xxx}. Node.js SDK or HTTP calls: pass as top-level parameter.
repetition_penalty float (Optional) Defaults to 1.0.Penalty for repetition in consecutive sequences. Higher values reduce repetition. A value of 1.0 applies no penalty. Must be greater than 0, with no strict upper limit.Non-standard OpenAI parameter. Python SDK: place in extra_body object extra_body={"repetition_penalty": xxx}. Node.js SDK or HTTP calls: pass as top-level parameter.
translation_options object (Required)Translation parameters.

Properties

source_lang string (Required)The full English name of the source language. For more information, see Supported languages. If you set this to auto, the model automatically detects the input language.target_lang string (Required)The full English name of the target language. For more information, see Supported languages.terms arrays (Optional)The array of terms to set when you use the Term intervention feature.
source string (Required)The term in the source language.target string (Required)The term in the target language.
tm_list arrays (Optional)The array of translation memories to set when you use the Translation memory feature.
source string (Required)The statement in the source language.target string (Required)The statement in the target language.
domains string (Optional)The domain prompt to set when you use the Domain prompting feature.
Domain prompts must be in English.
Non-standard OpenAI parameter. Python SDK: place in extra_body object extra_body={"translation_options": xxx}. Node.js SDK or HTTP calls: pass as top-level parameter.

Chat response object (non-streaming output)

{
  "id": "chatcmpl-999a5d8a-f646-4039-968a-167743ae0f22",
  "choices": [
    {
      "finish_reason": "stop",
      "index": 0,
      "logprobs": null,
      "message": {
        "content": "I didn't laugh after watching this video.",
        "refusal": null,
        "role": "assistant",
        "annotations": null,
        "audio": null,
        "function_call": null,
        "tool_calls": null
      }
    }
  ],
  "created": 1762346157,
  "model": "qwen-mt-plus",
  "object": "chat.completion",
  "service_tier": null,
  "system_fingerprint": null,
  "usage": {
    "completion_tokens": 9,
    "prompt_tokens": 53,
    "total_tokens": 62,
    "completion_tokens_details": null,
    "prompt_tokens_details": null
  }
}
id stringUnique request ID.
choices arrayArray of model-generated content.

Properties

finish_reason stringReason why the model stopped generating content.Possible values:
  • stop: Output is complete.
  • length: Output length limit reached.
index integerIndex of the current object in the choices array.message objectModel output message.

Properties

content stringTranslation result.refusal stringCurrently fixed to null.role stringThe role of the message. This is fixed to assistant.audio objectCurrently fixed to null.function_call objectCurrently fixed to null.tool_calls arrayCurrently fixed to null.
created integerThe UNIX timestamp when the request was created.
model stringThe model used for the request.
object stringThis is always chat.completion.
service_tier stringCurrently fixed to null.
system_fingerprint stringCurrently fixed to null.
usage objectToken consumption for the request.
completion_tokens integerNumber of tokens in the model output.prompt_tokens integerNumber of tokens in the input.total_tokens integerTotal tokens consumed, equal to prompt_tokens + completion_tokens.completion_tokens_details objectCurrently fixed to null.prompt_tokens_details objectCurrently fixed to null.

Chat response chunk object (streaming output)

{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "", "function_call": null, "refusal": null, "role": "assistant", "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "I", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " didn", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "'t", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " laugh", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " after", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " watching", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " this", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": " video", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": ".", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": null, "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": "stop", "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [{"delta": {"content": "", "function_call": null, "refusal": null, "role": null, "tool_calls": null}, "finish_reason": "stop", "index": 0, "logprobs": null}], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": null}
{"id": "chatcmpl-d8aa6596-b366-4ed0-9f6d-2e89247f554e", "choices": [], "created": 1762504029, "model": "qwen-mt-flash", "object": "chat.completion.chunk", "service_tier": null, "system_fingerprint": null, "usage": {"completion_tokens": 9, "prompt_tokens": 56, "total_tokens": 65, "completion_tokens_details": null, "prompt_tokens_details": null}}
id stringThe unique ID of the call. Each chunk object has the same ID.
choices arrayAn array of content generated by the model. If include_usage is set to true, this array is empty in the last chunk.

Properties

delta objectThe output content returned in streaming mode.

Properties

content stringThe translation result. qwen-mt-flash and qwen-mt-lite provide incremental updates. qwen-mt-plus and qwen-mt-turbo provide non-incremental updates.function_call objectCurrently fixed to null.refusal objectCurrently fixed to null.role stringThe role of the message object. This has a value only in the first chunk.
finish_reason stringThe model stops generating for one of three reasons:
  • When the output is complete, the value is stop.
  • The value is null during generation.
  • length: The generation stopped because the output length limit was reached.
index integerThe index of the current response in the choices array.
created integerThe UNIX timestamp when the request was created. Each chunk has the same timestamp.
model stringThe model used for the request.
object stringThis is always chat.completion.chunk.
service_tier stringCurrently fixed to null.
system_fingerprint stringCurrently fixed to null.
usage objectThe tokens consumed by the request. This is returned in the last chunk only when include_usage is true.
completion_tokens integerThe number of tokens in the model output.prompt_tokens integerThe number of input tokens.total_tokens integerThe total number of tokens. This is the sum of prompt_tokens and completion_tokens.completion_tokens_details objectCurrently fixed to null.prompt_tokens_details objectCurrently fixed to null.

DashScope

  • Beijing
  • Singapore
  • Virginia
HTTP endpoint: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generationYou do not need to configure base_url for SDK calls. The default value is https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1.
  • Singapore
  • Virginia
  • Beijing
HTTP endpoint: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generationSet base_url to:
  • Python code
  • Java code
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
You must create an API key and export the API key as an environment variable . If using the DashScope SDK, install the DashScope SDK .

Request body

  • Basic usage
  • Term intervention
  • Translation memory
  • Domain prompting
  • Python
  • Java
  • curl
import os
import dashscope

# The following URL is for the Singapore region. When calling, replace WorkspaceId with your actual workspace ID. URLs vary by region.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
    {
        "role": "user",
        "content": "No me reí después de ver este video"
    }
]
translation_options = {
    "source_lang": "auto",
    "target_lang": "English",
}
response = dashscope.Generation.call(
    # Replace with your Model Studio API key if the environment variable is not set: api_key="sk-xxx"
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-mt-plus",  # This example uses qwen-mt-plus. You can replace the model name as needed.
    messages=messages,
    result_format='message',
    translation_options=translation_options
)
print(response.output.choices[0].message.content)
model string (Required)Model name. Supported: qwen-mt-plus, qwen-mt-flash, qwen-mt-lite, qwen-mt-turbo.
messages array (Required)Array of messages providing context to the model. Only user messages are supported.

Message type

User Message object (Required)A user message that contains the sentence to be translated.

Properties

content string (Required)Sentence to translate.role string (Required)User message role. Must be set to user.
max_tokens integer (Optional)Maximum number of tokens to generate. If the output exceeds this value, the response is truncated.The default and maximum values are the maximum output length of the model. For more information, see Model selection.
In the Java SDK, the parameter is maxTokens. For HTTP calls, place max_tokens in the parameters object.
seed integer (Optional)Random number seed for reproducible results. Using the same seed and parameters produces consistent output.Value range: [0, 2 31 -1].
When you make an HTTP call, place seed in the parameters object.
temperature float (Optional) Defaults to 0.65.Sampling temperature that controls the diversity of generated text.Higher values produce more diverse text. Lower values produce more deterministic text.Value range: [0, 2)Both temperature and top_p control text diversity. Set only one of them.
When you make an HTTP call, place temperature in the parameters object.
top_p float (Optional) Defaults to 0.8.Probability threshold for nucleus sampling that controls the diversity of generated text.Higher values produce more diverse text. Lower values produce more deterministic text.Value range: (0, 1.0]Both temperature and top_p control text diversity. Set only one of them.
In the Java SDK, the parameter is topPparameters object.
repetition_penalty float (Optional) Defaults to 1.0.Penalty for repetition in consecutive sequences. Higher values reduce repetition. A value of 1.0 applies no penalty. Must be greater than 0, with no strict upper limit.
In the Java SDK, the parameter is repetitionPenalty. For HTTP calls, add repetition_penalty to the parameters object.
top_k integer (Optional) Defaults to 1.Size of the candidate set for sampling during generation. For example, setting this to 50 means only the top 50 tokens by score form the sampling pool. Larger values increase randomness; smaller values increase determinism. If the value is None or greater than 100, top_k is disabled and only top_p takes effect.The value must be greater than or equal to 0.
In the Java SDK, the parameter is topK. When you make an HTTP call, set top_k in the parameters object.
stream boolean (Optional)Enable streaming output mode.Valid values:
  • false: Return complete response after generation.
  • true: Return response in chunks as generated. The client reconstructs the complete response from chunks.
qwen-mt-flash and qwen-mt-lite return data incrementally (each chunk contains only new content). qwen-mt-plus and qwen-mt-turbo return data non-incrementally (each chunk contains entire sequence to date). This behavior cannot be changed. Example:II didnI didn'tI didn't laughI didn't laugh after...
This parameter is supported only by the Python SDK. To implement streaming output with the Java SDK, call the streamCall interface. To implement streaming output with an HTTP call, set X-DashScope-SSE to enable in the header.
translation_options object (Required)Translation parameters.

Properties

source_lang string (Required)The full English name of the source language. For more information, see Supported languages. If you set this to auto, the model automatically detects the input language.target_lang string (Required)The full English name of the target language. For more information, see Supported languages.terms arrays (Optional)The array of terms to set when you use the Term intervention feature.
source string (Required)The term in the source language.target string (Required)The term in the target language.
tm_list arrays (Optional)The array of translation memories to set when you use the Translation memory feature.
source string (Required)The statement in the source language.target string (Required)The statement in the target language.
domains string (Optional)The domain prompt to set when you use the Domain prompting feature.
Domain prompts must be in English.
In the Java SDK, the parameter is translationOptions. When you make an HTTP call, place translation_options in the parameters object.

Chat response object (same for streaming and non-streaming output)

{
  "status_code": 200,
  "request_id": "9b4ec3b2-6d29-40a6-a08b-7e3c9a51c289",
  "code": "",
  "message": "",
  "output": {
    "text": null,
    "finish_reason": "stop",
    "choices": [
      {
        "finish_reason": "stop",
        "message": {
          "role": "assistant",
          "content": "I didn't laugh after watching this video."
        }
      }
    ],
    "model_name": "qwen-mt-plus"
  },
  "usage": {
    "input_tokens": 53,
    "output_tokens": 9,
    "total_tokens": 62
  }
}
status_code stringRequest status code. 200 indicates success; other values indicate failure.
The Java SDK does not return this parameter. If the call fails, an exception is thrown. The exception message contains the content of status_code and message.
request_id stringUnique request ID.
In the Java SDK, the returned parameter is requestId.
code stringError code. Empty on success.
Only the Python SDK returns this parameter.
output objectCall result.
text stringCurrently fixed to null.finish_reason stringReason why the model stopped generating content. Valid values:
  • The value is null during generation.
  • stop: The model stopped generating content naturally.
  • length: The generation stopped because the output length limit was reached.
choices arrayModel output.
finish_reason stringValid values:
  • The value is null during generation.
  • stop: The model stopped generating content naturally.
  • length: The generation stopped because the output length limit was reached.
message objectModel output message.
role stringOutput message role. Fixed to assistant.content stringTranslation result.
model_name stringModel used for this request.
usage objectToken usage for the request.
input_tokens integerNumber of input tokens.output_tokens integerNumber of output tokens.total_tokens integerTotal tokens, equal to input_tokens + output_tokens.

Error codes

If the call fails, see Error codes to resolve the issue.