Description
We have integrated the five core interfaces of Jina AI, helping you easily build powerful intelligent agents. These interfaces are primarily suitable for the following scenarios:- Vector Embeddings (Embeddings):Applicable to multi-modal RAG question-answering scenarios, such as smart customer service, smart recruitment, and knowledge base question-answering.
- Reranking (Rerank):By optimizing the Embedding candidate results, sorting them based on topic relevance, significantly improving the quality of the answers from large language models.
- Deep Search (DeepSearch):Perform deep search and reasoning until the optimal answer is found, particularly suitable for complex tasks such as research projects and product solution development.
- Web Search (Search):Pass a query and get the clean body text of the search engine results page (SERP), ready to feed straight into an LLM for web-grounded Q&A and RAG.
- Web Reader (Reader):Pass any URL and get the clean markdown body of that page after conversion, ideal for scraping web content to feed to an LLM.
Quick Start
Replace theAPI_KEY with AIHUBMIX_API_KEY and the model endpoint link, and the other parameters and usage are fully consistent with Jina AI official.
Endpoint Replacement:
-
Vector Embeddings (Embeddings):
https://jina.ai/embeddings->https://aihubmix.com/v1/embeddings -
Reranking (Rerank):
https://api.jina.ai/v1/rerank->https://aihubmix.com/v1/rerank -
Deep Search (DeepSearch):
https://deepsearch.jina.ai/v1/chat/completions->https://aihubmix.com/v1/chat/completions -
Web Search (Search):
https://s.jina.ai/?q=->https://aihubmix.com/v1/jina/search?q= -
Web Reader (Reader):
https://r.jina.ai/<url>->https://aihubmix.com/v1/jina/reader/<url>If the current primary API address is unavailable, replace the domain in this configuration with the backup addresshttps://api.inferera.com; keep the path unchanged.
Embeddings
Jina AI’s Embedding supports both plain text and multi-modal images, and performs excellently in handling multi-language tasks.Request Parameters
string
required
Model name, available model list:
jina-clip-v2:Multi-modal, multilingual, 1024-dimensional, 8K context window, 865M parametersjina-embeddings-v3:Text model, multilingual, 1024-dimensional, 8K context window, 570M parametersjina-colbert-v2:Multi-language ColBERT model, 8K token context, 560M parameters, used for embedding and rerankingjina-embeddings-v2-base-code:Model optimized for code and document search, 768-dimensional, 8K context window, 137M parameters
array
required
Input text or image, different models support different input formats. For text, provide an array of strings; for multi-modal models, provide an array of objects containing text or image fields.
string
default:"float"
Data type returned, optional values:
float:Default, return a float array. The most common and easy-to-use format, return a list of floatsbinary_int8:Return as int8 packed binary format. More efficient storage, search, and transmissionbinary_uint8:Return as uint8 packed binary format. More efficient storage, search, and transmissionbase64:Return as base64 encoded string. More efficient transmission
integer
default:"1024"
The number of dimensions used in computation. Supported values:
- 1024
- 768
1. Multimodal Usage
2. Pure Text Usage
Only provide an array of text strings, do not provide theimage field.
Rerank
Reranker aims to improve search relevance and RAG accuracy. It deep analyzes the initial search results, considers the subtle interactions between the query and document content, and reorders the search results to place the most relevant results at the top.Request Parameters
string
required
Model name, available model list:
jina-reranker-m0:Multimodal multilingual document reranker, 10K context, 2.4B parameters, for visual document sorting
string
required
Search query text, used to compare with candidate documents
integer
The number of most relevant documents to return. Default returns all documents
array
required
Array of candidate documents, will be reordered based on relevance to the query
integer
default:"4096"
Maximum chunk length per document, applicable only to Cohere (not supported by Jina). Defaults to 4096.
Long documents will be automatically truncated to the specified number of tokens.
Long documents will be automatically truncated to the specified number of tokens.
1. Multimodal Usage
Response Description
model: The name of the model usedresults: An array of reranking results sorted by relevance score in descending order, each element contains:index: The index position in the original document arrayrelevance_score: A relevance score between 0-1, higher scores indicate greater relevance to the query
usage: Usage statisticstotal_tokens: Total number of tokens processed in this request
2. Text Usage
Text reranking supports both multilingual and regular tasks, similar to embedding usage, by passing in an array.DeepSearch
DeepSearch combines search, reading, and reasoning capabilities to pursue the best possible answer. It’s fully compatible with OpenAI’s Chat API format—just replace api.openai.com with aihubmix.com to get started.The stream will return the thinking process.
Request Parameters
string
required
Model name, available models:
jina-deepsearch-v1:Default model, search, read and reason until the best answer is found
boolean
default:"true"
Whether to enable streaming response. It is strongly recommended to keep this option enabled, DeepSearch requests may take a long time to complete, disabling streaming may result in a ‘524 Timeout’ error
array
required
The list of conversation messages between the user and the assistant. Supports multiple types (modal) messages, such as text (.txt, .pdf), images (.png, .webp, .jpeg), etc. The maximum file size is 10MB
Multimodal Message Format
DeepSearch supports multiple types of message formats, which can include pure text (message), files (file), and images (image). The following are examples of different formats:1. Pure Text Message
2. Message with File Attachment
3. Message with Image
Example of Calling
Please note that Jina AI’s Python streaming call on the official website will not have a response; please refer to our example.Response Description
The response from DeepSearch is streamed by default, including both intermediate reasoning steps and the final answer. The last block of the stream contains the final response, a list of visited URLs, and token usage details. If streaming is disabled, only the final answer will be returned—intermediate “thinking” steps will be omitted. Note: This JSON object differs from the format used by Jina AI.Python
Web Search (Search)
Powered by Jina AI’ss.jina.ai, pass a query and get the clean body text of the search engine results page (SERP), ready to feed straight into an LLM for web-grounded Q&A and RAG. The endpoint supports both GET and POST.
Response format (markdown by default): by default returns a concatenated markdown list of results, ready to feed to an LLM; when you need structured data (each result’s
title / url / content and usage), add the request header Accept: application/json to get JSON instead.Request Parameters
string
required
Query text. Must be URL-encoded when called from code.
integer
default:"5"
Maximum number of results to return; the actual count depends on how many results are available.
string
Country / region code, e.g.
US.string
Interface language, e.g.
en.string
Restrict the search to specific sites; can be passed multiple times, e.g.
site=jina.ai&site=github.com.string
default:"markdown"
Body format of the results, one of
markdown / html / text.string
Image retention policy; pass
none to remove images and save tokens.boolean
Skip the cache and fetch the latest results.
X-* request headers used to control body formatting listed under “Web Reader (Reader)” also apply to search results.
Example of Calling
The query and parameters can be passed as URL query parameters viaGET (recommended, most concise), or in a JSON request body via POST; both hit the same endpoint and return the same result. The examples below add Accept: application/json to return JSON by default; remove that header to get a clean markdown list of results (see the first Curl-markdown example).
Response Description
By default (withoutAccept) it returns a concatenated markdown list, each entry giving the title, source link, description (if any) and body in turn:
Accept: application/json it returns structured JSON:
data: array of search results (the count is controlled bynum; the example above returns 5 but only the first 2 are shown here;contentis the full body, truncated in the example), each containingtitle,url,content,usage.tokens.- Billing: charged by the sum of each result’s
usage.tokens; Jina officially charges a minimum of 10000 tokens per search, so the final charge is the larger of the two, i.e.max(10000, sum of tokens).
Web Reader (Reader)
Powered by Jina AI’sr.jina.ai, pass any URL and get the clean markdown body of that page after conversion, convenient for scraping web content to feed to an LLM. Besides web pages, it also supports parsing images (described by a vision model) and local files (PDF, Word / Excel / PPT, HTML, images).
Response format (markdown by default): by default returns the clean markdown body directly, ready to feed to an LLM; when you need structured JSON with
usage and fields like title / url (the body sits in data.content), add the request header Accept: application/json.Request Parameters
string
required
The web address to read, appended directly to the end of the endpoint path, e.g.
/v1/jina/reader/https://jina.ai.file
The local file to upload; supports PDF, Word / Excel / PPT, HTML, images, passed in the
file field via POST as multipart/form-data.string
Required when uploading an HTML file, used as the reference address for resolving relative links in the page; not needed when uploading a PDF.
string
default:"markdown"
Return format, one of
markdown / html / text / screenshot / pageshot.string
default:"all"
Image retention policy, one of
all / none (remove images to save tokens) / alt.string
default:"all"
Link retention policy, one of
all / none / text.boolean
Automatically generate descriptive text for images without
alt.boolean
Summarize all links at the end of the body.
boolean
Summarize all images at the end of the body.
string
Fetching engine, one of
browser / direct / cf-browser-rendering.string
CSS selector; extract only the matching page region.
string
CSS selector; remove matching elements (e.g.
header, footer, nav).integer
Fetch timeout in seconds, max 180.
boolean
Skip the cache and fetch the latest.
string
default:"atx"
Markdown heading style, one of
atx (#) / setext (underline).string
Markdown bullet marker, one of
- / + / *.string
Markdown horizontal rule style, e.g.
***.string
Markdown link style, one of
inlined / referenced / discarded.X-* request headers supported by Jina (including the entire X-Md-* family) as well as POST body fields (such as the injected script injectPageScript) are forwarded as-is by the gateway; for the complete list and values, refer to the official Jina documentation.
Multimodal Input Format
Reader supports three kinds of input. Web pages and images are appended directly to the end of the endpoint path (GET); local files are uploaded via POST as multipart/form-data.
1. Web page URL
2. Image URL (returns a visual description)
The image address is likewise appended to the end of the path. Reader uses a vision model to generate a description (a caption, not verbatim OCR) for the image and puts it incontent.
3. Upload a local file (PDF / Word·Excel·PPT / HTML / image)
Example of Calling
By default it returns the markdown body directly; addAccept: application/json to return structured JSON. Optional parameters are passed as X-* request headers and are all forwarded as-is by the gateway to Jina (for the full list see “Request Parameters” above).
1. Read a web page
2. Read an image
Curl
3. Upload a local file
Upload viaPOST + multipart/form-data; when uploading HTML you must also include the url field as the reference address. Billing is the same as reading a URL.
Response Description
By default (withoutAccept) it returns the markdown body directly (i.e. the content of data.content in the JSON below). For example, reading https://example.com:
Accept: application/json it returns structured JSON. The JSON structure is the same for all three input types: data is a single object containing title / url / content / usage.tokens. Below are the real responses for the three input types (when content is too long, the beginning is kept and the rest is elided with …).
① Reading a web page (reading https://example.com):
content is the description generated by the vision model):
content is long, only the beginning is shown):
status: the business status code returned by Jina upstream; on a successful reader call it is20000(consistent with the outer HTTP200).- Billing: charged by
data.usage.tokens(the actual number of output tokens), with no minimum charge (unlike search’s “10000 tokens per call minimum”); for extremely short content a minimum billing unit is applied as a floor, so a zero charge never occurs.
Last updated: 2026-07-03