Skip to main content

API de incrustación multimodal

Los modelos de incrustación multimodal convierten texto, imágenes y videos en incrustaciones dentro de un espacio semántico compartido para permitir la recuperación entre modalidades, la clasificación de contenido y la búsqueda por similitud.

Capacidades principales

  • Recuperación cruzada entre modalidades: Realiza búsquedas semánticas en diferentes tipos de contenido, como de texto a imagen, de imagen a video o de imagen a imagen.
  • Similitud semántica: Mide la similitud semántica entre diferentes tipos de contenido en un espacio de incrustación unificado.
  • Clasificación y agrupación de contenido: Agrupe, etiquete y clasifique contenido basándose en embeddings semánticos.
Característica clave: Las incrustaciones para todas las modalidades (texto, imágenes y video) comparten el mismo espacio semántico, lo que permite la comparación y coincidencia directa entre modalidades mediante métodos como la similitud del coseno. Consulte incrustación de texto y multimodal para obtener detalles sobre la selección y el uso de modelos.
qwen3-vl-embedding y multimodal-embedding-v1 solo están disponibles en la región China (Beijing). tongyi-embedding-vision-plus y tongyi-embedding-vision-flash solo están disponibles en la región Singapore. Para invocar un modelo, debe utilizar una clave API de la región correspondiente.

Tipos de embedding

El modelo de embedding multimodal admite dos métodos para generar embeddings:
  • Incrustación independiente multimodal: Genera una incrustación separada para cada entrada, como texto, una imagen, un video o múltiples imágenes, dentro de contents. Por ejemplo, una entrada compuesta por una cadena de texto y una imagen devuelve dos incrustaciones independientes. Esto es ideal para comparar elementos individuales, como en búsquedas de imagen a imagen o de texto a imagen.
  • Incrustación fusionada multimodal: Fusiona todas las entradas en contents en una sola incrustación para lograr una representación semántica intermodal unificada. Esto es adecuado para escenarios que requieren una comprensión integral del contenido multimodal, como fusionar la imagen de un producto y su texto descriptivo en una representación unificada para su recuperación. Para qwen3-vl-embedding, se habilita la fusión estableciendo enable_fusion=true. La incrustación fusionada admite las siguientes combinaciones:
    • Fusión de texto e imagen
    • Fusión de texto y video
    • Fusionar múltiples imágenes con texto (pasando múltiples entradas de image)
    • Fusión de imágenes, video y texto
tongyi-embedding-vision-plus y tongyi-embedding-vision-flash admiten únicamente incrustaciones independientes.
Para presentaciones de modelos, orientación sobre selección e instrucciones de uso, consulte Incrustación de texto y multimodal.

Resumen de modelos

  • Singapore
  • China (Beijing)

Modelo

Dimensiones de embedding

Límite de longitud de texto

Límite de tamaño de imagen

Límite de tamaño de video

Precio (por 1M tokens)

Cuota gratuita(Nota)

tongyi-embedding-vision-plus

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

1,024 token

Hasta 3 MB por imagen. Admite hasta 8 imágenes.

Hasta 10 MB por archivo de video

Imagen/Video: $0.09

Texto: $0.09

1 millón de tokens

Esta cuota gratuita es válida durante 90 días a partir de la fecha de activación de Model Studio, lanzamiento del modelo o aprobación de la solicitud, lo que ocurra más tarde.

tongyi-embedding-vision-flash

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

Imagen/Video: $0.03

Texto: $0.09

Formatos de entrada y límites de uso

Modelo multimodal fusionado
ModeloTextoImagenVideoLímite de solicitudes
qwen3-vl-embeddingAdmite 33 idiomas principales, como chino, inglés, japonés, coreano, francés y alemán.
Chino, japonés, coreano, indonesio, vietnamita, tailandés, inglés, francés, alemán, ruso, portugués, español, italiano, sueco, danés, checo, noruego, neerlandés, finés, turco, polaco, suajili, rumano, serbio, griego, kazajo, uzbeko, cebuano, árabe, urdu, persa, hindi/devanagari y hebreo.
JPEG, PNG, WEBP, BMP, TIFF, ICO, DIB, ICNS y SGI (compatible con URL o Base64)MP4, AVI y MOV (solo URL)El número total de elementos de contenido en una sola solicitud no puede exceder 20. El número de imágenes no puede exceder 5. Las imágenes, el texto y los videos comparten este límite.
Modelo multimodal independiente
ModeloTextoImagenVideoLímite de solicitudes
tongyi-embedding-vision-plusChino/InglésJPG, PNG y BMP (compatible con URL o Base64)MP4, MPEG, AVI, MOV, MPG, WEBM, FLV y MKV (solo URL)No hay límite en el número de elementos de contenido. El número total de tokens de entrada no debe exceder el límite de tokens.
tongyi-embedding-vision-flash
multimodal-embedding-v1El número total de elementos de contenido en una sola solicitud no puede exceder 20. Una solicitud puede contener un máximo de 1 imagen, 1 video y 20 entradas de texto. Estos elementos comparten el límite total.
Todos los modelos aceptan entradas de texto, imagen y video, ya sea de forma individual o combinada. Los modelos tongyi-embedding-vision-plus y tongyi-embedding-vision-flash también admiten multi_images para secuencias de imágenes.

Capacidades del modelo

Modelo

Dimensión predeterminada

Tipo de vector

Entradas admitidas

Descripción

qwen3-vl-embedding

2560

Independiente / Fusión

texto, imagen, video, múltiples imágenes

El modo de fusión, habilitado con el parámetro enable_fusion, combina entradas multimodales en un solo vector.

tongyi-embedding-vision-plus

1152

Solo independiente

texto, imagen, video, multi_images

Admite secuencias de multi_images (hasta 8 imágenes).

tongyi-embedding-vision-flash

768

multimodal-embedding-v1

1024

texto, imagen, video

La dimensión del vector es fija en 1,024 y no se puede configurar.

Requisitos previos

Obtenga una clave API y exporte la clave API como variable de entorno. Si utiliza un SDK para realizar las llamadas, instale el SDK de DashScope.

Llamada HTTP

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

Solicitud

  • Incrustación independiente multimodal
  • Incrustación fusionada multimodal
El siguiente ejemplo utiliza el modelo tongyi-embedding-vision-plus para generar una incrustación independiente para cada entrada. Puede reemplazar el nombre del modelo por otro modelo compatible. El tipo multi_images solo es compatible con tongyi-embedding-vision-plus y tongyi-embedding-vision-flash. El modelo qwen3-vl-embedding también admite un modo de incrustación fusionada, que puede habilitar estableciendo enable_fusion=true. Para más detalles, consulte la pestaña "Incrustación fusionada multimodal".
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"
                    ]
                  }
            ]
        }
    }'

Encabezados de solicitud

Content-Type string (Requerido)El tipo de contenido de la solicitud. Debe ser application/json.
Authorization string (Requerido)Autentica la solicitud con una clave API de Model Studio. Ejemplo: Bearer sk-xxxx.

Cuerpo de la solicitud

model string(obligatorio)El nombre del modelo. Seleccione un modelo del Resumen de modelos.
input object(obligatorio)El contenido de entrada.

Propiedades

contentsarray(obligatorio)Los elementos de contenido a procesar. Cada elemento es un diccionario o una cadena que especifica el tipo de contenido y su valor en el formato {"modality_type": "input_string_or_image/video_url"}. Los tipos de modalidad admitidos son text, image, video y multi_images.
El modelo qwen3-vl-embedding admite la generación de incrustaciones tanto fusionadas como independientes. Para generar una incrustación fusionada, agregue el campo booleano enable_fusion y establézcalo en true.
  • Texto: La clave es text y el valor es una cadena. También puede pasar la cadena directamente sin un diccionario.
  • Imagen: Utilice la clave image. El valor puede ser una URL pública o un URI de datos codificado en Base64. El formato Base64 es data:image/{format};base64,{data}, donde {format} es el formato de la imagen, como jpeg o png, y {data} es la cadena codificada en Base64.
  • Múltiples imágenes: Este tipo solo es compatible con los modelos tongyi-embedding-vision-plus y tongyi-embedding-vision-flash. La clave es multi_images y el valor es una lista de imágenes. Cada elemento de la lista es una imagen que debe seguir el formato descrito anteriormente.
  • Video: La clave es video. El valor debe ser una URL accesible públicamente.
parameters object (opcional)Parámetros de procesamiento de incrustación. Para llamadas HTTP, debe incluir estos parámetros dentro del objeto parameters. Para llamadas mediante SDK, puede utilizar estos parámetros directamente.

Propiedades

output_type string (opcional)El formato para la representación del embedding de salida. Actualmente, solo se admite dense. Otros valores se ignoran sin error y se devuelve dense.dimension integer (opcional)La dimensión del embedding de salida. Los valores admitidos varían según el modelo:
  • qwen3-vl-embedding: Admite 2560, 2048, 1536, 1024, 768, 512 y 256. El valor predeterminado es 2560.
  • tongyi-embedding-vision-plus: Admite 64, 128, 256, 512, 1024 y 1152. El valor predeterminado es 1152.
  • tongyi-embedding-vision-flash: Admite 64, 128, 256, 512 y 768. El valor predeterminado es 768.
  • multimodal-embedding-v1: No admite este parámetro. Devuelve un embedding de dimensión fija de 1024.
fps float (opcional)La tasa de muestreo de fotogramas de video. Un valor menor extrae menos fotogramas. El rango válido es [0, 1] y el valor predeterminado es 1.0. Los valores fuera de este rango no causan errores.instruct string (opcional)Una descripción personalizada de la tarea para ayudar al modelo a comprender la intención de la consulta. Se recomiendan instrucciones en inglés, las cuales pueden mejorar el rendimiento entre un 1% y un 5%.enable_fusion bool (opcional)Especifica si se debe generar una incrustación fusionada. Este parámetro solo es compatible con el modelo qwen3-vl-embedding. Cuando se establece en true, todo el contenido multimodal en el arreglo contents se fusiona en una sola incrustación. El valor predeterminado es false, que genera una incrustación independiente para cada modalidad. Las incrustaciones fusionadas admiten combinaciones como texto e imagen, texto y video, múltiples imágenes y texto (pasando múltiples elementos de imagen), y una mezcla de imagen, video y texto. Esto es adecuado para escenarios de recuperación que requieren una comprensión integral del contenido multimodal.

Respuesta

  • Respuesta exitosa
  • Respuesta de error
{
    "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"
}
El campo usage varía según el modelo. Consulte las siguientes descripciones:
  • Modelos de la serie tongyi-embedding-vision-*: Devuelven input_tokens (suma de tokens de texto e imagen), input_tokens_details (incluyendo image_tokens y text_tokens), output_tokens y total_tokens. El ejemplo de respuesta anterior corresponde a este tipo de modelo.
  • qwen3-vl-embedding: Devuelve solo input_tokens (únicamente tokens de texto, incluidos los tokens de plantilla del sistema), image_tokens y total_tokens (= input_tokens + image_tokens). No devuelve input_tokens_details ni output_tokens. Ejemplo:
{
    "usage": {
        "input_tokens": 43,
        "image_tokens": 1247,
        "total_tokens": 1290
    }
}
  • multimodal-embedding-v1: Devuelve input_tokens, image_tokens, image_count y duration. No devuelve total_tokens, input_tokens_details ni output_tokens.
output objectSalida de la tarea.

Propiedades

embeddings arrayUna lista de los embeddings resultantes, donde cada objeto corresponde a un elemento de entrada.

Propiedades

index intEl índice del resultado en la lista de entrada.embedding arrayLa dimensión del arreglo generado de embeddings depende del modelo y del parámetro dimension.type stringEl tipo de entrada para este resultado. text, image, video y multi_images corresponden a entradas de texto, imagen, video y múltiples imágenes, respectivamente. Los tipos especiales incluyen: fusion es el tipo devuelto por el modelo qwen3-vl-embedding en modo de incrustación fusionada; vl es el tipo devuelto por el modelo qwen3-vl-embedding en modo de incrustación independiente.
request_id stringIdentificador único de solicitud para rastreo y solución de problemas.
code stringCódigo de error. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error.
message stringMensaje de error detallado. Se devuelve solo para solicitudes fallidas. Consulte Códigos de error.
usage objectEstadísticas sobre el uso de tokens.

Propiedades

input_tokens intEl número de tokens en el contenido de entrada para la solicitud actual. Para el modelo qwen3-vl-embedding, este valor incluye únicamente tokens de texto (incluidos los tokens de plantilla del sistema) y no incluye tokens de imagen ni de video. Para los modelos de la serie tongyi-embedding-vision-*, este valor incluye el número total de tokens de texto, imagen y video.input_tokens_details objectUn desglose detallado de los tokens de entrada. Este campo solo es devuelto por los modelos de la serie tongyi-embedding-vision-*. No es devuelto por los modelos qwen3-vl-embedding ni multimodal-embedding-v1.

Propiedades

image_tokens intEl número de tokens para las imágenes o videos de entrada.text_tokens intEl número de tokens para el texto de entrada.
output_tokens intEl número de tokens en la salida para la solicitud actual. Este campo solo es devuelto por los modelos de la serie tongyi-embedding-vision-*.total_tokens intEl número total de tokens de entrada y salida. Este campo es devuelto por los modelos qwen3-vl-embedding y tongyi-embedding-vision-*, pero no por el modelo multimodal-embedding-v1. Para el modelo qwen3-vl-embedding, total_tokens = input_tokens + image_tokens.image_tokens intEl número de tokens correspondientes a las imágenes o videos de entrada en la solicitud actual. El sistema muestrea fotogramas de los videos de entrada, con un número máximo de fotogramas controlado por la configuración del sistema, y luego calcula los tokens basándose en el resultado procesado. Este campo se devuelve como un campo de nivel superior únicamente en los modelos qwen3-vl-embedding y multimodal-embedding-v1. Para los modelos de la serie tongyi-embedding-vision-*, el recuento de tokens de imagen se incluye en input_tokens_details.image_tokens.image_count intEl número de imágenes en la entrada para la solicitud actual. Este campo solo es devuelto por el modelo multimodal-embedding-v1.duration intLa duración del video de entrada en segundos. Este campo solo es devuelto por el modelo multimodal-embedding-v1.

Uso del SDK

El parámetro input del SDK se asigna a input.contents en el cuerpo de la solicitud HTTP, pero sus estructuras son diferentes.

Ejemplos de código

  • Incrustación de imagen
  • Incrustación de video
  • Embedding de texto
  • Incrustación fusionada
  • Incrustación fusionada de múltiples imágenes
  • Versión snapshot 2026-03-06
  • CLI de dashscope
  • URL de imagen
  • Imagen local
import os
import dashscope
from dashscope.v2 import DashScopeError
# La siguiente configuración corresponde a la región de Singapur. Sustituya {WorkspaceId} por el ID real de su espacio de trabajo al realizar la llamada. El valor de region varía según la región.
client = dashscope.Client(
    # Si no ha configurado la variable de entorno, sustitúyala por su API Key de Model Studio: api_key="sk-xxx",
    # Las API Key varían según la región. Para obtener una API Key, consulte https://www.alibabacloud.com/help/model-studio/regions
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    workspace="{WorkspaceId}",
    region="ap-southeast-1",
)
# En el uso real, sustituya la dirección url por la dirección url de su imagen
image = "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png"
input = [{'image': image}]
try:
    # Llame a la interfaz del modelo
    resp = client.multimodal.embeddings.create(
        model="tongyi-embedding-vision-plus",
        input=input
    )
    # Resultado de vectores: resp.embeddings[i].embedding es el array de vectores y resp.embeddings[i].index es el índice de entrada
    print(resp.model_dump_json(indent=4))
except DashScopeError as e:
    print(f"Código de estado HTTP: {e.status_code}")
    print(f"Código de error: {e.code}")
    print(f"Mensaje de error: {e.message}")
    print("Consulte la documentación: https://www.alibabacloud.com/help/model-studio/developer-reference/error-code")

Ejemplo de salida

{
    "request_id": "40532987-ba72-42aa-a178-bb58b52fb7f3",
    "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
    }
}

Códigos de error

Si la llamada al modelo falla y devuelve un mensaje de error, consulte Códigos de error para su resolución.