AI Synthesize

Synthesise AI-generated content from a query and arbitrary context data you provide.

POST /v1/ai/synthesize

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:

  • Building custom research pipelines — search with one engine, scrape specific pages, then synthesise
  • Document analysis — feed in extracted text and ask questions about it
  • Data transformation — convert raw JSON into natural language summaries
  • Content generation — provide context and get structured output
  • Multi-source aggregation — combine data from multiple APIs and synthesise

The context parameter accepts any valid JSON value — strings, objects, arrays, or nested structures. The AI will process whatever you provide.

Request Body

NameTypeDescription
qrequired
stringThe instruction or question for the AI. Must be non-empty. This tells the AI what to do with the context data.
contextrequired
anyArbitrary 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.

Credit Cost

AI Synthesis costs 6 credits per request. This covers:

  • Context processing and tokenisation
  • AI reasoning over your provided data
  • Response generation

The cost is the same regardless of the size of the context data (within reason — extremely large contexts may be truncated).

Response

Successful synthesis response:

json

Use Cases

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"])

Error Codes

This endpoint can return the following errors:

Errors

NameTypeDescription
INVALID_QUERY
400Missing or empty `q` field, or missing `context` parameter.
INSUFFICIENT_CREDITS
402Not enough credits. AI Synthesis costs 6 credits per request.
USER_RATE_LIMITED
429You've exceeded your plan's per-minute rate limit.
ENGINE_ERROR
502The AI model returned an unexpected error. Credits are refunded.

Need help?

Check our error codes or reach out to the team.