Start Batch Embedding Job
jina.create_batch_embedding
ActionAI & modelsconnection required
Calls the Jina AI API with the connection's credentials.
Submit an asynchronous batch embedding job for a large corpus and return the job id and its starting status, not the vectors.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- Bearer token
- Providers
- Jina AI
- Secret shape
- the API key, or {"api_key": "…"}
- Config it needs
- base_url, default_embedding_model, default_reranker_model
- Resolved by
- config.connection_id, else node.connection_id
Configuration
7 fields, none required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
model Batch embedding model, for example jina-embeddings-v5-text-nano. Falls back to the connection's default. | string | No | — | — | jina-embeddings-v5-text-nano |
input Inline JSONL lines, one object per item, for example {"custom_id": "doc-1", "input": "…"}. | array | No | — | ≥ 1 characters; array of object | [{"custom_id":"doc-1","input":"the quick brown fox"}] |
input_url URL of a JSONL input file (GCS, S3 or HTTP) to embed instead of inline input. | string | No | — | — | — |
task Downstream task the vectors are optimised for. | string | No | — | one of "retrieval.query", "retrieval.passage", "text-matching", "clustering", "classification" | — |
dimensions Truncate each vector to this many dimensions; the batch API caps this at 1024. | number | No | — | 1–1024 | — |
normalized Return L2-normalised unit vectors. | boolean | No | — | — | — |
webhook_url URL Jina POSTs to when the job finishes. | string | No | — | url format | — |
- At least one of input, input_url must be set.
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"input": [
{
"custom_id": "doc-1",
"input": "the quick brown fox"
}
],
"model": "jina-embeddings-v5-text-nano"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
batch_id Identifier of the batch job. | string | — |
status Job state: pending, processing, completed, failed, expired or cancelled. | string | — |
finished True once the job has reached a terminal state. | boolean | — |
succeeded True only when the job finished as 'completed'. | boolean | — |
model The embedding model the job runs. | string | — |
created_at When the job was created. | string | — |
completed_at When the job finished, if it has. | string | — |
expires_at When the output URL stops working. | string | — |
output_url Signed URL of the output JSONL, once completed. | string | — |
error_file_url URL of the per-line error JSONL, when lines failed. | string | — |
error Why the job failed, when it did. | string | — |
total Input lines submitted. | number | — |
completed Input lines embedded successfully. | number | — |
failed Input lines that failed. | number | — |
total_tokens Tokens billed across the job. | number | — |
{
"batch_id": "",
"completed": 0,
"completed_at": "",
"created_at": "",
"error": "",
"error_file_url": "",
"expires_at": "",
"failed": 0,
"finished": false,
"model": "",
"output_url": "",
"status": "",
"succeeded": false,
"total": 0,
"total_tokens": 0
}See Start Batch Embedding Job run in a workflow.
In a technical demo we add the Jina AI connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.