본문으로 건너뛰기

Embeddings

OpenAI 호환 텍스트 임베딩과 BytePlus ModelArk의 텍스트·이미지·비디오 임베딩을 생성합니다.

POST /v1/embeddings는 입력을 부동소수점 벡터로 변환합니다. 문자열 입력은 OpenAI Embeddings API와 호환되고, ModelArk의 멀티모달 임베딩 모델은 하나의 배열에서 텍스트·이미지·비디오를 함께 받습니다.

POST/v1/embeddings

연결하기#

OpenAI SDK로 연결할 때 base_url을 https://apirouter.pleum.ai/v1로, API 키를 plm_ 키로 설정하세요. SDK가 /v1/embeddings를 붙입니다.

OpenAI SDK (Python)
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)
OpenAI SDK (TypeScript)
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);

요청 본문#

파라미터타입필수설명
modelstring선택임베딩 모델 ID. 기본값은 text-embedding-3-large입니다. 멀티모달 객체를 쓰려면 활성 BytePlus ModelArk 임베딩 모델을 지정하세요.
inputstring | array필수문자열 하나 또는 문자열/콘텐츠 객체의 배열입니다. 빈 배열은 400입니다.
dimensionsinteger선택선택. 축소 임베딩 차원(1~10,000). OpenAI 호환 제공자에 전달되며, 미지원 오퍼링이면 업스트림 오류로 돌아옵니다. ModelArk 멀티모달 임베딩은 이 파라미터를 지원하지 않아 400을 받습니다.
encoding_formatstring선택선택. "float"만 지원합니다(생략과 동일). "base64"는 422로 거절되며, 응답 임베딩은 항상 float 배열입니다.

model은 활성 임베딩 모델이어야 합니다. 채팅 모델이나 멀티모달 입력을 지원하지 않는 provider에 이미지·비디오 객체를 보내면 호출 전에 400이 반환됩니다.

text input
{
  "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로 전달합니다.

ModelArk multimodal request
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"}}
    ]
  }'
배열은 최대 2,048개 항목, 문자열과 text 콘텐츠는 항목당 최대 100,000자입니다. 문자열 전용 요청은 기존 OpenAI 호환 경로를 유지합니다.

응답#

응답은 OpenAI 형식의 data 배열(벡터와 index)과 usage를 반환합니다. 비용은 응답 뒤에 정산되므로 cost(KRW 비용·환율·마크업)는 처리 경로에 따라 생략될 수 있습니다 — 응답 헤더 X-Request-Id로 GET /v1/generation?id=…를 호출하거나 대시보드 사용량에서 확인하세요.

200 OK
{
  "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는 전체 입력 토큰 수입니다.