Jina AI
Create embeddings, rerank search results, and perform neural search with Jina AI.
On this page
Connect
Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("jina_ai", "classify_content", {
"model": "jina-clip-v2",
"input": "<text>",
"labels": []
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Jina AI answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "jina-ai-classify-content",
name: "Jina AI: Classify Text or Image",
description: "Calls Jina AI when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("jina_ai", {
"action": "classify_content",
"model": "jina-clip-v2",
"input": "<text>",
"labels": []
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/jina_ai/classify_content" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"model":"jina-clip-v2","input":"<text>","labels":[]}}'Actions
classify_contentin catalog
Classify Text or Image. Assign categories to text or images using the Classifier API (zero-shot/few-shot).
| Input | Type | Description |
|---|---|---|
modelrequired | one of "jina-clip-v2" | "jina-embeddings-v3" | "jina-clip-v1" | The model to use for classification. |
inputrequired | long text | Text or image URL to classify. URLs will be treated as images, other strings as text. |
labelsrequired | array | The labels to classify the content into. |
deepsearch_queryin catalog
DeepSearch Query. Answer complex questions through iterative search, reading, and reasoning with the DeepSearch API.
| Input | Type | Description |
|---|---|---|
modelrequired | one of "jina-deepsearch-v1" | Model |
promptrequired | long text | Prompt |
reasoning_effortoptional | one of "low" | "medium" | "high" | Constrains effort on reasoning for reasoning models. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response. |
budget_tokensoptional | number | This determines the maximum number of tokens allowed for DeepSearch process. Larger budgets can improve response quality by enabling more exhaustive search for complex queries. |
max_attemptsoptional | number | The maximum number of retries for solving a problem in DeepSearch process. A larger value allows DeepSearch to retry solving the problem by using different reasoning approaches and strategies. |
no_direct_answeroptional | boolean | Forces the model to take further thinking/search steps even when the query seems trivial. Useful if you're using DeepSearch in scenarios where you're certain the query always needs DeepSearch, rather… |
max_returned_urlsoptional | number | The maximum number of URLs to include in the final answer/chunk. URLs are sorted by relevance and other important factors. |
response_formatoptional | JSON | JSON schema for structured output format. Example: { "type": "json_schema", "json_schema": { "type": "object", "properties": { "numerical_answer_only": { "type": "number" } } } } |
boost_hostnamesoptional | long text | A list of domains that are given a higher priority for content retrieval. Useful for domain-specific, high-quality sources that provide valuable content. |
bad_hostnamesoptional | long text | A list of domains to be strictly excluded from content retrieval. Typically used to filter out known spam, low-quality, or irrelevant websites. |
only_hostnamesoptional | long text | A list of domains to be exclusively included in content retrieval. All other domains will be ignored. Useful for domain-specific searches. |
extract_webpage_contentin catalog
Extract Webpage Content. Convert a URL into clean, LLM-friendly Markdown using the Reader API.
| Input | Type | Description |
|---|---|---|
urlrequired | text | The URL of the webpage to extract content from. |
formatrequired | one of "default" | "markdown" | "html" | "text" | "screenshot" | "pageshot" | Format of the extracted content - how the webpage should be returned. |
remove_all_imagesoptional | boolean | Remove all images from the response. |
links_summaryoptional | one of "none" | "true" | "all" | Create a "Buttons & Links" section at the end to help downstream LLMs or web agents navigate the page. |
images_summaryoptional | one of "none" | "true" | "all" | Create an "Images" section at the end, giving downstream LLMs an overview of all visuals on the page. |
do_not_trackoptional | boolean | When enabled, the requested URL won't be cached and tracked on our server. |
iframe_extractionoptional | boolean | Processes content from all embedded iframes in the DOM tree. |
shadow_dom_extractionoptional | boolean | Extracts content from all Shadow DOM roots in the document. |
follow_redirectoptional | boolean | Choose whether to resolve to the final destination URL after following all redirects. Enable to follow the full redirect chain. |
eu_complianceoptional | boolean | All infrastructure and data processing operations reside entirely within EU jurisdiction. |
json_responseoptional | boolean | Return response in JSON format containing URL, title, content, and timestamp (if available). |
timeout_secondsoptional | number | Maximum page load wait time in seconds (0 means use default timeout, set a value if the default browser engine is too slow on simple webpages). |
css_selectoroptional | long text | List of CSS selectors to target specific page elements (e.g., "body, .main-content, #article"). |
wait_for_selectoroptional | long text | CSS selectors to wait for before returning results (e.g., "#dynamic-content, .lazy-loaded"). |
exclude_selectoroptional | long text | CSS selectors for elements to remove from the results (e.g., "header, footer, .ads, #sidebar"). |
train_custom_classifierin catalog
Train Custom Classifier. Fine-tune a classifier with labeled examples for domain-specific tasks.
| Input | Type | Description |
|---|---|---|
modelrequired | one of "jina-clip-v2" | "jina-embeddings-v3" | "jina-clip-v1" | The base model to use for training. |
accessrequired | one of "private" | "public" | Visibility of the trained model. |
num_itersoptional | number | Number of training iterations to perform. |
training_datarequired | array | Training Data |
web_search_summarizationin catalog
Web Search Summarization. Perform a web search and retrieve summarized results using the Reader API.
| Input | Type | Description |
|---|---|---|
queryrequired | text | The search query to perform. |
read_full_contentoptional | boolean | Visit every URL in the search result and return the full content using Reader. Toggle on to enable more Reader-specific options. |
json_responseoptional | boolean | The response will be in JSON format, containing the URL, title, content, and timestamp (if available). In Search mode, it returns a list of five entries, each following the described JSON structure. |
fetch_faviconsoptional | boolean | This will fetch the favicon of each URL in the SERP and include them in the response as image URI, useful for UI rendering. |
preferred_countryoptional | one of "Default" | "US" | "CA" | "MX" | "GB" | "DE" | "FR" | "JP" | "CN" | "IN" | "BR" | "AU" | The country to use for the search. It's a two-letter country code. |
preferred_locationoptional | text | From where you want the search query to originate. It is recommended to specify location at the city level in order to simulate a real user's search. |
preferred_languageoptional | one of "Default" | "en" | "es" | "fr" | "de" | "ja" | "zh-cn" | "hi" | "pt" | "it" | "ko" | "nl" | The language to use for the search. It's a two-letter language code. |
paginationoptional | number | The result offset. It skips the given number of results. It's used for pagination. |
in_site_searchoptional | text | Returns the search results only from the specified website or domain. By default it searches the entire web. |
bypass_cached_contentoptional | boolean | Our API caches URL contents for a certain amount of time. Set it to true to ignore the cached result and fetch the content from the URL directly. |
eu_complianceoptional | boolean | All infrastructure and data processing operations reside entirely within EU jurisdiction. |
Details
- Id
jina_ai- Category
- AI and ML
- Tags
- embeddings, reranking, search, ai, neural-search
- Package
@activepieces/piece-jina-ai@0.1.3- Tier
- Community