All Products
Search
Document Center

Alibaba Cloud Model Studio:API embedding multimodal

Last Updated:Jun 12, 2026

Model embedding multimodal mengonversi teks, gambar, dan video menjadi embedding dalam ruang semantik bersama untuk memungkinkan pengambilan lintas-modalitas (cross-modal retrieval), klasifikasi konten, dan pencarian kemiripan.

Kemampuan inti

  • Pengambilan lintas-modalitas (Cross-modal retrieval): Lakukan pencarian semantik lintas jenis konten, seperti teks-ke-gambar, gambar-ke-video, atau gambar-ke-gambar.

  • Kemiripan semantik: Ukur kemiripan semantik antara berbagai jenis konten dalam ruang embedding terpadu.

  • Klasifikasi dan pengelompokan konten: Kelompokkan, beri label, dan klasterkan konten berdasarkan embedding semantik.

Fitur utama: Embedding untuk semua modalitas (teks, gambar, dan video) berbagi ruang semantik yang sama, memungkinkan pencocokan dan perbandingan lintas-modalitas secara langsung menggunakan metode seperti cosine similarity. Lihat embedding teks dan multimodal untuk detail pemilihan dan penggunaan model.
Penting

Layanan model ini hanya tersedia di wilayah Tiongkok (Beijing). Untuk memanggil layanan ini, gunakan Kunci API dari wilayah tersebut.

Jenis embedding

Model embedding multimodal mendukung dua metode untuk menghasilkan embedding:

  • Embedding multimodal independen: Menghasilkan embedding terpisah untuk setiap input, seperti teks, gambar, video, atau beberapa gambar, dalam contents. Misalnya, input berupa satu string teks dan satu gambar menghasilkan dua embedding independen. Ini ideal untuk membandingkan item individual, seperti dalam pencarian gambar-ke-gambar atau teks-ke-gambar.

  • Embedding multimodal terpadu (fused): Menggabungkan semua input dalam contents menjadi satu embedding tunggal untuk mencapai representasi semantik lintas-modalitas yang terpadu. Ini cocok untuk skenario yang memerlukan pemahaman holistik terhadap konten multimodal, seperti menggabungkan gambar produk dan deskripsi teksnya menjadi representasi terpadu untuk pengambilan. Untuk qwen3-vl-embedding, Anda mengaktifkan fusi dengan mengatur enable_fusion=true. Embedding terpadu mendukung kombinasi berikut:

    • Fusi teks dan gambar

    • Fusi teks dan video

    • Menggabungkan beberapa gambar dengan teks (dengan meneruskan beberapa entri image)

    • Fusi gambar, video, dan teks

qwen2.5-vl-embedding hanya mendukung embedding terpadu, bukan embedding independen. tongyi-embedding-vision-plus dan tongyi-embedding-vision-flash hanya mendukung embedding independen.

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

Ikhtisar model

Singapura

Model

Dimensi embedding

Batas panjang teks

Batas ukuran gambar

Batas ukuran video

Harga (per 1 juta token input)

Kuota gratis (Catatan)

tongyi-embedding-vision-plus

1152

1.024 token

Hingga 3 MB per gambar. Mendukung hingga 8 gambar.

Hingga 10 MB per file video

Gambar/Video: $0,09

Teks: $0,09

1 juta token

Berlaku selama 90 hari setelah mengaktifkan Model Studio

tongyi-embedding-vision-flash

768

Gambar/Video: $0,03

Teks: $0,09

Tiongkok (Beijing)

Model

Dimensi embedding

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 file video

Gambar/Video: $0,258

Teks: $0,1

multimodal-embedding-v1

1024

512 token

Hingga 8 gambar, masing-masing 3 MB

Hingga 10 MB per file video

Uji coba gratis

Format input dan batas penggunaan

Model multimodal terpadu

Model

Teks

Gambar

Video

Batas 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 per permintaan, dengan maksimal 5 gambar dan 1 video.

Model multimodal independen

Model

Teks

Gambar

Video

Batas permintaan

tongyi-embedding-vision-plus

Tionghoa dan Inggris

JPG, PNG, BMP (URL atau Base64 didukung)

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

Tidak ada batas jumlah elemen konten. Jumlah total token input tidak boleh melebihi batas token pemrosesan batch.

tongyi-embedding-vision-flash

multimodal-embedding-v1

JPG, PNG, BMP (URL atau Base64 didukung)

Hingga 20 elemen konten per permintaan, dengan maksimal 20 segmen teks, 1 gambar, dan 1 video.

Semua model menerima input teks, gambar, dan video, baik secara individual maupun kombinasi. Model tongyi-embedding-vision-plus, tongyi-embedding-vision-flash juga mendukung multi_images untuk urutan gambar.

Kemampuan model

Model

Dimensi default

Tipe vektor

Input yang didukung

Deskripsi

qwen3-vl-embedding

2560

Independen / Terpadu

teks, gambar, video, beberapa gambar

Mode terpadu, diaktifkan dengan parameter enable_fusion, menggabungkan input multimodal menjadi satu vektor.

tongyi-embedding-vision-plus

1152

Hanya independen

teks, gambar, video, multi_images

Mendukung urutan multi_images (hingga 8 gambar).

tongyi-embedding-vision-flash

768

multimodal-embedding-v1

1024

teks, gambar, video

Dimensi vektor tetap pada 1.024 dan tidak dapat dikonfigurasi.

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

Embedding multimodal independen

Contoh berikut menggunakan model tongyi-embedding-vision-plus untuk menghasilkan embedding independen untuk setiap input. Anda dapat mengganti nama model dengan model lain yang didukung. Tipe multi_images hanya didukung oleh tongyi-embedding-vision-plus dan tongyi-embedding-vision-flash. Model qwen3-vl-embedding juga mendukung mode embedding terpadu, yang dapat Anda aktifkan dengan mengatur enable_fusion=true. Untuk detailnya, lihat tab "Embedding multimodal terpadu".
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"
                    ]
                  }
            ]
        }
    }'

Embedding multimodal terpadu

Model qwen3-vl-embedding mendukung pembuatan embedding terpadu. Atur enable_fusion=true untuk menggabungkan semua input menjadi satu embedding. Ini mendukung berbagai kombinasi, seperti teks dan gambar, teks dan video, beberapa gambar dan teks, atau campuran gambar, video, dan teks. Contoh berikut menunjukkan fusi 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
        }
    }'

Header permintaan

Content-Type string (Wajib)

Tipe konten permintaan. Harus berupa application/json.

Authorization string (Wajib)

Mengotentikasi permintaan dengan Kunci API Model Studio. Contoh: Bearer sk-xxxx.

Isi permintaan

model string(wajib)

Nama model. Pilih model dari Ikhtisar model.

input object (wajib)

Konten input.

Properti

contents array(wajib)

Item konten yang akan diproses. Setiap item adalah kamus atau string yang menentukan tipe dan nilai konten dalam format {"modality_type": "input_string_or_image/video_url"}. Tipe modalitas yang didukung adalah textimagevideo, dan multi_images.

Model qwen3-vl-embedding mendukung pembuatan embedding terpadu maupun independen. Untuk menghasilkan embedding terpadu, tambahkan bidang boolean enable_fusion dan atur nilainya ke true. Model qwen2.5-vl-embedding hanya mendukung embedding terpadu.
  • Teks: Kuncinya adalah text, dan nilainya adalah string. Anda juga dapat meneruskan string secara langsung tanpa kamus.

  • Gambar: Gunakan kunci image. Nilainya dapat berupa URL publik atau URI Data yang dikodekan Base64. Format Base64 adalah data:image/{format};base64,{data}, di mana {format} adalah format gambar, seperti jpeg atau png, dan {data} adalah string yang dikodekan Base64.

  • Beberapa gambar: Tipe ini hanya didukung oleh model tongyi-embedding-vision-plus, tongyi-embedding-vision-flash. Kuncinya adalah multi_images, dan nilainya adalah daftar gambar. Setiap item dalam daftar adalah gambar yang harus mengikuti format yang dijelaskan di atas.

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

parameters object (opsional)

Parameter pemrosesan embedding. Untuk panggilan HTTP, Anda harus membungkus parameter ini dalam objek parameters. Untuk panggilan SDK, Anda dapat menggunakan parameter ini secara langsung.

Properti

output_type string (opsional)

Format representasi embedding output. Saat ini, hanya dense yang didukung.

dimension integer (opsional)

Dimensi embedding output. Nilai yang didukung bervariasi tergantung model:

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

  • tongyi-embedding-vision-plus: Tidak mendukung parameter ini. Mengembalikan embedding berdimensi tetap 1152.

  • tongyi-embedding-vision-flash: Tidak mendukung parameter ini. Mengembalikan embedding berdimensi tetap 768.

  • multimodal-embedding-v1: Tidak mendukung parameter ini. Mengembalikan embedding berdimensi tetap 1024.

fps float (opsional)

Laju pengambilan sampel frame video. Nilai yang lebih kecil mengekstraksi lebih sedikit frame. Rentang valid adalah [0, 1], dan default adalah 1,0.

instruct string (opsional)

Deskripsi tugas kustom untuk membantu model memahami maksud kueri. Instruksi dalam bahasa Inggris direkomendasikan dan dapat meningkatkan performa sebesar 1% hingga 5%.

enable_fusion bool (opsional)

Menentukan apakah akan menghasilkan embedding terpadu. Parameter ini hanya didukung oleh model qwen3-vl-embedding. Ketika diatur ke true, semua konten multimodal dalam array contents digabung menjadi satu embedding. Nilai default adalah false, yang menghasilkan embedding independen untuk setiap modalitas. Embedding terpadu mendukung kombinasi seperti teks dan gambar, teks dan video, beberapa gambar dan teks (dengan meneruskan beberapa item gambar), serta campuran gambar, video, dan teks. Ini cocok untuk skenario pengambilan yang memerlukan pemahaman komprehensif terhadap konten multimodal.

Tanggapan

Tanggapan sukses

{
    "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,
        "input_tokens_details": {
            "image_tokens": 896,
            "text_tokens": 7
        },
        "output_tokens": 3,
        "total_tokens": 906
    },
    "request_id": "1fff9502-a6c5-9472-9ee1-73930fdd04c5"
}
Catatan

Bidang usage bervariasi tergantung model. Lihat deskripsi berikut:

  • Model seri tongyi-embedding-vision-*: Mengembalikan input_tokens (jumlah token teks dan gambar), input_tokens_details (termasuk image_tokens dan text_tokens), output_tokens, dan total_tokens. Contoh tanggapan di atas adalah untuk tipe model ini.

  • qwen3-vl-embedding: Hanya mengembalikan input_tokens (hanya token teks, termasuk token templat sistem), image_tokens, dan total_tokens (= input_tokens + image_tokens). Tidak mengembalikan input_tokens_details atau output_tokens. Contoh:

{
    "usage": {
        "input_tokens": 43,
        "image_tokens": 1247,
        "total_tokens": 1290
    }
}
Catatan
  • qwen2.5-vl-embedding: Hanya mengembalikan input_tokens dan image_tokens. Tidak mengembalikan total_tokens, input_tokens_details, atau output_tokens.

  • multimodal-embedding-v1: Mengembalikan input_tokens, image_tokens, image_count, dan duration. Tidak mengembalikan total_tokens, input_tokens_details, atau output_tokens.

Tanggapan error

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

output object

Output tugas.

Properti

embeddings array

Daftar embedding hasil, di mana setiap objek sesuai dengan elemen input.

Properti

index int

Indeks hasil dalam daftar input.

embedding array

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

type string

Tipe input untuk hasil ini. text, image, video, dan multi_images masing-masing sesuai dengan input teks, gambar, video, dan multi-gambar. Tipe khusus meliputi: fusion adalah tipe yang dikembalikan oleh model qwen3-vl-embedding dalam mode embedding terpadu; vl adalah tipe yang dikembalikan oleh model qwen3-vl-embedding dalam mode embedding independen.

request_id string

Identifikasi permintaan unik untuk pelacakan dan troubleshooting.

code string

Kode error. Hanya dikembalikan untuk permintaan yang gagal. Lihat Kode error.

message string

Pesan error detail. Hanya dikembalikan untuk permintaan yang gagal. Lihat Kode error.

usage object

Statistik tentang penggunaan token.

Properti

input_tokens int

Jumlah token dalam konten input untuk permintaan saat ini. Untuk model qwen3-vl-embedding dan qwen2.5-vl-embedding, nilai ini hanya mencakup token teks (termasuk token templat sistem) dan tidak mencakup token gambar atau video. Untuk model seri tongyi-embedding-vision-*, nilai ini mencakup jumlah total token teks, gambar, dan video.

input_tokens_details object

Rincian rinci penggunaan token input. Bidang ini hanya dikembalikan oleh model seri tongyi-embedding-vision-*. Tidak dikembalikan oleh model qwen3-vl-embedding, qwen2.5-vl-embedding, atau multimodal-embedding-v1.

Properti

image_tokens int

Jumlah token untuk gambar atau video input.

text_tokens int

Jumlah token untuk teks input.

output_tokens int

Jumlah token dalam output untuk permintaan saat ini. Bidang ini hanya dikembalikan oleh model seri tongyi-embedding-vision-*.

total_tokens int

Jumlah total token input dan output. Bidang ini dikembalikan oleh model qwen3-vl-embedding dan seri tongyi-embedding-vision-*, tetapi tidak oleh model qwen2.5-vl-embedding atau multimodal-embedding-v1. Untuk model qwen3-vl-embedding, total_tokens = input_tokens + image_tokens.

image_tokens int

Jumlah token untuk gambar atau video input dalam permintaan saat ini. Sistem mengambil sampel frame dari video input, dengan jumlah maksimum frame dikontrol oleh konfigurasi sistem, lalu menghitung token berdasarkan hasil pemrosesan. Bidang ini dikembalikan sebagai bidang tingkat atas hanya oleh model qwen3-vl-embedding, qwen2.5-vl-embedding, dan multimodal-embedding-v1. Untuk model seri tongyi-embedding-vision-*, jumlah token gambar disertakan dalam input_tokens_details.image_tokens.

image_count int

Jumlah gambar dalam input untuk permintaan saat ini. Bidang ini hanya dikembalikan oleh model multimodal-embedding-v1.

duration int

Durasi video input dalam detik. Bidang ini hanya dikembalikan oleh model multimodal-embedding-v1.

Penggunaan SDK

Parameter input SDK dipetakan ke input.contents dalam badan permintaan HTTP, tetapi strukturnya berbeda.

Contoh kode

Embedding 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

Untuk menghasilkan embedding dari gambar lokal, konversi gambar menjadi string Base64:

import dashscope
import base64
import json
from http import HTTPStatus
# Baca gambar dan konversi ke Base64. Ganti xxx.png dengan file 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 ini sesuai format gambar Anda (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))

Embedding video

Saat ini, model hanya mendukung input video melalui URL. File video lokal 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))
    

Embedding 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))

Embedding terpadu

import dashscope
import json
import os
from http import HTTPStatus

# Menggabungkan teks, gambar, dan video menjadi satu embedding terpadu.
# Ideal untuk kasus penggunaan seperti 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 mencakup teks, gambar, dan video. Atur enable_fusion=True untuk menghasilkan embedding terpadu.
input_data = [
    {"text": text},
    {"image": image},
    {"video": video}
]

resp = dashscope.MultiModalEmbedding.call(
    # Jika variabel lingkungan tidak diatur, berikan Kunci API Model Studio Anda, misalnya api_key="sk-xxx".
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model="qwen3-vl-embedding",
    input=input_data,
    enable_fusion=True,
    # Opsional: Tentukan dimensi embedding. Nilai valid: 2560, 2048, 1536, 1024, 768, 512, dan 256. Default: 2560.
    # parameters={"dimension": 1024}
)

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

Embedding terpadu multi-gambar

Gunakan qwen3-vl-embedding untuk menggabungkan beberapa gambar dan teks menjadi satu embedding. Untuk menggabungkan beberapa gambar, teruskan beberapa item image. Ini ideal untuk pengambilan semantik menggunakan gambar produk multi-sudut dan deskripsi teks.

import dashscope
import json
import os
from http import HTTPStatus

# Menggabungkan beberapa gambar produk dan deskripsi menjadi satu embedding.
# Ideal untuk pengambilan semantik komprehensif menggunakan gambar produk 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 embedding.
input_data = [
    {"text": text},
    {"image": image1},
    {"image": image2}
]

resp = dashscope.MultiModalEmbedding.call(
    # Jika variabel lingkungan tidak diatur, berikan Kunci API Model Studio Anda, misalnya 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))

Versi snapshot 2026-03-06

Contoh ini menunjukkan cara menggunakan model tongyi-embedding-vision-plus-2026-03-06 dan parameter res_level (resolusi) serta max_video_frames (frame video). Dibangun di atas model dasar Qwen3, model ini mendukung 30+ bahasa dan menghasilkan embedding independen maupun terpadu.
import dashscope
import json
import os
from http import HTTPStatus

# Menunjukkan penggunaan parameter res_level (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}
]

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 valid: 1152, 1024, 512, 256, 128, 64
    res_level=1,         # Tingkat resolusi: 0, 1, 2, atau 3. Default: 1.
    max_video_frames=64  # Jumlah maksimum frame video yang diambil. Default: 8. Maksimum: 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 embedding terpadu dengan versi 2026-03-06, tempatkan teks, gambar, dan video dalam objek konten yang sama. Model menggabungkan semua input menjadi satu embedding bertipe fused.

import dashscope
import json
import os
from http import HTTPStatus

# Untuk membuat embedding terpadu, tempatkan teks dan gambar dalam objek konten yang sama.
# Model menggabungkan semua input menjadi satu embedding 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"

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))

Contoh 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 error

Jika panggilan model gagal dan mengembalikan pesan error, lihat Kode error untuk penyelesaian.