Jina AI Embeddings API
Generate high-quality embeddings from text, images, or code using Jina AI's state-of-the-art embedding models.
Generate high-quality embeddings from text, images, or code using Jina AI's state-of-the-art embedding models.
openapi: 3.0.3
info:
title: Jina AI Embeddings API
description: >-
Generate high-quality multimodal embeddings for text, image, and code inputs
using Jina AI's state-of-the-art embedding models. Supports synchronous
embedding requests and batch jobs for large workloads.
version: '1.0'
contact:
name: Jina AI
url: https://jina.ai
servers:
- url: https://api.jina.ai/v1
description: Jina AI production API
security:
- BearerAuth: []
tags:
- name: Embeddings
description: Synchronous embedding generation
- name: Batch
description: Asynchronous batch embedding jobs
paths:
/embeddings:
post:
tags:
- Embeddings
summary: Create embeddings
description: Generate vector embeddings for one or more text, image, or code inputs.
operationId: createEmbeddings
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EmbeddingRequest'
responses:
'200':
description: Embeddings successfully generated
content:
application/json:
schema:
$ref: '#/components/schemas/EmbeddingResponse'
'401':
description: Unauthorized
'429':
description: Rate limit exceeded
/batch/embeddings:
post:
tags:
- Batch
summary: Submit batch embedding job
description: Submit a batch job to embed a large set of inputs asynchronously.
operationId: submitBatchEmbeddings
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BatchEmbeddingRequest'
responses:
'202':
description: Batch job accepted
content:
application/json:
schema:
$ref: '#/components/schemas/BatchJob'
/batch/{batch_id}:
get:
tags:
- Batch
summary: Get batch job status
operationId: getBatchJob
parameters:
- name: batch_id
in: path
required: true
schema:
type: string
responses:
'200':
description: Batch job status
content:
application/json:
schema:
$ref: '#/components/schemas/BatchJob'
delete:
tags:
- Batch
summary: Cancel batch job
operationId: cancelBatchJob
parameters:
- name: batch_id
in: path
required: true
schema:
type: string
responses:
'200':
description: Batch job cancelled
/batch/{batch_id}/output:
get:
tags:
- Batch
summary: Download batch job output
operationId: getBatchOutput
parameters:
- name: batch_id
in: path
required: true
schema:
type: string
responses:
'200':
description: Batch output stream
/batch/{batch_id}/errors:
get:
tags:
- Batch
summary: Retrieve batch job errors
operationId: getBatchErrors
parameters:
- name: batch_id
in: path
required: true
schema:
type: string
responses:
'200':
description: Batch errors stream
components:
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: API Key
schemas:
EmbeddingRequest:
type: object
required:
- model
- input
properties:
model:
type: string
description: Embedding model identifier
example: jina-embeddings-v4
enum:
- jina-embeddings-v5-text-small
- jina-embeddings-v5-text-nano
- jina-embeddings-v4
- jina-embeddings-v3
- jina-clip-v2
input:
type: array
description: Inputs to embed (text strings or image references)
items:
type: string
task:
type: string
description: Downstream task to optimize the embedding for
enum:
- retrieval.query
- retrieval.passage
- text-matching
- classification
- clustering
dimensions:
type: integer
description: Optional truncation length for output vectors
normalized:
type: boolean
description: Whether to L2-normalize the output vectors
embedding_type:
type: string
enum: [float, base64, binary, ubinary]
EmbeddingResponse:
type: object
properties:
model:
type: string
object:
type: string
example: list
usage:
$ref: '#/components/schemas/Usage'
data:
type: array
items:
$ref: '#/components/schemas/EmbeddingObject'
EmbeddingObject:
type: object
properties:
object:
type: string
example: embedding
index:
type: integer
embedding:
type: array
items:
type: number
format: float
Usage:
type: object
properties:
total_tokens:
type: integer
prompt_tokens:
type: integer
BatchEmbeddingRequest:
type: object
required:
- model
- input_file_id
properties:
model:
type: string
input_file_id:
type: string
description: Identifier of an uploaded input file
endpoint:
type: string
example: /v1/embeddings
completion_window:
type: string
example: 24h
BatchJob:
type: object
properties:
id:
type: string
status:
type: string
enum: [validating, in_progress, completed, failed, cancelling, cancelled]
created_at:
type: integer
endpoint:
type: string
request_counts:
type: object
properties:
total:
type: integer
completed:
type: integer
failed:
type: integer