Overview
The new multi-modal understanding and generation model trained based on Qwen2.5. It supports text, image, speech, video, and mixed input understanding and can simultaneously generate streams of text and speech, significantly improves the speed of multi-modal content understanding. It provides four natural tones.
Input
TextImageVideoAudio
Output
TextAudio
Features
Prefix Completion
Enable Partial Mode when calling the Qwen API to make the model continue strictly from your provided prefix text.View docsFunction Calling
Use function calling to connect large language models with external tools and systems.View docsCache
Context Cache stores shared prefixes for long-context requests to reduce repeated computation, improve latency, and lower cost.View docsStructured Outputs
Structured Outputs help ensure the model returns a JSON string in the expected format.View docsPricing
- Input: Text$0.1Per 1M tokens
- Input: Audio$6.76Per 1M tokens
- Input: Vision$0.28Per 1M tokens
- Output: Text (When input contains only text) $0.4Per 1M tokens
- Output: Text (When input contains images/audio/video)$0.84Per 1M tokens
- Output: Text&Audio (Output text is not charged)$13.51Per 1M tokens
Rate Limits & Context
- Max Input30K
- Max Output2K
- Context32K
API Reference
Call APICopy success!
12345678910111213141516171819202122232425
import os
from openai import OpenAI
client = OpenAI(
# The API keys for the Singapore and Beijing regions are different. To obtain an API key, see: https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://maas.qwencloudapi.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen2.5-omni-7b",
messages=[{"role": "user", "content": "Who are you"}],
# Set the modality for the output data. The following modalities are supported: ["text","audio"]、["text"]
modalities=["text", "audio"],
audio={"voice": "Ethan", "format": "wav"},
# The stream parameter must be set to True. Otherwise, an error is reported
stream=True,
stream_options={"include_usage": True},
)
for chunk in completion:
if chunk.choices:
print(chunk.choices[0].delta)
else:
print(chunk.usage)