---
title: "Submit an embedding request"
method: POST
path: "/embeddings"
tags: ["Embeddings"]
---

# Submit an embedding request

`POST /embeddings`

Submits an embedding request to the embeddings router

## Request body

- object — Embeddings request input
  - `dimensions` integer — The number of dimensions for the output embeddings
  - `encoding_format` 'float' | 'base64' — The format of the output embeddings
  - `input` union, required — Text, token, or multimodal input(s) to embed
    - string
    - string[]
    - number[]
    - array[]
      - number[]
    - object[]
      - `content` union[], required
        - union
          - object
            - `text` string, required
            - `type` 'text', required
          - object
            - `image_url` object, required
              - …
            - `type` 'image_url', required
          - ContentPartInputAudio
            - `input_audio` MultimodalMedia, required
              - …
            - `type` 'input_audio', required
          - ContentPartInputVideo
            - `input_video` MultimodalMedia, required
              - …
            - `type` 'input_video', required
          - ContentPartInputFile
            - `input_file` MultimodalMedia, required
              - …
            - `type` 'input_file', required
  - `input_type` string — The type of input (e.g. search_query, search_document)
  - `model` string, required — The model to use for embeddings
  - `user` string — A unique identifier for the end-user

## Response `200`

Embedding response

- object — Embeddings response containing embedding vectors
  - `data` object[], required — List of embedding objects
    - `embedding` union, required — Embedding vector as an array of floats or a base64 string
      - number[]
      - string
    - `index` integer — Index of the embedding in the input list
    - `object` 'embedding', required
  - `id` string — Unique identifier for the embeddings response
  - `model` string, required — The model used for embeddings
  - `object` 'list', required
  - `usage` object — Token usage statistics
    - `cost` number, double — Cost of the request in credits
    - `cost_details` CostDetails, nullable — Breakdown of upstream inference costs
      - `upstream_inference_completions_cost` number, double, required
      - `upstream_inference_cost` number, double, nullable
      - `upstream_inference_prompt_cost` number, double, required
    - `is_byok` boolean — Whether a request was made using a Bring Your Own Key configuration
    - `prompt_tokens` integer, required — Number of tokens in the input
    - `prompt_tokens_details` object — Per-modality token breakdown. Only present when the input contains 2+ modalities (e.g. text + image) and the upstream provider returns modality-level usage data. Only non-zero modality counts are included.
      - `audio_tokens` integer — Number of audio tokens in the input
      - `file_tokens` integer — Number of file/document tokens in the input
      - `image_tokens` integer — Number of image tokens in the input
      - `text_tokens` integer — Number of text tokens in the input
      - `video_tokens` integer — Number of video tokens in the input
    - `total_tokens` integer, required — Total number of tokens used

## Other responses

- `400` — Bad Request - Invalid request parameters or malformed input
- `401` — Unauthorized - Authentication required or invalid credentials
- `402` — Payment Required - Insufficient credits or quota to complete request
- `404` — Not Found - Resource does not exist
- `429` — Too Many Requests - Rate limit exceeded
- `500` — Internal Server Error - Unexpected server error
- `502` — Bad Gateway - Provider/upstream API failure
- `503` — Service Unavailable - Service temporarily unavailable
- `524` — Infrastructure Timeout - Provider request timed out at edge network
- `529` — Provider Overloaded - Provider is temporarily overloaded

---

[API](https://skmtc.net/openrouterteam/apis/openrouter-api.md) · [All operations](https://skmtc.net/openrouterteam/apis/openrouter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openrouterteam/openrouter-api/versions/9d1da2c7d2c3/schema)
