---
title: "Create embeddings"
method: POST
path: "/embeddings"
---

# Create embeddings

`POST /embeddings`

## Request body

- CreateEmbeddingRequest
  - `input` union, required — Input text to embed, encoded as a string. To embed multiple inputs in a single request, pass an array of strings. You can pass structured object(s) to use along with the prompt_template. The input must not exceed the max input tokens for the model (8192 tokens for `nomic-ai/nomic-embed-text-v1.5`), cannot be an empty string, and any array must be 2048 dimensions or less.
    - string — The string that will be turned into an embedding.
    - string[] — The array of strings that will be turned into an embedding.
    - object — Structured data to use while forming the input string using the prompt template.
    - object[] — Array of structured data to use while forming the input strings using the prompt template.
  - `model` string, required — The model to use for generating embeddings.
  - `prompt_template` string — Template string for processing input data before embedding. When provided, fields from the input object are substituted using [Jinja2](https://jinja.palletsprojects.com/en/stable/). For example, simple substitution is done using `{field_name}` syntax. The resulting string(s) are then embedded. For array inputs, each object generates a separate string. Additionally, we expose `truncate_tokens(string)` function to the template that allows to truncate the string based on token lengths instead of characters
  - `dimensions` integer — The number of dimensions the resulting output embeddings should have. Only supported in `nomic-ai/nomic-embed-text-v1.5` and later models.
  - `return_logits` integer[] — If provided, returns raw model logits (pre-softmax scores) for specified token or class indices. If an empty list is provided, returns logits for all available tokens/classes. Otherwise, only the specified indices are returned. When used with normalize=true, softmax is applied to create probability distributions. Softmax is applied only to the selected tokens, so output probabilities will always add up to 1.
  - `normalize` boolean — Controls normalization of the output. When return_logits is not provided, embeddings are L2 normalized (unit vectors). When return_logits is provided, softmax is applied to the selected logits to create probability distributions.

## Response `200`

OK

- CreateEmbeddingResponse
  - `data` Embedding[], required — The list of embeddings generated by the model.
    - `index` integer, required — The index of the embedding in the list of embeddings.
    - `embedding` number[], required — The embedding vector, which is a list of floats. The length of vector depends on the model as listed in the [embedding guide](/guides/querying-embedding-models).
    - `object` 'embedding', required — The object type, which is always "embedding".
  - `model` string, required — The name of the model used to generate the embedding.
  - `object` 'list', required — The object type, which is always "list".
  - `usage` object, required — The usage information for the request.
    - `prompt_tokens` integer, required — The number of tokens used by the prompt.
    - `total_tokens` integer, required — The total number of tokens used by the request.

---

[API](https://skmtc.net/fireworks/apis/fireworks-ai-anthropic-compatible-messages-api.md) · [All operations](https://skmtc.net/fireworks/apis/fireworks-ai-anthropic-compatible-messages-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fireworks/fireworks-ai-anthropic-compatible-messages-api/versions/954d6bc5d922/schema)
