All Products
Search
Document Center

Alibaba Cloud Model Studio:API Multimodal-Embedding

Last Updated:Mar 25, 2026

Model penyematan multimodal meng-encode teks, gambar, atau video ke dalam vektor floating-point berdimensi tinggi yang terpadu dengan dimensi yang dapat dikustomisasi untuk berbagai kasus penggunaan, seperti pengambilan lintas-modalitas (cross-modal retrieval), pencarian teks-ke-gambar, klasifikasi video, dan klasifikasi gambar.

Kemampuan inti

  • Pengambilan lintas-modalitas (Cross-modal retrieval): Memungkinkan pencarian semantik seperti teks-ke-gambar, gambar-ke-video, dan gambar-ke-gambar.

  • Kesamaan semantik (Semantic similarity): Mengukur kesamaan semantik antar konten dari modalitas berbeda dalam ruang vektor terpadu.

  • Klasifikasi dan pengelompokan konten: Mengelompokkan, memberi tag, dan meng-cluster konten berdasarkan penyematan semantiknya.

Fitur utama: Penyematan dari semua modalitas (teks, gambar, dan video) berbagi ruang semantik yang sama, memungkinkan pencocokan dan perbandingan lintas-modalitas secara langsung menggunakan metode seperti cosine similarity. Untuk informasi lebih lanjut mengenai pemilihan model dan metode penerapan, lihat Penyematan teks dan multimodal.
Penting

Layanan model ini hanya tersedia di Wilayah China (Beijing). Untuk memanggil layanan ini, Anda harus menggunakan Kunci API dari wilayah tersebut.

Jenis vektor

Model penyematan multimodal mendukung dua cara untuk menghasilkan vektor:

  • Vektor independen multimodal: Menghasilkan vektor independen untuk setiap input dalam contents (seperti teks, gambar, video, atau beberapa gambar). Misalnya, jika Anda memberikan satu teks dan satu gambar, model akan mengembalikan dua vektor independen. Ini ideal untuk membandingkan jenis konten yang berbeda secara terpisah, seperti pencarian gambar-ke-gambar atau teks-ke-gambar.

  • Vektor fusi multimodal: Menggabungkan semua input dalam contents menjadi satu vektor tunggal untuk menciptakan representasi semantik lintas-modalitas yang komprehensif. Ini ideal untuk memahami konten multimodal secara menyeluruh, seperti menggabungkan gambar produk dan deskripsi teksnya menjadi satu representasi terpadu untuk pengambilan. Dengan qwen3-vl-embedding, Anda dapat mengaktifkan mode fusi dengan mengatur enable_fusion=true. Untuk tongyi-embedding-vision-plus-2026-03-06 dan tongyi-embedding-vision-flash-2026-03-06, Anda membuat vektor fusi dengan menempatkan teks, gambar, dan video dalam objek content yang sama. Vektor fusi mendukung kombinasi berikut:

    • Fusi teks + gambar

    • Fusi teks + video

    • Fusi beberapa gambar + teks (dengan meneruskan beberapa entri gambar)

    • Fusi gambar + video + teks

qwen2.5-vl-embedding hanya mendukung vektor fusi, bukan vektor independen. tongyi-embedding-vision-plus dan tongyi-embedding-vision-flash hanya mendukung vektor independen. tongyi-embedding-vision-plus-2026-03-06 dan tongyi-embedding-vision-flash-2026-03-06 mendukung kedua jenis vektor, independen dan fusi. Untuk model-model ini, Anda membuat vektor fusi dengan menempatkan teks, gambar, dan video dalam objek content yang sama.

Untuk pengenalan model, panduan pemilihan, dan instruksi penggunaan, lihat vektorisasi teks dan multimodal.

Ikhtisar model

Singapura

Nama model

Dimensi penyematan

Batas panjang teks

Batas ukuran gambar

Batas ukuran video

Harga (per 1 juta token input)

Kuota gratis(Catatan)

tongyi-embedding-vision-plus

1152 (default), 1024, 512, 256, 128, 64

1.024 token

Hingga 3 MB per gambar

Hingga 10 MB per video

Gambar/Video: $0,09

Teks: $0,09

1 juta token

Berlaku: 90 hari setelah mengaktifkan Model Studio

tongyi-embedding-vision-flash

768 (default), 512, 256, 128, 64

Gambar/Video: $0,03

Teks: $0,09

China (Beijing)

Nama model

Dimensi penyematan

Batas panjang teks

Batas ukuran gambar

Batas ukuran video

Harga (per 1 juta token input)

qwen3-vl-embedding

2560 (default), 2048, 1536, 1024, 768, 512, 256

32.000 token

Hingga 5 gambar, masing-masing hingga 5 MB

Hingga 50 MB per video

Gambar/Video: $0,258

Teks: $0,1

multimodal-embedding-v1

1024

512 token

Maksimum 1 gambar, hingga 3 MB

Hingga 10 MB per video

Uji coba gratis

Format input dan batasan bahasa

Model penyematan multimodal fusi

Model

Teks

Gambar

Video

Elemen maksimum per permintaan

qwen3-vl-embedding

Mendukung 33 bahasa utama, termasuk Tionghoa, Inggris, Jepang, Korea, Prancis, dan Jerman.

JPEG, PNG, WEBP, BMP, TIFF, ICO, DIB, ICNS, SGI (URL atau Base64 didukung)

MP4, AVI, MOV (hanya URL)

Hingga 20 elemen konten total per permintaan, dengan maksimum 5 gambar dan 1 video.

Model penyematan multimodal independen

Model

Teks

Gambar

Video

Elemen maksimum per permintaan

tongyi-embedding-vision-plus

Tionghoa dan Inggris

JPG, PNG, BMP (URL atau Base64 didukung)

MP4, MPEG, AVI, MOV, MPG, WEBM, FLV, MKV (hanya URL)

Tidak ada batasan khusus pada jumlah elemen konten. Total jumlah token input tidak boleh melebihi batas token permintaan.

tongyi-embedding-vision-flash

multimodal-embedding-v1

Permintaan dapat berisi hingga 20 elemen total, dengan maksimum 1 gambar, 1 video, dan 20 input teks.

Semua model mendukung input teks, gambar, dan video, baik secara individual maupun dalam kombinasi. Model tongyi-embedding-vision-plus, tongyi-embedding-vision-flash, tongyi-embedding-vision-plus-2026-03-06, dan tongyi-embedding-vision-flash-2026-03-06 juga mendukung input multi_images.

Perbandingan kemampuan model

Model

Dimensi default

Jenis vektor

Input yang didukung

Deskripsi

qwen3-vl-embedding

2560

mandiri/tergabung

teks, gambar, video, multi_images

Satu-satunya model yang mendukung parameter enable_fusion, yang menggabungkan input multimodal menjadi satu vektor.

tongyi-embedding-vision-plus

1152

independen saja

teks, gambar, video, multi_images

Mendukung urutan multi_images (hingga 8 gambar).

tongyi-embedding-vision-flash

768

independen saja

teks, gambar, video, multi_images

Mendukung multi_images (urutan hingga 8 gambar).

tongyi-embedding-vision-plus-2026-03-06

1152

independen / fusi

teks, gambar, video, multi_images

Berdasarkan model dasar Qwen3, model ini mendukung berbagai resolusi, lebih dari 30 bahasa, dan vektor fusi.

tongyi-embedding-vision-flash-2026-03-06

768

independen / fusi

teks, gambar, video, multi_images

Berdasarkan model dasar Qwen3, model ini mendukung berbagai resolusi, lebih dari 30 bahasa, dan vektor fusi.

multimodal-embedding-v1

1024

independen saja

teks, gambar, video

Model ini tidak mendukung parameter dimension; dimensi output-nya tetap pada 1024.

Prasyarat

Dapatkan Kunci API dan ekspor Kunci API sebagai variabel lingkungan. Jika Anda menggunakan SDK untuk melakukan panggilan, instal SDK DashScope.

Panggilan HTTP

POST https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding

Permintaan

Penyematan independen

Contoh berikut menggunakan model tongyi-embedding-vision-plus untuk menghasilkan vektor independen, di mana satu vektor dihasilkan untuk setiap input. Anda juga dapat menggunakan nama model lainnya. Jenis multi_images hanya didukung oleh tongyi-embedding-vision-plus dan tongyi-embedding-vision-flash. Model qwen3-vl-embedding juga mendukung mode vektor fusi, yang dapat Anda aktifkan dengan mengatur enable_fusion=true. Untuk informasi lebih lanjut, lihat tab Penyematan Multimodal Fusi.
curl --silent --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "tongyi-embedding-vision-plus",
    "input": {
        "contents": [ 
            {"text": "Multimodal embedding model"},
            {"image": "https://img.alicdn.com/imgextra/i3/O1CN01rdstgY1uiZWt8gqSL_!!6000000006071-0-tps-1970-356.jpg"},
            {"video": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"},
            {"multi_images": [
                "https://img.alicdn.com/imgextra/i2/O1CN019eO00F1HDdlU4Syj5_!!6000000000724-2-tps-2476-1158.png",
                "https://img.alicdn.com/imgextra/i2/O1CN01dSYhpw1nSoamp31CD_!!6000000005089-2-tps-1765-1639.png"
                ]
              }
        ]
    }
}'

Penyematan fusi

qwen3-vl-embedding mendukung pembuatan vektor fusi. Dengan mengatur enable_fusion=true, Anda dapat menggabungkan semua input menjadi satu vektor. Model ini mendukung berbagai kombinasi fusi, seperti teks dengan gambar, teks dengan video, beberapa gambar dengan teks, serta gambar dengan video dan teks. Contoh berikut menunjukkan fusi campuran beberapa gambar, video, dan teks.
curl --location 'https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "qwen3-vl-embedding",
    "input": {
        "contents": [
            {"text": "Product description text"},
            {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"},
            {"image": "https://img.alicdn.com/imgextra/i3/O1CN01rdstgY1uiZWt8gqSL_!!6000000006071-0-tps-1970-356.jpg"},
            {"video": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"}
        ]
    },
    "parameters": {
        "enable_fusion": true
    }
}'

Snapshot (2026-03-06)

tongyi-embedding-vision-plus-2026-03-06 dan tongyi-embedding-vision-flash-2026-03-06 adalah model baru yang dibangun di atas model dasar Qwen3. Model ini mendukung parameter res_level (multi-resolusi) dan max_video_frames (frame video), serta mendukung pembuatan penyematan independen dan fusi.
curl --silent --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "tongyi-embedding-vision-plus-2026-03-06",
    "input": {
        "contents": [
            {"text": "This is a visual multimodal representation model"},
            {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"},
            {"video": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"},
            {"multi_images": [
                "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png",
                "https://img.alicdn.com/imgextra/i3/O1CN01rdstgY1uiZWt8gqSL_!!6000000006071-0-tps-1970-356.jpg"
            ]}
        ]
    },
    "parameters": {
        "dimension": 1152,
        "res_level": 1,
        "max_video_frames": 64
    }
}'

Contoh berikut menunjukkan penggunaan vektor fusi untuk versi 2026-03-06: tempatkan teks, gambar, dan video dalam objek content yang sama, dan model akan meng-encode semua input menjadi satu vektor fusi (jenis: fused).

curl --silent --location --request POST 'https://dashscope.aliyuncs.com/api/v1/services/embeddings/multimodal-embedding/multimodal-embedding' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "tongyi-embedding-vision-plus-2026-03-06",
    "input": {
        "contents": [
            {
                "text": "This is a visual multimodal representation model",
                "image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png",
                "video": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"
            }
        ]
    },
    "parameters": {
        "dimension": 1152
    }
}'

Header permintaan

Content-Type string (Wajib)

Tipe konten permintaan. Harus berupa application/json.

Authorization string (Wajib)

Kredensial otentikasi menggunakan Kunci API Model Studio.

Contoh: Bearer sk-xxxx

Isi permintaan

model string(Wajib)

Nama model. Atur ke nama model dari Ikhtisar model.

input objek (Wajib)

Konten input.

Properti

contents array(Wajib)

Daftar item konten yang akan diproses. Setiap elemen adalah dictionary atau string yang menentukan jenis dan nilai konten. Formatnya adalah {"modality_type": "input_string_or_image/video_url"}. Jenis modalitas yang didukung meliputi text, image, video, dan multi_images.

qwen3-vl-embedding mendukung pembuatan vektor fusi dan vektor independen. Bidang boolean bernama enable_fusion ditambahkan ke proses pembuatan vektor independen multimodal. Ketika enable_fusion=true, vektor fusi dikembalikan.qwen2.5-vl-embedding hanya mendukung vektor fusi, bukan vektor independen.tongyi-embedding-vision-plus-2026-03-06 dan tongyi-embedding-vision-flash-2026-03-06 mendukung vektor independen dan vektor fusi. Vektor fusi dihasilkan dengan menempatkan teks, gambar, dan video dalam objek content yang sama (parameter enable_fusion tidak digunakan).
  • Teks: Kuncinya adalah text dan nilainya adalah string. Anda juga dapat meneruskan string secara langsung tanpa dictionary.

  • Gambar: Kuncinya adalah image. Nilainya dapat berupa URL yang dapat diakses publik atau URI Data yang di-encode Base64. Format Base64 adalah data:image/{format};base64,{data}, di mana {format} adalah format gambar (seperti jpeg atau png), dan {data} adalah string yang di-encode Base64.

  • Beberapa gambar: Jenis ini hanya didukung oleh model tongyi-embedding-vision-plus, tongyi-embedding-vision-flash, tongyi-embedding-vision-plus-2026-03-06, dan tongyi-embedding-vision-flash-2026-03-06. Kuncinya adalah multi_images, dan nilainya adalah daftar hingga delapan gambar. Setiap gambar harus mengikuti format yang dijelaskan sebelumnya.

  • Video: Kuncinya adalah video. Nilainya harus berupa URL yang dapat diakses publik.

parameters objek (Opsional)

Menentukan parameter untuk pemrosesan vektor. Dalam panggilan HTTP, parameter ini harus dibungkus dalam objek parameters. Saat menggunakan SDK, Anda dapat menggunakan parameter ini secara langsung.

Properti

output_type string Opsional

Menentukan format vektor output. Saat ini, hanya dense yang didukung.

dimension integer Opsional

Menentukan dimensi vektor output. Nilai yang didukung bervariasi tergantung model:

  • qwen3-vl-embedding: Mendukung 2560, 2048, 1536, 1024, 768, 512, dan 256. Default: 2560.

  • tongyi-embedding-vision-plus: Mendukung 64, 128, 256, 512, 1024, dan 1152. Default: 1152.

  • tongyi-embedding-vision-flash: Mendukung 64, 128, 256, 512, dan 768. Default: 768.

  • tongyi-embedding-vision-plus-2026-03-06: Mendukung 64, 128, 256, 512, 1024, dan 1152. Default: 1152.

  • tongyi-embedding-vision-flash-2026-03-06: Mendukung 64, 128, 256, 512, dan 768. Default: 768.

  • multimodal-embedding-v1: Tidak mendukung parameter ini. Model ini mengembalikan vektor berdimensi tetap 1024.

fps float Opsional

Mengontrol laju pengambilan sampel frame video. Nilai yang lebih kecil menghasilkan lebih sedikit frame yang diekstraksi. Rentang valid adalah [0, 1]. Default: 1,0.

instruct string Opsional

Menambahkan instruksi tugas kustom untuk membantu model memahami maksud kueri. Kami menyarankan menulis instruksi dalam bahasa Inggris, yang dapat meningkatkan performa sekitar 1% hingga 5%.

enable_fusion bool Opsional

Menentukan apakah akan menghasilkan vektor fusi. Parameter ini hanya didukung oleh model qwen3-vl-embedding. Ketika diatur ke true, semua konten multimodal dalam bidang contents digabung menjadi satu vektor. Nilai default adalah false, yang berarti vektor terpisah dihasilkan untuk setiap modalitas. Vektor fusi mendukung kombinasi seperti teks dan gambar, teks dan video, beberapa gambar dan teks (dengan meneruskan beberapa entri gambar), atau gambar, video, dan teks. Ini cocok untuk skenario pengambilan yang memerlukan pemahaman komprehensif tentang konten multimodal.

Model tongyi-embedding-vision-plus-2026-03-06 dan tongyi-embedding-vision-flash-2026-03-06 tidak menggunakan parameter ini. Sebagai gantinya, mereka menghasilkan penyematan fusi ketika konten teks, gambar, dan video ditempatkan dalam objek content yang sama.

res_level integer Opsional

Menentukan tingkat resolusi input. Nilai yang didukung adalah 0, 1, 2, dan 3, yang masing-masing sesuai dengan biaya token gambar tunggal sebesar 127, 402, 578, dan 1026. Default adalah 1 (402 token). Parameter ini hanya didukung oleh model tongyi-embedding-vision-plus-2026-03-06 dan tongyi-embedding-vision-flash-2026-03-06. Untuk skenario yang sensitif terhadap resolusi gambar, seperti IPC, kendaraan otonom, dan pengenalan teks visual, resolusi lebih tinggi (res_level=3) dapat meningkatkan performa sebesar 5% hingga 10%.

max_video_frames integer Opsional

Mengontrol jumlah maksimum frame yang diambil dari video. Nilai maksimum adalah 64. Default adalah 8. Parameter ini hanya didukung oleh model tongyi-embedding-vision-plus-2026-03-06 dan tongyi-embedding-vision-flash-2026-03-06.

Respons

Berhasil

{
    "output": {
        "embeddings": [
            {
                "index": 0,
                "embedding": [
                    -0.026611328125,
                    -0.016571044921875,
                    -0.02227783203125,
                    ...
                ],
                "type": "text"
            },
            {
                "index": 1,
                "embedding": [
                    0.051544189453125,
                    0.007717132568359375,
                    0.026611328125,
                    ...
                ],
                "type": "image"
            },
            {
                "index": 2,
                "embedding": [
                    -0.0217437744140625,
                    -0.016448974609375,
                    0.040679931640625,
                    ...
                ],
                "type": "video"
            }
        ]
    },
    "usage": {
        "input_tokens": 10,
        "image_tokens": 896
    },
    "request_id": "1fff9502-a6c5-9472-9ee1-73930fdd04c5"
}
Model tongyi-embedding-vision-plus-2026-03-06 dan tongyi-embedding-vision-flash-2026-03-06 mengembalikan format usage yang lebih detail:
{
    "usage": {
        "input_tokens": 432,
        "input_tokens_details": {
            "image_tokens": 402,
            "text_tokens": 30
        },
        "output_tokens": 1,
        "total_tokens": 433
    }
}

Kesalahan

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

output objek

Output tugas.

Properti

embeddings array

Daftar hasil penyematan. Setiap objek sesuai dengan satu elemen input.

Properti

index int

Indeks hasil dalam daftar input.

embedding array

Dimensi array vektor yang dihasilkan bergantung pada model dan parameter dimension.

type string

Jenis input hasil dapat berupa text, image, video, multi_images, fused, atau vl. fused menunjukkan jenis vektor fusi yang dikembalikan oleh model tongyi-embedding-vision-plus-2026-03-06 dan tongyi-embedding-vision-flash-2026-03-06; vl hanya dikembalikan saat Anda menggunakan model qwen3-vl-embedding.

request_id string

Identifikasi unik untuk permintaan. Gunakan untuk pelacakan dan troubleshooting masalah.

code string

Kode kesalahan. Hanya dikembalikan saat permintaan gagal. Lihat kode kesalahan untuk detailnya.

message string

Pesan kesalahan detail. Hanya dikembalikan saat permintaan gagal. Lihat kode kesalahan untuk detailnya.

usage objek

Statistik penggunaan untuk permintaan.

Properti

input_tokens int

Jumlah token dalam konten input untuk permintaan saat ini.

image_tokens int

Jumlah token dalam gambar atau video input untuk permintaan saat ini. Sistem mengambil sampel frame dari video input, dengan jumlah frame maksimum dikontrol oleh pengaturan sistem. Sistem kemudian menghitung token berdasarkan hasil pemrosesan.

image_count int

Jumlah gambar dalam input untuk permintaan saat ini.

duration int

Durasi video input, dalam detik.

Penggunaan SDK

Badan permintaan untuk panggilan menggunakan versi SDK saat ini berbeda dari panggilan HTTP native. Parameter input dalam SDK sesuai dengan bidang input.contents dalam permintaan HTTP.

Contoh kode

Penyematan gambar

URL gambar

import dashscope
import json
from http import HTTPStatus
# Ganti dengan URL gambar Anda.
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
input = [{'image': image}]
# Panggil API model.
resp = dashscope.MultiModalEmbedding.call(
    model="tongyi-embedding-vision-plus",
    input=input
)

if resp.status_code == HTTPStatus.OK:
    result = {
        "status_code": resp.status_code,
        "request_id": getattr(resp, "request_id", ""),
        "code": getattr(resp, "code", ""),
        "message": getattr(resp, "message", ""),
        "output": resp.output,
        "usage": resp.usage
    }
    print(json.dumps(result, ensure_ascii=False, indent=4))

Gambar lokal

Contoh ini mengonversi gambar lokal ke format Base64 lalu memanggil model tongyi-embedding-vision-plus untuk menghasilkan penyematan.

import dashscope
import base64
import json
from http import HTTPStatus
# Baca gambar dan konversi ke Base64. Ganti xxx.png dengan nama file atau path gambar Anda.
image_path = "xxx.png"
with open(image_path, "rb") as image_file:
    # Baca file dan konversi ke Base64.
    base64_image = base64.b64encode(image_file.read()).decode('utf-8')
# Atur format gambar.
image_format = "png"  # Ubah sesuai format aktual (misalnya, jpg, bmp).
image_data = f"data:image/{image_format};base64,{base64_image}"
# Data input.
input = [{'image': image_data}]

# Panggil API model.
resp = dashscope.MultiModalEmbedding.call(
    model="tongyi-embedding-vision-plus",
    input=input
)
if resp.status_code == HTTPStatus.OK:
    result = {
        "status_code": resp.status_code,
        "request_id": getattr(resp, "request_id", ""),
        "code": getattr(resp, "code", ""),
        "message": getattr(resp, "message", ""),
        "output": resp.output,
        "usage": resp.usage
    }
    print(json.dumps(result, ensure_ascii=False, indent=4))

Penyematan video

Model penyematan multimodal saat ini hanya mendukung input video melalui URL. Meneruskan file video lokal secara langsung tidak didukung.
import dashscope
import json
from http import HTTPStatus
# Ganti dengan URL video Anda.
video = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"
input = [{'video': video}]
# Panggil API model.
resp = dashscope.MultiModalEmbedding.call(
    model="tongyi-embedding-vision-plus",
    input=input
)

if resp.status_code == HTTPStatus.OK:
    result = {
        "status_code": resp.status_code,
        "request_id": getattr(resp, "request_id", ""),
        "code": getattr(resp, "code", ""),
        "message": getattr(resp, "message", ""),
        "output": resp.output,
        "usage": resp.usage
    }
    print(json.dumps(result, ensure_ascii=False, indent=4))
    

Penyematan teks

import dashscope
import json
from http import HTTPStatus

text = "General multimodal representation model example"
input = [{'text': text}]
# Panggil API model.
resp = dashscope.MultiModalEmbedding.call(
    model="tongyi-embedding-vision-plus",
    input=input
)

if resp.status_code == HTTPStatus.OK:
    result = {
        "status_code": resp.status_code,
        "request_id": getattr(resp, "request_id", ""),
        "code": getattr(resp, "code", ""),
        "message": getattr(resp, "message", ""),
        "output": resp.output,
        "usage": resp.usage
    }
    print(json.dumps(result, ensure_ascii=False, indent=4))

Penyematan fusi

import dashscope
import json
import os
from http import HTTPStatus

# Menggabungkan teks, gambar, dan video menjadi satu penyematan fusi.
# Cocok untuk pengambilan lintas-modalitas dan pencarian gambar.
text = "This is a test text for generating a multimodal fused embedding."
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
video = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"

# Input berisi teks, gambar, dan video. Gunakan parameter enable_fusion untuk menghasilkan penyematan fusi.
input_data = [
    {"text": text},
    {"image": image},
    {"video": video}
]

# Hasilkan penyematan fusi menggunakan qwen3-vl-embedding.
resp = dashscope.MultiModalEmbedding.call(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="qwen3-vl-embedding",
    input=input_data,
    enable_fusion=True,
    # Parameter opsional: Tentukan dimensi penyematan (mendukung 2560, 2048, 1536, 1024, 768, 512, 256; default: 2560).
    # parameters={"dimension": 1024}
)

print(json.dumps(resp, ensure_ascii=False, indent=4))

Penyematan fusi multi-gambar

Gunakan model qwen3-vl-embedding untuk menggabungkan beberapa gambar dan teks menjadi satu penyematan. Untuk menggabungkan beberapa gambar, teruskan beberapa item image. Metode ini ideal untuk pengambilan semantik komprehensif, seperti mencari produk dengan gambar multi-sudut dan deskripsi teks.
import dashscope
import json
import os
from http import HTTPStatus

# Penyematan fusi multi-gambar + teks: Menggabungkan beberapa gambar produk dan deskripsi teks menjadi satu penyematan.
# Cocok untuk pengambilan semantik komprehensif produk dengan menggunakan gambar multi-sudut dan deskripsi teks.
text = "White sports shoes, lightweight and breathable, suitable for running and daily wear."
image1 = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
image2 = "https://img.alicdn.com/imgextra/i3/O1CN01rdstgY1uiZWt8gqSL_!!6000000006071-0-tps-1970-356.jpg"

# Teruskan beberapa item gambar dan atur enable_fusion=True untuk menggabungkan semua input menjadi satu penyematan.
input_data = [
    {"text": text},
    {"image": image1},
    {"image": image2}
]

resp = dashscope.MultiModalEmbedding.call(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="qwen3-vl-embedding",
    input=input_data,
    enable_fusion=True
)

print(json.dumps(resp, ensure_ascii=False, indent=4))

Snapshot 2026-03-06

Contoh ini menunjukkan penggunaan model tongyi-embedding-vision-plus-2026-03-06 dengan parameter res_level (multi-resolusi) dan max_video_frames (frame video). Model ini dibangun di atas model dasar Qwen3, mendukung lebih dari 30 bahasa, dan dapat menghasilkan penyematan independen maupun fusi.
import dashscope
import json
import os
from http import HTTPStatus

# Contoh tongyi-embedding-vision-plus-2026-03-06
# Mendukung parameter res_level (multi-resolusi) dan max_video_frames (frame video).
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
video = "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250107/lbcemt/new+video.mp4"
text = "This is a visual multimodal representation model"

input_data = [
    {"text": text},
    {"image": image},
    {"video": video}
]

# Panggil versi snapshot model tanggal 2026-03-06.
resp = dashscope.MultiModalEmbedding.call(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="tongyi-embedding-vision-plus-2026-03-06",
    input=input_data,
    dimension=1152,      # Nilai yang didukung: 1152/1024/512/256/128/64
    res_level=1,         # Tingkat resolusi: 0/1/2/3. Default: 1
    max_video_frames=64  # Frame sampel video maksimum. Default: 8. Maks: 64
)

if resp.status_code == HTTPStatus.OK:
    result = {
        "status_code": resp.status_code,
        "request_id": getattr(resp, "request_id", ""),
        "output": resp.output,
        "usage": resp.usage
    }
    print(json.dumps(result, ensure_ascii=False, indent=4))

Untuk menghasilkan penyematan fusi dengan versi 2026-03-06, tempatkan text, image, dan video dalam objek content yang sama. Model kemudian akan meng-encode semua input menjadi satu penyematan bertipe fused.

import dashscope
import json
import os
from http import HTTPStatus

# Penyematan fusi: tempatkan teks, gambar, dan video dalam objek content yang sama.
# Model menggabungkan semua input menjadi satu penyematan bertipe "fused".
text = "White sports shoes, lightweight and breathable, suitable for running and daily wear."
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"

# Konten multimodal dalam objek yang sama digabung menjadi satu penyematan.
input_data = [
    {"text": text, "image": image}
]

resp = dashscope.MultiModalEmbedding.call(
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="tongyi-embedding-vision-plus-2026-03-06",
    input=input_data,
    dimension=1152
)

if resp.status_code == HTTPStatus.OK:
    result = {
        "status_code": resp.status_code,
        "request_id": getattr(resp, "request_id", ""),
        "output": resp.output,
        "usage": resp.usage
    }
    print(json.dumps(result, ensure_ascii=False, indent=4))

Output

{
    "status_code": 200,
    "request_id": "40532987-ba72-42aa-a178-bb58b52fb7f3",
    "code": "",
    "message": "",
    "output": {
        "embeddings": [
            {
                "index": 0,
                "embedding": [
                    -0.009490966796875,
                    -0.024871826171875,
                    -0.031280517578125,
                    ...
                ],
                "type": "text"
            }
        ]
    },
    "usage": {
        "input_tokens": 10,
        "input_tokens_details": {
            "image_tokens": 0,
            "text_tokens": 10
        },
        "output_tokens": 1,
        "total_tokens": 11
    }
}

Kode kesalahan

Jika pemanggilan model gagal dan mengembalikan pesan kesalahan, lihat Pesan kesalahan untuk penyelesaiannya.