Synthesise AI-generated content from a query and arbitrary context data you provide.
Provide a question or instruction along with context data (search results, documents, JSON), and the AI will synthesise a response based on that context.
Unlike AI Search which fetches its own data, AI Synthesize lets you control the input. You provide the raw data and the AI processes it. This is useful for:
The context parameter accepts any valid JSON value — strings, objects, arrays, or nested structures. The AI will process whatever you provide.
| Name | Type | Description |
|---|---|---|
qrequired | string | The instruction or question for the AI. Must be non-empty. This tells the AI what to do with the context data. |
contextrequired | any | Arbitrary JSON data to use as context. Can be a string, object, array, or any JSON value. This is the data the AI will reason over. |
AI Synthesis costs 6 credits per request. This covers:
The cost is the same regardless of the size of the context data (within reason — extremely large contexts may be truncated).
Successful synthesis response:
Custom research pipeline — search for data, scrape specific articles, then synthesise:
python
from jiro_sdk import JiroClient
client = JiroClient(api_key="your-api-key")
# Step 1: Search for data results = client.search("AI market trends 2026", engine="google")
# Step 2: Scrape top results articles = [] for r in results["data"]["results"][:3]: page = client.scrape(r["url"]) articles.append(page["data"]["content"])
# Step 3: Synthesise
synthesis = client.ai_synthesize(
q="Summarise the key AI market trends for 2026",
context={"articles": articles}
)
print(synthesis["data"]["synthesis"])
Document analysis — extract and analyse a webpage:
python
page = client.scrape("https://example.com/report")
analysis = client.ai_synthesize(
q="What are the main conclusions of this report?",
context=page["data"]["content"]
)
print(analysis["data"]["synthesis"])
Data summarisation — convert structured data to natural language:
python
synthesis = client.ai_synthesize(
q="Write an executive summary of this sales data",
context={
"Q1": 150000,
"Q2": 180000,
"Q3": 210000,
"Q4": 250000,
"growth_rate": "22% YoY"
}
)
print(synthesis["data"]["synthesis"])
This endpoint can return the following errors:
| Name | Type | Description |
|---|---|---|
INVALID_QUERY | 400 | Missing or empty `q` field, or missing `context` parameter. |
INSUFFICIENT_CREDITS | 402 | Not enough credits. AI Synthesis costs 6 credits per request. |
USER_RATE_LIMITED | 429 | You've exceeded your plan's per-minute rate limit. |
ENGINE_ERROR | 502 | The AI model returned an unexpected error. Credits are refunded. |