OpenAI compatible - Embedding

更新时间:
复制 MD 格式

Alibaba Cloud Model Studio's embedding models are compatible with the OpenAI API. To migrate your existing OpenAI applications to Model Studio, you only need to adjust the following three parameters:

  • base_url: Replace with https://dashscope.aliyuncs.com/compatible-mode/v1.

  • api_key: Replace with a Model Studio API key.

  • model: Replace with a model name from the list below.

Important

Model Studio has released workspace-specific domains for the Singapore regions. The new dedicated domains deliver superior performance and higher stability for inference requests. We recommend migrating to the new domains:

  • Singapore: from https://dashscope-intl.aliyuncs.com to https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

{WorkspaceId} is your workspace ID, which can be found on the Workspace Details page in the Model Studio console. The existing domain remains fully functional.

Supported models

Model

Embedding dimensions

Max rows

Max tokens per line

Price (per 1K input tokens)

Supported languages

Free quota (Note)

text-embedding-v4

Part of the Qwen3-Embedding series

2,048, 1,536, 1,024 (default), 768, 512, 256, 128, 64

10

8,192

CNY 0.0005

Batch call: CNY 0.00025

Chinese, English, Spanish, French, Portuguese, Indonesian, Japanese, Korean, German, Russian, and over 100 other major languages, plus multiple programming languages

1 million tokens each

Validity: 90 days after you activate Model Studio

text-embedding-v3

1,024 (default), 768, 512, 256, 128, or 64

Chinese, English, Spanish, French, Portuguese, Indonesian, Japanese, Korean, German, Russian, and over 50 other major languages

text-embedding-v2

1,536

25

2,048

CNY 0.0007

Batch call: CNY 0.00035

Chinese, English, Spanish, French, Portuguese, Indonesian, Japanese, Korean, German, Russian

500,000 tokens each

Validity: 90 days after you activate Model Studio

text-embedding-v1

Chinese, English, Spanish, French, Portuguese, Indonesian

Multimodal embedding models, such as qwen3-vl-embedding and the tongyi-embedding-vision series, do not support the OpenAI-compatible API. See Multimodal Embedding.

How to use

Call examples

This section provides examples of string input using Python (OpenAI SDK) and cURL (HTTP). For examples that use other programming languages or input methods, see Get started with text embedding.

OpenAI SDK

To call the service using the OpenAI SDK, you must first install the OpenAI SDK.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.getenv("DASHSCOPE_API_KEY"),  # If you have not configured the environment variable, replace this value with your API key.
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"  # The base_url of the Model Studio service
)

completion = client.embeddings.create(
    model="text-embedding-v4",
    input='The quality of the clothes is excellent. They are beautiful. It was worth the wait. I like them and will buy from here again.',
    dimensions=1024, # Specify the vector dimension. Only text-embedding-v3 and text-embedding-v4 support this parameter.
    encoding_format="float"
)

print(completion.model_dump_json())

HTTP

Submit an interface call

POST https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings

Call from the command line

curl --location 'https://dashscope.aliyuncs.com/compatible-mode/v1/embeddings' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "text-embedding-v4",
    "input": "The quality of the clothes is excellent. They are beautiful. It was worth the wait. I like them and will buy from here again.",
    "encoding_format": "float"
}'

The following result is returned after you run the code:

Result

{ 
  "data": [
    {
      "embedding": [
        0.0023064255,
        -0.009327292,
        .... 
        -0.0028842222
      ],
      "index": 0,
      "object": "embedding"
    }
  ],
  "model":"text-embedding-v4",
  "object":"list",
  "usage":{"prompt_tokens":23,"total_tokens":23},
  "id":"f62c2ae7-0906-9758-ab34-47c5764f07e2"
}

Sample error response

If an access request error occurs, the cause is indicated by the code and message parameters in the response.

{
    "error": {
        "message": "Incorrect API key provided. ",
        "type": "invalid_request_error",
        "param": null,
        "code": "invalid_api_key"
    }
}

API reference

Text embedding API reference

Error codes

If the model call fails and returns an error message, see Error codes for resolution.