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.
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 mengaturenable_fusion=true. Untuktongyi-embedding-vision-plus-2026-03-06dantongyi-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-embeddinghanya mendukung vektor fusi, bukan vektor independen.tongyi-embedding-vision-plusdantongyi-embedding-vision-flashhanya mendukung vektor independen.tongyi-embedding-vision-plus-2026-03-06dantongyi-embedding-vision-flash-2026-03-06mendukung 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. Modeltongyi-embedding-vision-plus,tongyi-embedding-vision-flash,tongyi-embedding-vision-plus-2026-03-06, dantongyi-embedding-vision-flash-2026-03-06juga mendukung inputmulti_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 |
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 |
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 independenContoh berikut menggunakan model Penyematan fusi
Snapshot (2026-03-06)
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: |
Header permintaan | |
Content-Type Tipe konten permintaan. Harus berupa | |
Authorization Kredensial otentikasi menggunakan Kunci API Model Studio. Contoh: | |
Isi permintaan | |
model Nama model. Atur ke nama model dari Ikhtisar model. | |
input Konten input. parameters Menentukan parameter untuk pemrosesan vektor. Dalam panggilan HTTP, parameter ini harus dibungkus dalam objek |
Respons | BerhasilModel Kesalahan |
output Output tugas. | |
request_id Identifikasi unik untuk permintaan. Gunakan untuk pelacakan dan troubleshooting masalah. | |
code Kode kesalahan. Hanya dikembalikan saat permintaan gagal. Lihat kode kesalahan untuk detailnya. | |
message Pesan kesalahan detail. Hanya dikembalikan saat permintaan gagal. Lihat kode kesalahan untuk detailnya. | |
usage Statistik penggunaan untuk permintaan. |
Penggunaan SDK
Badan permintaan untuk panggilan menggunakan versi SDK saat ini berbeda dari panggilan HTTP native. Parameterinputdalam SDK sesuai dengan bidanginput.contentsdalam 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 modelqwen3-vl-embeddinguntuk menggabungkan beberapa gambar dan teks menjadi satu penyematan. Untuk menggabungkan beberapa gambar, teruskan beberapa itemimage. 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 modeltongyi-embedding-vision-plus-2026-03-06dengan parameterres_level(multi-resolusi) danmax_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.