> ## Documentation Index
> Fetch the complete documentation index at: https://docs.elkapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Embedding

> <ul><li>Convert text into vector embeddings</li></ul>

<RequestExample>
  ```bash cURL theme={null} theme={null}
  curl --request POST \
    --url 'https://api.elkapi.com/v1/embeddings' \
    --header 'Authorization: Bearer <token>' \
    --header 'Content-Type: application/json' \
    --data '{
    "model": "text-embedding-3-large",
    "input": "The weather is great today, perfect for a walk."
  }'
  ```

  ```python Python theme={null} theme={null}
  import requests

  url = "https://api.elkapi.com/v1/embeddings"
  headers = {
      "Authorization": "Bearer <token>"
  }
  headers["Content-Type"] = "application/json"
  payload = {
      "model": "text-embedding-3-large",
      "input": "The weather is great today, perfect for a walk."
  }

  response = requests.request("POST", url, headers=headers, json=payload)
  print(response.json())
  ```

  ```javascript JavaScript theme={null} theme={null}
  const url = "https://api.elkapi.com/v1/embeddings";

  const headers = {
    "Authorization": "Bearer <token>"
  };
  headers["Content-Type"] = "application/json";
  const payload = {
    "model": "text-embedding-3-large",
    "input": "The weather is great today, perfect for a walk."
  };

  const response = await fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(payload)
  });

  console.log(await response.json());
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null} theme={null}
  {
    "object": "list",
    "data": [
      {
        "object": "embedding",
        "index": 1,
        "embedding": [
          1
        ]
      }
    ],
    "model": "text-embedding-3-large",
    "usage": {
      "prompt_tokens": 1,
      "total_tokens": 1
    }
  }
  ```
</ResponseExample>

## Authorizations

<ParamField header="Authorization" type="string" required>
  All endpoints require Bearer Token authentication.

  Add it to the request headers:

  ```
  Authorization: Bearer YOUR_API_KEY
  ```
</ParamField>

## Body

<ParamField body="model" type="string" required default="text-embedding-3-large">
  Example: `text-embedding-3-large`
</ParamField>

<ParamField body="input" type="string or array<string>" required>
  Text to embed
</ParamField>

<ParamField body="encoding_format" type="string" default="float">
  Allowed values: `float`, `base64`
</ParamField>

<ParamField body="dimensions" type="integer">
  Output vector dimensions
</ParamField>

## Response

<ResponseField name="object" type="string">
  Example: `list`
</ResponseField>

<ResponseField name="data" type="array<object>">
  <ResponseField name="data.object" type="string">
    Example: `embedding`
  </ResponseField>

  <ResponseField name="data.index" type="integer" />

  <ResponseField name="data.embedding" type="array<number>" />
</ResponseField>

<ResponseField name="model" type="string" default="text-embedding-3-large">
  Example: `text-embedding-3-large`
</ResponseField>

<ResponseField name="usage" type="object">
  <ResponseField name="usage.prompt_tokens" type="integer" />

  <ResponseField name="usage.total_tokens" type="integer" />
</ResponseField>
