Embeddings
OpenAI 호환 텍스트 임베딩과 BytePlus ModelArk의 텍스트·이미지·비디오 임베딩을 생성합니다.
POST /v1/embeddings는 입력을 부동소수점 벡터로 변환합니다. 문자열 입력은 OpenAI Embeddings API와 호환되고, ModelArk의 멀티모달 임베딩 모델은 하나의 배열에서 텍스트·이미지·비디오를 함께 받습니다.
연결하기#
OpenAI SDK로 연결할 때 base_url을 https://apirouter.pleum.ai/v1로, API 키를 plm_ 키로 설정하세요. SDK가 /v1/embeddings를 붙입니다.
from openai import OpenAI
client = OpenAI(
api_key="plm_...",
base_url="https://apirouter.pleum.ai/v1",
)
response = client.embeddings.create(
model="text-embedding-3-large",
input=["The quick brown fox", "jumps over the lazy dog"],
)
print(response.data[0].embedding)import OpenAI from "openai";
const client = new OpenAI({
apiKey: "plm_...",
baseURL: "https://apirouter.pleum.ai/v1",
});
const response = await client.embeddings.create({
model: "text-embedding-3-large",
input: ["The quick brown fox", "jumps over the lazy dog"],
});
console.log(response.data[0].embedding);요청 본문#
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
| model | string | 선택 | 임베딩 모델 ID. 기본값은 text-embedding-3-large입니다. 멀티모달 객체를 쓰려면 활성 BytePlus ModelArk 임베딩 모델을 지정하세요. |
| input | string | array | 필수 | 문자열 하나 또는 문자열/콘텐츠 객체의 배열입니다. 빈 배열은 400입니다. |
| dimensions | integer | 선택 | 선택. 축소 임베딩 차원(1~10,000). OpenAI 호환 제공자에 전달되며, 미지원 오퍼링이면 업스트림 오류로 돌아옵니다. ModelArk 멀티모달 임베딩은 이 파라미터를 지원하지 않아 400을 받습니다. |
| encoding_format | string | 선택 | 선택. "float"만 지원합니다(생략과 동일). "base64"는 422로 거절되며, 응답 임베딩은 항상 float 배열입니다. |
model은 활성 임베딩 모델이어야 합니다. 채팅 모델이나 멀티모달 입력을 지원하지 않는 provider에 이미지·비디오 객체를 보내면 호출 전에 400이 반환됩니다.
{
"model": "text-embedding-3-large",
"input": ["The quick brown fox", "jumps over the lazy dog"]
}ModelArk 멀티모달 입력#
콘텐츠 객체는 배열 안에서만 사용합니다. text는 {"type":"text","text":"…"}, 이미지는 {"type":"image_url","image_url":{"url":"https://…"}}, 비디오는 {"type":"video_url","video_url":{"url":"https://…"}} 형식입니다. URL은 HTTP 또는 HTTPS여야 하며 서버가 미디어를 내려받지 않고 ModelArk로 전달합니다.
curl https://apirouter.pleum.ai/v1/embeddings \
-H "Authorization: Bearer $PLEUM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "skylark-embedding-vision-251215",
"input": [
{"type": "text", "text": "A ceramic mug on a desk"},
{"type": "image_url", "image_url": {"url": "https://example.com/mug.png"}},
{"type": "video_url", "video_url": {"url": "https://example.com/mug.mp4"}}
]
}'응답#
응답은 OpenAI 형식의 data 배열(벡터와 index)과 usage를 반환합니다. 비용은 응답 뒤에 정산되므로 cost(KRW 비용·환율·마크업)는 처리 경로에 따라 생략될 수 있습니다 — 응답 헤더 X-Request-Id로 GET /v1/generation?id=…를 호출하거나 대시보드 사용량에서 확인하세요.
{
"object": "list",
"data": [
{"object": "embedding", "embedding": [0.01, -0.02], "index": 0}
],
"model": "skylark-embedding-vision-251215",
"usage": {"prompt_tokens": 29, "total_tokens": 29}
}사용량 및 과금#
텍스트·이미지·비디오가 섞인 ModelArk 요청은 provider가 보고한 모달리티별 입력 토큰으로 최종 정산합니다. 공개 usage.prompt_tokens는 전체 입력 토큰 수입니다.