Skip to main content
Pemahaman visual

Pemahaman gambar dan video

Model pemahaman visual dapat menjawab pertanyaan berdasarkan gambar atau video yang Anda berikan. Model ini mendukung input gambar tunggal maupun ganda, serta cocok untuk berbagai tugas seperti pembuatan keterangan gambar (image captioning), menjawab pertanyaan visual, dan pelokalan objek.

Coba secara online: Buka Konsol Alibaba Cloud Model Studio. Di pojok kanan atas halaman, pilih Wilayah tujuan. Lalu, buka halaman Vision Models untuk mencoba model-model tersebut.

Mulai

Prasyarat
  • Dapatkan Kunci API dan konfigurasikan sebagai Variabel lingkungan.
  • Untuk melakukan panggilan menggunakan SDK, instal SDK. SDK DashScope Python harus versi 1.24.6 atau lebih baru, dan SDK DashScope Java harus versi 2.21.10 atau lebih baru.
Contoh berikut menunjukkan cara memanggil model untuk menggambarkan konten gambar. Untuk informasi lebih lanjut tentang file lokal dan batasan gambar, lihat Mengirim file lokal dan Batasan gambar.
  • Kompatibel dengan OpenAI
  • DashScope
  • Python
  • Node.js
  • Java
  • curl
from openai import OpenAI
import os

client = OpenAI(
    # Kunci API bervariasi berdasarkan wilayah. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # URL berikut untuk wilayah Singapura. Saat melakukan panggilan, ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)

completion = client.chat.completions.create(
    model="qwen3.8-max",  # Contoh ini menggunakan qwen3.7-plus. Anda dapat menggantinya dengan model lain sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/model-studio/getting-started/models
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"
                    },
                },
                {"type": "text", "text": "Adegan apa yang digambarkan dalam gambar ini?"},
            ],
        },
    ],
)
print(completion.choices[0].message.content)

Tanggapan

Ini adalah foto yang diambil di pantai. Dalam foto tersebut, seseorang dan seekor anjing duduk di pasir dengan laut dan langit sebagai latar belakang. Orang dan anjing tersebut tampak berinteraksi, dengan cakar depan anjing berada di tangan orang tersebut. Sinar matahari bersinar dari sisi kanan bingkai, menambah suasana hangat pada adegan tersebut.

Kinerja model

Tanya Jawab Gambar

Jelaskan konten gambar atau klasifikasikan dan beri label, seperti mengidentifikasi orang, tempat, hewan, dan tumbuhan.

p1021359

Item apa dalam gambar ini yang harus saya gunakan jika matahari terlalu terang?

Jika matahari terlalu terang, Anda harus menggunakan kacamata hitam merah muda dalam gambar tersebut. Kacamata hitam dapat secara efektif menghalangi cahaya kuat, mengurangi kerusakan UV pada mata Anda, dan membantu melindungi penglihatan serta meningkatkan kenyamanan visual dalam sinar matahari yang terang.

Penulisan kreatif

Hasilkan deskripsi teks yang hidup berdasarkan konten gambar atau video, cocok untuk skenario kreatif seperti penulisan cerita, copywriting, dan skrip video pendek.

vl-Q&A

Tulis posting media sosial yang menarik berdasarkan konten gambar tersebut.

Tentu. Gambar ini dipenuhi suasana Festival Pertengahan Musim Gugur yang kaya, menggabungkan elemen klasik dan modern secara cerdas. Berdasarkan elemen utama dalam gambar, saya telah menyiapkan beberapa posting media sosial dalam gaya berbeda untuk Anda pilih.

Gaya puitis dan indah

Malam ini, bulan bersinar terang untuk semua orang, tetapi siapa yang tahu ke mana pikiran musim gugur akan jatuh? Chang'e terbang ke bulan, dan Kelinci Giok menumbuk obat. Romantisme para leluhur dinyalakan malam ini. Semoga bulan yang terang ini menerangi jalan pulang Anda dan membawa pikiran terdalam saya. Selamat Hari Raya Pertengahan Musim Gugur!

Gaya harapan hangat

Bulan penuh, dan orang-orang berkumpul kembali. Malam Pertengahan Musim Gugur adalah yang paling lembut. Saksikan kembang api mekar, kagumi bulan penuh di langit, ambil sepotong kue bulan, dan berharap untuk kesehatan yang baik. Semoga semua yang Anda dan saya inginkan menjadi kenyataan. Selamat Hari Raya Pertengahan Musim Gugur untuk semua orang, dan semoga keluarga Anda bahagia!

Pengenalan teks dan ekstraksi informasi

Kenali teks dan rumus dalam gambar, atau ekstrak informasi dari kwitansi, sertifikat, dan formulir. Mendukung output teks terformat.

-q2cdz6jy89b6m3kp

Ekstrak hal berikut dari gambar: ['Kode Faktur', 'Nomor Faktur', 'Tujuan', 'Biaya Bahan Bakar', 'Tarif', 'Tanggal', 'Waktu Keberangkatan', 'Nomor Kereta', 'Nomor Kursi']. Harap output dalam format JSON.

{

"Kode Faktur": "221021325353",

"Nomor Faktur": "10283819",

"Tujuan": "Zona Pengembangan",

"Biaya Bahan Bakar": "2,0",

"Tarif": "8,00<Full>",

"Tanggal": "2013-06-29",

"Waktu Keberangkatan": "Rolling",

"Nomor Kereta": "040",

"Nomor Kursi": "371"

}

Pemecahan masalah multidisiplin

Selesaikan masalah matematika, fisika, kimia, dan lainnya dalam gambar. Cocok untuk pendidikan SD-SMA, perguruan tinggi, dan dewasa.

-5jwcstcvmdpqghaj

Selesaikan soal matematika dalam grafik langkah demi langkah.

-answer

Pemrograman visual

Hasilkan kode dari gambar atau video. Anda dapat menggunakan fitur ini untuk menghasilkan kode HTML, CSS, dan JS dari rancangan desain, tangkapan layar situs web, dan lainnya.

code

Buat halaman web menggunakan HTML dan CSS berdasarkan sketsa saya. Warna utamanya harus hitam.

code-preview

Pratinjau halaman web

Pelokalan objek

Mendukung pelokalan 2D dan 3D. Anda dapat menggunakan fitur ini untuk menentukan orientasi objek, perubahan perspektif, dan hubungan oklusi. Pelokalan 3D adalah kemampuan baru yang ditambahkan ke model Qwen3-VL.
Kinerja pelokalan objek model Qwen2.5-VL kuat dalam rentang resolusi 480 × 480 hingga 2560 × 2560. Di luar rentang ini, akurasi deteksi dapat menurun, dengan kadang-kadang terjadi deviasi bingkai deteksi.
Untuk informasi tentang cara menggambar hasil pelokalan pada gambar asli, lihat FAQ.
Pelokalan 2D
-530xdcos1lqkcfuy
  • Kembalikan koordinat Kotak pembatas (bounding box): Deteksi semua item makanan dalam gambar dan output koordinat bbox-nya dalam format JSON.
  • Kembalikan koordinat Titik (centroid): Lokalisasi semua item makanan dalam gambar sebagai titik dan output koordinat titiknya dalam format XML.
Visualisasi hasil pelokalan 2D
-mu9podu1eyvph1zd
3d
Deteksi mobil dalam gambar dan prediksi posisi 3D-nya. Output JSON: [{"bbox_3d": [x_center, y_center, z_center, x_size, y_size, z_size, roll, pitch, yaw], "label": "kategori"}].
3d-result

Penguraian dokumen

Uraikan dokumen berbasis gambar (seperti salinan hasil pindaian atau PDF gambar) ke dalam format HTML QwenVL atau Markdown QwenVL. Format ini tidak hanya mengenali teks secara akurat tetapi juga mendapatkan informasi posisi elemen seperti gambar dan tabel. Model Qwen3-VL menambahkan kemampuan untuk menguraikan ke dalam format Markdown.
Prompt yang direkomendasikan adalah sebagai berikut: qwenvl html (untuk menguraikan ke format HTML) atau qwenvl markdown (untuk menguraikan ke format Markdown).

image

qwenvl markdown.

-result

Visualisasi hasil

Pemahaman video

Analisis konten video, seperti melokalisasi kejadian spesifik dan mendapatkan stempel waktu, atau menghasilkan ringkasan periode waktu kunci.
Harap jelaskan rangkaian tindakan orang dalam video tersebut. Output Waktu mulai (start_time), Waktu selesai (end_time), dan event (event) dalam format JSON. Gunakan HH:mm:ss untuk stempel waktu.{"events": [{"start_time": "00:00:00","end_time": "00:00:05","event": "Orang tersebut berjalan menuju meja sambil memegang kotak kardus dan meletakkannya di atas meja."},{"start_time": "00:00:05","end_time": "00:00:15","event": "Orang tersebut mengambil pemindai dan memindai label pada kotak kardus tersebut."},{"start_time": "00:00:15","end_time": "00:00:21","event": "Orang tersebut meletakkan kembali pemindai ke tempatnya dan kemudian mengambil pena untuk mencatat informasi dalam buku catatan."}]}

Fitur inti

Aktifkan atau nonaktifkan mode berpikir

  • Model seri qwen3.8, qwen3.7, qwen3.6, qwen3.5, qwen3-vl-plus, dan qwen3-vl-flash adalah model berpikir hibrid. Model ini dapat berpikir sebelum merespons atau merespons langsung. Gunakan parameter enable_thinking untuk mengontrol apakah akan mengaktifkan mode berpikir:
    • true: Mengaktifkan mode berpikir. Nilai default untuk model seri qwen3.8, qwen3.7, qwen3.6, dan qwen3.5 adalah true.
    • false: Menonaktifkan mode berpikir. Nilai default untuk model seri qwen3-vl-plus dan qwen3-vl-flash adalah false.
  • Model dengan akhiran thinking, seperti qwen3-vl-235b-a22b-thinking, adalah model berpikir saja. Model ini selalu berpikir sebelum merespons, dan fitur ini tidak dapat dinonaktifkan.
  • Konfigurasi model: Dalam skenario percakapan umum yang tidak melibatkan panggilan alat Agent, jangan atur System Message untuk menjaga kinerja optimal. Anda dapat memberikan instruksi seperti pengaturan peran model dan persyaratan format output melalui User Message.
  • Utamakan keluaran streaming: Saat mode berpikir diaktifkan, keluaran streaming dan non-streaming didukung. Untuk menghindari timeout yang disebabkan oleh respons yang terlalu panjang, utamakan penggunaan keluaran streaming.
  • Batasi panjang proses berpikir: Model berpikir mendalam terkadang menghasilkan proses penalaran yang panjang. Anda dapat menggunakan parameter thinking_budget untuk membatasi panjang proses berpikir. Jika jumlah token yang dihasilkan selama proses berpikir model melebihi thinking_budget, konten inferensi dipotong, dan model segera mulai menghasilkan respons akhir. Nilai default thinking_budget adalah panjang maksimum rantai-pikiran model. Untuk informasi lebih lanjut, lihat daftar model.
  • Kompatibel dengan OpenAI
  • DashScope
Parameter enable_thinking bukan parameter standar OpenAI. Jika Anda menggunakan SDK Python OpenAI, lewatkan melalui extra_body.
import os
from openai import OpenAI

client = OpenAI(
    # Kunci API bervariasi menurut wilayah. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # URL berikut adalah untuk wilayah Singapura. Saat Anda melakukan panggilan, ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi menurut wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)

reasoning_content = ""  # Definisikan proses berpikir yang lengkap
answer_content = ""     # Definisikan tanggapan yang lengkap
is_answering = False   # Tentukan apakah akan mengakhiri proses berpikir dan mulai memberikan tanggapan
enable_thinking = True
# Buat permintaan penyelesaian obrolan
completion = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"
                    },
                },
                {"type": "text", "text": "How do I solve this problem?"},
            ],
        },
    ],
    stream=True,
    # Parameter enable_thinking mengaktifkan proses berpikir, dan parameter thinking_budget menetapkan jumlah token maksimum untuk proses inferensi.
    # Gunakan parameter enable_thinking untuk beralih mode berpikir.
    extra_body={
        'enable_thinking': enable_thinking,
        "thinking_budget": 81920},

    # Hapus tanda komentar pada baris berikut untuk mengembalikan penggunaan token di chunk terakhir.
    # stream_options={
    #     "include_usage": True
    # }
)

if enable_thinking:
    print("\n" + "=" * 20 + "Thinking process" + "=" * 20 + "\n")

for chunk in completion:
    # Jika chunk.choices kosong, cetak penggunaannya.
    if not chunk.choices:
        print("\nUsage:")
        print(chunk.usage)
    else:
        delta = chunk.choices[0].delta
        # Cetak proses berpikir.
        if hasattr(delta, 'reasoning_content') and delta.reasoning_content is not None:
            print(delta.reasoning_content, end='', flush=True)
            reasoning_content += delta.reasoning_content
        else:
            # Mulai memberikan tanggapan.
            if delta.content != "" and is_answering is False:
                print("\n" + "=" * 20 + "Complete response" + "=" * 20 + "\n")
                is_answering = True
            # Cetak proses tanggapan.
            print(delta.content, end='', flush=True)
            answer_content += delta.content

# print("=" * 20 + "Complete thinking process" + "=" * 20 + "\n")
# print(reasoning_content)
# print("=" * 20 + "Complete response" + "=" * 20 + "\n")
# print(answer_content)

Input beberapa gambar

Model pemahaman visual mendukung pengiriman beberapa gambar dalam satu permintaan, yang dapat digunakan untuk tugas-tugas seperti perbandingan Produk dan pemrosesan dokumen multi-halaman. Untuk melakukannya, cukup sertakan beberapa objek gambar di dalam array content dari user message.
Jumlah gambar dibatasi oleh batas token total model untuk gambar dan teks. Jumlah token total untuk semua gambar dan teks tidak boleh melebihi input maksimum model.
  • Kompatibel dengan OpenAI
  • DashScope
  • Python
  • Node.js
  • curl
import os
from openai import OpenAI

client = OpenAI(
    // Kunci API bervariasi berdasarkan wilayah. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    // URL berikut untuk wilayah Singapura. Saat melakukan panggilan, ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    model="qwen3.8-max",  //  Contoh ini menggunakan qwen3.7-plus. Anda dapat menggantinya dengan model lain sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/model-studio/getting-started/models
    messages=[
        {"role": "user","content": [
            {"type": "image_url","image_url": {"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241022/emyrja/dog_and_girl.jpeg"},},
            {"type": "image_url","image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"},},
            {"type": "text", "text": "Konten apa yang digambarkan oleh gambar-gambar ini?"},
            ],
        }
    ],
)

print(completion.choices[0].message.content)

Tanggapan

Gambar 1 menunjukkan adegan seorang wanita dan seekor anjing Labrador retriever berinteraksi di pantai. Wanita tersebut mengenakan kemeja kotak-kotak dan duduk di pasir, berjabat tangan dengan anjing tersebut. Latar belakangnya adalah ombak laut dan langit, dan seluruh gambar dipenuhi kehangatan dan kegembiraan.

Gambar 2 menunjukkan adegan seekor harimau berjalan di hutan. Bulu harimau tersebut berwarna oranye dengan garis-garis hitam. Harimau tersebut melangkah maju, dikelilingi pepohonan dan vegetasi yang lebat, dan tanahnya ditutupi daun-daun yang jatuh. Seluruh gambar memberikan perasaan alam liar.

Pemahaman video

Model pemahaman visual dapat memahami konten video yang disediakan sebagai daftar gambar (frame video) atau file video. Contoh berikut menunjukkan cara memahami video online atau daftar gambar yang ditentukan oleh URL. Untuk informasi lebih lanjut tentang batasan video atau jumlah gambar yang dapat dikirim dalam daftar gambar, lihat Batasan video.
Untuk kinerja yang lebih baik saat memahami file video, gunakan versi snapshot terbaru atau terkini dari model.
  • File video
  • Daftar gambar
Model pemahaman visual menganalisis konten video dengan mengekstraksi urutan frame dari video tersebut. Anda dapat mengontrol strategi ekstraksi frame dengan dua parameter berikut:
  • fps: Mengontrol frekuensi ekstraksi frame. Satu frame diekstraksi setiap 1/fps detik. Rentang nilai adalah [0,1, 10], dan nilai default adalah 2,0.
    • Untuk adegan dengan gerakan cepat, atur nilai fps lebih tinggi untuk menangkap lebih banyak detail.
    • Untuk adegan statis atau video panjang, atur nilai fps lebih rendah untuk meningkatkan kinerja.
  • max_frames: Jumlah maksimum frame yang diekstraksi dari video. Sistem menghitung total frame berdasarkan fps video. Jika jumlah total frame melebihi batas ini, sistem secara otomatis mengambil sampel frame secara merata untuk memenuhi batas tersebut. Parameter ini hanya tersedia saat menggunakan SDK DashScope.
  • Kompatibel dengan OpenAI
  • DashScope
Saat Anda mengirim file video langsung ke model pemahaman visual menggunakan SDK OpenAI atau HTTP, atur parameter "type" dalam pesan pengguna ke "video_url".
Python
import os
from openai import OpenAI

client = OpenAI(
    # Kunci API bervariasi menurut wilayah. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # URL berikut adalah untuk wilayah Singapura. Saat Anda melakukan panggilan, ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi menurut wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[
        {
            "role": "user",
            "content": [
                # Saat Anda meneruskan file video secara langsung, atur nilai tipe ke video_url.
                {
                    "type": "video_url",
                    "video_url": {
                        "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241115/cqqkru/1.mp4"
                    },
                    "fps": 2
                },
                {
                    "type": "text",
                    "text": "What is the content of this video?"
                }
            ]
        }
    ]
)

print(completion.choices[0].message.content)

Kirim file lokal (encoding Base64 atau jalur file)

Model pemahaman visual mendukung dua metode untuk mengunggah file lokal: encoding Base64 dan pengunggahan jalur file langsung. Anda dapat memilih metode unggah berdasarkan ukuran file dan jenis SDK. Untuk rekomendasi, lihat Cara memilih metode unggah file. Kedua metode harus memenuhi persyaratan file yang dijelaskan dalam Batasan gambar.
  • Unggah menggunakan encoding Base64
  • Unggah menggunakan jalur file
Konversi file ke string yang diencode Base64, lalu kirimkan ke model. Metode ini berlaku untuk SDK OpenAI dan DashScope, serta permintaan HTTP.
  1. Encode file: Konversi gambar lokal ke encoding Base64.
    # Fungsi encoding: Mengonversi file lokal ke string yang diencode Base64
    import base64
    def encode_image(image_path):
        with open(image_path, "rb") as image_file:
            return base64.b64encode(image_file.read()).decode("utf-8")
    
    # Ganti xxx/eagle.png dengan jalur mutlak gambar lokal Anda
    base64_image = encode_image("xxx/eagle.png")
    
  2. Buat URL Data dalam format berikut: data:[MIME_type];base64,{base64_image}.
    1. Ganti MIME_type dengan jenis media aktual. Pastikan sesuai dengan nilai MIME Type dalam tabel Format gambar yang didukung, seperti image/jpeg atau image/png.
    2. base64_image adalah string Base64 yang dihasilkan pada langkah sebelumnya.
  3. Panggil model: Kirimkan URL Data menggunakan parameter image atau image_url.
  • Gambar
  • File video
  • Daftar gambar
  • Melewatkan melalui jalur file
  • Input yang diencode Base64
Python
import os
import dashscope

# URL berikut untuk wilayah Singapura. Saat memanggil API, ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi menurut wilayah.
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

# Ganti xxx/eagle.png dengan jalur mutlak gambar lokal Anda
local_path = "xxx/eagle.png"
image_path = f"file://{local_path}"
messages = [
                {'role':'user',
                'content': [{'image': image_path},
                            {'text': 'What scene is depicted in the image?'}]}]
response = dashscope.MultiModalConversation.call(
    # Kunci API bervariasi menurut wilayah. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx"
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model='qwen3.7-plus',  # Contoh ini menggunakan qwen3.7-plus. Anda dapat mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/model-studio/getting-started/models
    messages=messages)
print(response.output.choices[0].message.content[0]["text"])

Proses gambar beresolusi tinggi

API model pemahaman visual memiliki batas jumlah token visual untuk satu gambar yang dikodekan. Dengan konfigurasi default, gambar beresolusi tinggi dikompresi, yang dapat menyebabkan hilangnya detail dan memengaruhi akurasi pemahaman. Aktifkan vl_high_resolution_images atau sesuaikan max_pixels untuk meningkatkan jumlah token visual. Hal ini mempertahankan lebih banyak detail gambar dan meningkatkan pemahaman.
Jika jumlah piksel gambar input melebihi batas piksel model, gambar tersebut akan di-downscale agar sesuai dalam batas tersebut.

Model

Piksel per token

vl_high_resolution_images

max_pixels

Batas token

Batas piksel

Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, dan model seri Qwen3-VL

32×32

true

max_pixels tidak valid

16.384 token

16.777.216 (yaitu, 16.384 × 32 × 32)

false (default)

Dapat dikustomisasi. Nilai default-nya adalah 2.621.440 dan nilai maksimumnya adalah 16.777.216.

Ditentukan oleh max_pixels, yaitu max_pixels / 32 / 32

max_pixels

qwen-vl-max, qwen-vl-plus

32 x 32

true

max_pixels tidak valid

16.384 token

16.777.216 (yaitu, 16.384 × 32 × 32)

false (default)

Dapat dikustomisasi. Nilai default-nya adalah 1.310.720 dan nilai maksimumnya adalah 16.777.216.

Ditentukan oleh max_pixels, yaitu max_pixels / 32 / 32

max_pixels

Model lain dari qwen-vl-max, model lain dari qwen-vl-plus, model seri open source Qwen2.5-VL, dan model seri QVQ

28 × 28

true

max_pixels tidak valid

16.384 token

12.845.056 (yaitu, 16.384 × 28 × 28)

false (default)

Dapat dikustomisasi. Nilai default-nya adalah 1.003.520 dan nilai maksimumnya adalah 12.845.056.

Ditentukan oleh max_pixels, yaitu max_pixels / 28 / 28

max_pixels

  • Saat vl_high_resolution_images=true, API menggunakan kebijakan resolusi tetap dan mengabaikan pengaturan max_pixels. Ini cocok untuk mengenali teks halus, objek kecil, atau detail kaya dalam gambar.
  • Saat vl_high_resolution_images=false, batas piksel akhir bergantung pada nilai parameter max_pixels.
    • Untuk skenario yang sensitif terhadap biaya dan Anda ingin mengurangi konsumsi token visual: Gunakan nilai default max_pixels atau atur ke nilai yang lebih kecil. max_pixels terutama memengaruhi jumlah token visual dan biaya pemanggilan. Dalam pengujian kami, menurunkannya tidak berdampak signifikan terhadap waktu respons end-to-end. Untuk mengurangi latensi, lihat Kecepatan respons dan pemilihan model.
    • Jika Anda ingin fokus pada detail tertentu dan dapat menerima kecepatan pemrosesan yang lebih rendah, tingkatkan nilai max_pixels sesuai kebutuhan.

Kecepatan respons dan pemilihan model

Dalam skenario yang sensitif terhadap latensi, waktu respons terutama ditentukan oleh model yang Anda pilih, bukan oleh max_pixels. Tabel berikut membandingkan waktu respons qwen-vl-max dan qwen-vl-plus dalam kondisi input yang sama:

Model

Rata-rata waktu respons

Karakteristik

qwen-vl-max

Sekitar 12 detik

Pengenalan akurasi tinggi. Cocok untuk gambar dengan detail kaya dan toleransi kesalahan rendah.

qwen-vl-plus

Sekitar 8 detik

Kecepatan dan akurasi seimbang. Sekitar 39% lebih cepat daripada qwen-vl-max.

Waktu respons di atas merupakan nilai referensi hasil pengukuran untuk satu gambar berukuran 2480x3508 piksel (qwen-vl-max: 12,75 detik dan 11,84 detik, rata-rata 12,29 detik; qwen-vl-plus: 8,29 detik dan 6,75 detik, rata-rata 7,52 detik). Latensi aktual bervariasi tergantung ukuran gambar, panjang output, dan kondisi jaringan. Nilai-nilai ini hanya sebagai referensi dan bukan komitmen kinerja.
  • Mengaktifkan keluaran streaming (stream=True) secara signifikan mengurangi waktu hingga token pertama: untuk permintaan yang sama, token pertama dikembalikan dalam waktu sekitar 0,95 detik, sedangkan waktu total respons lengkap tetap tidak berubah. Ini cocok untuk skenario interaktif yang perlu menampilkan umpan balik sedini mungkin.
  • Untuk skenario pengenalan gambar yang sensitif terhadap latensi seperti alur kerja: Gunakan qwen-vl-plus dengan stream=True untuk mendapatkan token pertama dalam waktu sekitar 1 detik. Beralihlah ke qwen-vl-max hanya jika akurasi pengenalan qwen-vl-plus tidak memenuhi kebutuhan Anda. Menyesuaikan max_pixels bukan cara untuk meningkatkan kecepatan.
  • Kompatibel dengan OpenAI
  • DashScope
vl_high_resolution_images bukan parameter standar OpenAI. Cara meneruskannya berbeda-beda di berbagai SDK bahasa:
  • Python SDK: Harus diteruskan melalui kamus extra_body.
  • Node.js SDK: Dapat diteruskan langsung sebagai parameter tingkat atas.
Python
import os
import time
from openai import OpenAI

client = OpenAI(
    # Kunci API bervariasi berdasarkan wilayah. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # URL berikut untuk wilayah Singapura. Saat memanggil API, ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[
        {"role": "user","content": [
            {"type": "image_url","image_url": {"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250212/earbrt/vcg_VCG211286867973_RF.jpg"},
            # max_pixels merepresentasikan ambang batas piksel maksimum untuk gambar input. Tidak valid saat vl_high_resolution_images=True. Saat vl_high_resolution_images=False, nilainya dapat dikustomisasi, dan nilai maksimumnya bervariasi berdasarkan model.
            # "max_pixels": 16384 * 32 * 32
            },
           {"type": "text", "text": "Suasana festival apa yang disampaikan oleh gambar ini"},
            ],
        }
    ],
    extra_body={"vl_high_resolution_images":True}

)
print(f"Output model: {completion.choices[0].message.content}")
print(f"Total token input: {completion.usage.prompt_tokens}")

Penggunaan lainnya

Batasan

Batasan file input

  • Batasan gambar
  • Batasan video
  • Resolusi gambar:
    • Ukuran minimum: Lebar dan tinggi gambar harus masing-masing lebih besar dari 10 piksel.
    • Rasio aspek: Rasio sisi panjang terhadap sisi pendek, baik untuk gambar asli maupun gambar yang telah diubah ukurannya, tidak boleh melebihi 200:1.
      Untuk informasi mengenai logika pengubahan ukuran gambar, lihat fungsi smart_resize dalam Menghitung token gambar
    • Piksel maksimum:
      • Pertahankan resolusi gambar dalam batas 8K (7680x4320). Gambar dengan resolusi lebih tinggi dapat menyebabkan timeout panggilan API karena ukuran file yang besar dan waktu transmisi jaringan yang lama.
      • Pengubahan ukuran otomatis: Model dapat menyesuaikan ukuran gambar menggunakan parameter max_pixels dan min_pixels. Memberikan gambar beresolusi tinggi tidak meningkatkan akurasi deteksi. Sebaliknya, hal ini meningkatkan risiko kegagalan panggilan. Ubah ukuran gambar ke ukuran yang wajar di sisi client sebelum mengunggah.
  • Format gambar yang didukung
    • Untuk resolusi di bawah 4K (3840x2160), format gambar berikut didukung:

      Format gambar

      Ekstensi umum

      Jenis MIME

      BMP

      .bmp

      image/bmp

      JPEG

      .jpe, .jpeg, .jpg

      image/jpeg

      PNG

      .png

      image/png

      TIFF

      .tif, .tiff

      image/tiff

      WEBP

      .webp

      image/webp

      HEIC

      .heic

      image/heic

    • Untuk resolusi antara 4K (3840x2160) dan 8K (7680x4320), hanya format JPEG, JPG, dan PNG yang didukung.
  • Ukuran gambar: Batasan berikut berlaku untuk setiap gambar individual. Untuk input multi-gambar, setiap gambar dievaluasi secara independen dan ukurannya tidak diakumulasi.
    • Jika dikirim sebagai URL publik: Satu gambar tidak boleh melebihi 20 MB untuk model seri Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, dan Qwen3-VL. Untuk model lainnya, satu gambar tidak boleh melebihi 10 MB.
    • Jika dikirim sebagai path lokal: Satu gambar tidak boleh melebihi 10 MB.
    • Jika dikirim sebagai encoding Base64 (API kompatibel OpenAI): Untuk model seri Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, dan Qwen3-VL, file gambar asli sebelum encoding tidak boleh melebihi 20 MB. Untuk model lainnya, tidak boleh melebihi 10 MB. Dalam kedua kasus tersebut, string Data URI hasil encoding tidak boleh melebihi 20 MB.
    • Jika dikirim sebagai encoding Base64 (API kompatibel Anthropic): Total badan permintaan tidak boleh melebihi6 MB. Jika mengirimkan beberapa gambar, kuota ini dibagi bersama.
    Batasan ini bergantung pada model yang Anda gunakan. Batasan tersebut tidak dapat ditingkatkan dengan membeli paket tier lebih tinggi atau melakukan upgrade versi model.
    Untuk mengompresi file, lihat Cara mengompresi gambar atau video ke ukuran yang diperlukan.
  • Batasan jumlah gambar: Jumlah maksimum gambar yang didukung untuk input multi-gambar bervariasi berdasarkan metode input:
    • Jika dikirim sebagai URL publik atau path lokal:
      • Seri Qwen3.8-Max, Qwen3.8-Flash, Qwen3.7-Plus: Hingga 2.048 gambar
      • Seri Qwen3.7-Flash, Qwen3.6-Plus, Qwen3.6-Flash, Qwen3.5-Plus, Qwen3.5-Flash, Qwen3-VL, Qwen-VL, seri QVQ: Hingga 256 gambar
      • Untuk seri Qwen-Omni, lihat Omni-modal.
    • Jika dikirim sebagai string terenkripsi Base64: Hingga 250 gambar
Jumlah total token untuk semua gambar juga dibatasi oleh batas maksimum token input model. Total jumlah token untuk semua gambar dan teks tidak boleh melebihi batas maksimum input model.

Metode input file

  • URL publik: Berikan alamat file yang dapat diakses publik dan mendukung protokol HTTP atau HTTPS. Untuk stabilitas dan performa optimal, unggah file ke OSS guna memperoleh URL publik. Model Studio tidak dapat mengakses titik akhir internal OSS, yang alamatnya mengandung -internal, seperti https://<bucket>.oss-cn-hangzhou-internal.aliyuncs.com/image.jpg. Jika Anda memberikan alamat internal, unduhan file akan gagal dan kode error InvalidParameter akan dikembalikan dengan pesan Failed to download multimodal content. Gunakan titik akhir publik OSS, seperti https://<bucket>.oss-cn-hangzhou.aliyuncs.com/image.jpg, atau URL OSS yang telah ditandatangani (presigned).
    Untuk memastikan model dapat mengunduh file dengan sukses, header respons dari URL publik harus mencantumkan Content-Length (ukuran file) dan Content-Type (jenis media, seperti image/jpeg). Jika salah satu bidang tersebut tidak ada atau salah, unduhan file akan gagal.
  • Encoding Base64: Konversi file menjadi string terenkripsi Base64, lalu kirimkan.
  • Path file lokal (hanya untuk SDK DashScope): Kirimkan path file lokal.
Untuk rekomendasi cara memilih metode input file, lihat Bagaimana cara memilih metode unggah file?

Menggunakan di lingkungan produksi

  • Pra-pemrosesan gambar dan video: Model pemahaman visual memiliki batas ukuran untuk file input. Untuk mengompresi file, lihat Metode kompresi gambar atau video.
  • Pemrosesan file teks: Model pemahaman visual hanya mendukung file gambar dan video. Model ini tidak mendukung pemrosesan file berbasis teks seperti TXT, Word (.doc/.docx), PDF, atau format lainnya. Gunakan salah satu solusi berikut:
    • Konversi file teks ke format gambar. Gunakan pustaka pemrosesan gambar, seperti pdf2image untuk Python, untuk mengonversi file tersebut per halaman menjadi beberapa gambar berkualitas tinggi. Kemudian, kirimkan gambar-gambar tersebut ke model menggunakan metode input multi-gambar.
    • Gunakan Qwen-Long, yang mendukung pengunggahan dokumen dan melakukan percakapan dengan meneruskan informasi melalui file-id.
  • Toleransi kesalahan dan stabilitas
    • Penanganan timeout: Pada panggilan non-streaming, terjadi error timeout jika model tidak selesai menghasilkan output dalam waktu 300 detik. Saat timeout terjadi, konten yang telah dihasilkan dikembalikan dalam badan respons. Header respons yang berisi x-dashscope-partialresponse: true menunjukkan bahwa respons mengalami timeout. Gunakan fitur mode sebagian, yang didukung oleh beberapa model. Tambahkan konten yang telah dihasilkan ke dalam array messages dan kirim ulang permintaan tersebut. Hal ini memungkinkan Large Language Model (LLM) melanjutkan proses generasi konten. Untuk informasi lebih lanjut, lihat Lanjutkan generasi dari output yang belum lengkap.
    • Konfigurasi timeout sisi client: Timeout yang disebutkan sebelumnya adalah timeout sisi server yang terjadi ketika model tidak selesai menghasilkan output dalam waktu 300 detik. Ini berbeda dari timeout sisi client bawaan SDK. Saat Anda memproses gambar berukuran besar, seperti gambar beresolusi 4000 x 4000 piksel, permintaan mungkin memerlukan waktu lebih lama daripada timeout sisi client bawaan SDK dan terputus dengan error APITimeoutError, meskipun batas 300 detik sisi server belum tercapai. Untuk menghindarinya, gunakan with_options pada OpenAI Python SDK untuk memperpanjang timeout sisi client:
client = client.with_options(timeout=1800.0)
response = client.chat.completions.create(
    model="qwen-vl-plus",
    messages=[...]
)
  • Output streaming: Atur stream=True agar model mengembalikan konten secara bertahap, bukan menunggu respons lengkap sekaligus. Hal ini mencegah terjadinya timeout sisi client akibat panggilan non-streaming berdurasi panjang saat memproses gambar besar:
stream = client.chat.completions.create(
    model="qwen-vl-plus",
    messages=[...],
    stream=True
)
for chunk in stream:
    print(chunk.choices[0].delta.content)
  • Mekanisme retry: Rancang logika retry panggilan API yang masuk akal, seperti exponential backoff, untuk menangani fluktuasi jaringan atau ketidaktersediaan layanan sementara.

Penagihan dan pembatasan laju

  • Penagihan:Total biaya dihitung berdasarkan jumlah total token input dan output. Harga token input dan output tersedia di Konsol Model Studio.
    • Komposisi token:Token input terdiri dari token teks dan token yang dikonversi dari gambar atau video. Token output adalah teks yang dihasilkan oleh model. Dalam mode thinking, proses berpikir model juga dihitung sebagai token output. Jika proses berpikir tidak ditampilkan dalam mode thinking, penagihan mengikuti harga untuk mode non-thinking.
    • Hitung token untuk gambar dan video:Gunakan kode berikut untuk menghitung konsumsi token gambar atau video. Hasil perkiraan hanya untuk referensi. Penggunaan aktual didasarkan pada respons API.
      • Gambar
      • Video
      Rumus: Image Tokens = h_bar * w_bar / token_pixels + 2
      • h_bar, w_bar: Tinggi dan lebar gambar yang telah diskalakan. Sebelum memproses gambar, model melakukan pra-pemrosesan untuk mengecilkan ukurannya hingga batas piksel tertentu. Batas ini bergantung pada nilai parameter max_pixels dan vl_high_resolution_images. Untuk informasi lebih lanjut, lihat Process high-resolution images.
      • token_pixels: Nilai piksel yang sesuai dengan setiap token visual. Nilai ini bervariasi tergantung model:
        • qwen3.8-series,qwen3.7-series, qwen3.6-series, qwen3.5-series, Qwen3-VL, qwen-vl-max, dan qwen-vl-plus:Setiap token sesuai dengan 32x32 piksel.
        • QVQ dan model Qwen2.5-VL lainnya:Setiap token sesuai dengan 28x28 piksel.
      Kode berikut menunjukkan logika penskalaan gambar perkiraan yang digunakan oleh model. Gunakan kode ini untuk memperkirakan token gambar. Untuk penagihan aktual, rujuk respons API.
      import math
      from PIL import Image  # pip install Pillow
      
      def smart_resize(image_path, max_pixels, vl_high_resolution_images):
          """Menghitung dimensi gambar yang diskalakan berdasarkan parameter model untuk memperkirakan token gambar."""
          image = Image.open(image_path)
          height, width = image.height, image.width
      
          # Faktor penskalaan adalah 32 untuk model seperti Qwen3.6, Qwen3.5, dan Qwen3-VL. Untuk model lain, nilainya 28.
          factor = 32
          h_bar = round(height / factor) * factor
          w_bar = round(width / factor) * factor
      
          # Batas bawah token: 4 token
          min_pixels = 4 * factor * factor
      
          # Jika vl_high_resolution_images=True, batas atas token tetap pada 16384, dan max_pixels diabaikan.
          if vl_high_resolution_images:
              max_pixels = 16384 * factor * factor
      
          # Membatasi jumlah total piksel ke rentang [min_pixels, max_pixels].
          if h_bar * w_bar > max_pixels:
              beta = math.sqrt((height * width) / max_pixels)
              h_bar = math.floor(height / beta / factor) * factor
              w_bar = math.floor(width / beta / factor) * factor
          elif h_bar * w_bar < min_pixels:
              beta = math.sqrt(min_pixels / (height * width))
              h_bar = math.ceil(height * beta / factor) * factor
              w_bar = math.ceil(width * beta / factor) * factor
      
          return h_bar, w_bar
      
      if __name__ == "__main__":
          # Catatan: Nilai max_pixels dan vl_high_resolution_images harus sesuai dengan parameter yang diberikan saat memanggil model.
          h_bar, w_bar = smart_resize("xxx/test.jpg", max_pixels=2560 * 32 * 32, vl_high_resolution_images=False)
          print(f"Dimensi gambar yang diskalakan: Tinggi {h_bar}, Lebar {w_bar}")
      
          # Setiap gambar mencakup satu token <vision_bos> dan satu token <vision_eos>.
          token = int(h_bar * w_bar / (32 * 32)) + 2
          print(f"Jumlah token gambar: {token}")
      
  • Lihat tagihan:Lihat tagihan atau isi ulang akun Anda di halaman Biaya dan Pengeluaran di Konsol Manajemen Alibaba Cloud.
  • Pembatasan laju:Untuk informasi lebih lanjut tentang kondisi pembatasan laju untuk model pemahaman visual, lihat Pembatasan laju.
  • Kuota gratis(Hanya wilayah Singapura): Kuota gratis sebesar 1 juta token disediakan untuk model pemahaman visual. Periode validitas 90 hari dimulai sejak tanggal Anda mengaktifkan Model Studio atau permintaan model Anda disetujui.

Referensi API

Untuk informasi lebih lanjut mengenai parameter input dan output model pemahaman visual, lihat generasi teks.

FAQ

Pilih metode unggah yang paling sesuai berdasarkan jenis SDK, ukuran file, dan stabilitas jaringan.

Jenis file

Spesifikasi file

DashScope SDK (Python, Java)

Kompatibel dengan OpenAI / DashScope HTTP

Image

Lebih dari 7 MB dan kurang dari 10 MB

Gunakan path lokal

Hanya URL jaringan publik yang didukung. Gunakan Alibaba Cloud Object Storage Service

Kurang dari 7 MB

Gunakan path lokal

Base64 encoding

Video

Lebih dari 100 MB

Hanya URL jaringan publik yang didukung. Gunakan Alibaba Cloud Object Storage Service

Hanya URL jaringan publik yang didukung. Gunakan Alibaba Cloud Object Storage Service

Lebih dari 7 MB dan kurang dari 100 MB

Gunakan path lokal

Hanya URL jaringan publik yang didukung. Gunakan Alibaba Cloud Object Storage Service

Kurang dari 7 MB

Gunakan path lokal

Base64 encoding

Base64 encoding meningkatkan ukuran data. Ukuran file asli harus kurang dari 7 MB.
Gunakan Base64 atau path lokal untuk menghindari timeout unduhan di sisi server dan meningkatkan stabilitas.
Model pemahaman visual memiliki batas ukuran untuk file input. Gunakan metode berikut untuk memampatkan file Anda.
  • Alat online: Gunakan alat online seperti CompressJPEG untuk memampatkan gambar.
  • Perangkat lunak lokal: Gunakan perangkat lunak seperti Photoshop untuk menyesuaikan kualitas saat mengekspor.
  • Implementasi kode:
# pip install pillow

from PIL import Image
def compress_image(input_path, output_path, quality=85):
    with Image.open(input_path) as img:
        img.save(output_path, "JPEG", optimize=True, quality=quality)

# Gunakan gambar lokal
compress_image("/xxx/before-large.jpeg","/xxx/after-min.jpeg")

# Kompresi batch gambar dalam direktori
import glob
import os

def batch_compress(input_dir, output_dir, quality=85):
    files = (
        glob.glob(os.path.join(input_dir, "*.jpg"))
        + glob.glob(os.path.join(input_dir, "*.jpeg"))
        + glob.glob(os.path.join(input_dir, "*.png"))
    )
    for i, f in enumerate(files, 1):
        try:
            compress_image(f, os.path.join(output_dir, os.path.basename(f)), quality)
            print(f"[{i}/{len(files)}] {os.path.basename(f)} selesai")
        except Exception as e:
            print(f"[{i}/{len(files)}] {os.path.basename(f)} error: {e}")

batch_compress("/xxx/input_dir", "/xxx/output_dir")
  • Alat online: Gunakan alat online seperti FreeConvert untuk memampatkan video.
  • Perangkat lunak lokal: Gunakan perangkat lunak seperti HandBrake.
  • Implementasi kode: Gunakan tool FFmpeg. Untuk informasi lebih lanjut, lihat website resmi FFmpeg.
# Perintah transformasi dasar
# -i, fungsi: path file input, contoh: input.mp4
# -vcodec, fungsi: penyandi video, nilai umum termasuk libx264 (umumnya direkomendasikan) dan libx265 (rasio kompresi lebih tinggi)
# -crf, fungsi: mengontrol kualitas video, rentang nilai: [18-28]. Semakin kecil nilainya, semakin tinggi kualitas dan semakin besar ukuran file.
# --preset, fungsi: mengontrol keseimbangan antara kecepatan encoding dan efisiensi kompresi. Nilai umum termasuk slow, fast, dan faster.
# -y, fungsi: menimpa file yang sudah ada (tidak perlu nilai)
# output.mp4, fungsi: path file output

ffmpeg -i input.mp4 -vcodec libx264 -crf 28 -preset slow output.mp4
Setelah model pemahaman visual mengembalikan hasil lokasi objek, Anda dapat menggunakan kode berikut untuk menggambar bingkai deteksi beserta informasi label-nya pada gambar asli.
  • Qwen2.5-VL: Koordinat yang dikembalikan adalah nilai absolut dalam piksel, relatif terhadap pojok kiri atas gambar yang telah diskalakan. Untuk menggambar bingkai deteksi, lihat kode dalam qwen2_5_vl_2d.py.
  • Seri Qwen3-VL, Qwen3.5, Qwen3.6, dan Qwen3.7 (seperti qwen3.5-plus, qwen3.6-plus, dan qwen3.7-plus): Koordinat yang dikembalikan bersifat relatif dan dinormalisasi ke rentang [0, 999]. Untuk menggambar bingkai deteksi, lihat kode dalam qwen3_vl_2d.py (posisi 2D) atau qwen3_vl_3d.zip (posisi 3D).

Kode error

Jika pemanggilan model gagal, pesan error akan dikembalikan. Untuk informasi tentang cara mengatasi error tersebut, lihat Kode error.
Rencana Token (Team Edition)
Model playground
Statistik dan Pemantauan
Asset Center
Dukungan layanan