# Aayat AI – AI Model Picker

> Aayat AI – AI Model Picker is a paid API for AI agents from aayatai.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-02).

Recommends and ranks AI models from OpenRouter based on task description, required features, token budget, and quality tier

## Facts

- Endpoint: POST https://aayatai.com/ai/models/pick?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/aayat-ai-ai-model-picker-8e5c7411
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LX-cqCX7Xl_k2e3wd8c3u

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability aayat-ai-ai-model-picker-8e5c7411 -d '<json body>'
```

Example prompt: Find me the best balanced model for a task that reads images and returns structured JSON data — I'm expecting about 3000 input tokens and 400 output tokens per call, and I need vision and JSON support. Return the top 5 options.

## When to prefer this

Use this endpoint when an AI agent needs to programmatically select the optimal LLM for a subtask — especially when balancing cost, capability (vision, tools, reasoning, JSON), and context window requirements. Prefer over manually hardcoding a model name, or when the best model may change over time. Ideal for agentic coding assistants, multi-model routing systems, or cost-optimization layers. No API key or account required — pay per call with USDC on Base or Solana.

## Known failure modes

- Invalid or unsupported feature name in 'needs' field returns an error
- Overly restrictive filters (provider + features + context) may return zero candidates
- Payment failure via x402 if insufficient USDC balance on Base or Solana
- Task description too vague may result in poor AI-inferred feature matching
- minContext value exceeding available model limits returns empty candidate list

## How this service works

Cheapest AI model that can do your job. Describe the task (or list needed features: tools, json, reasoning, vision...), expected input/output tokens and a quality level (budget/balanced/best); get the cheapest suitable models across all major providers with estimated USD cost per call and per 1,000 calls, from live prices. POST {task, inputTokens, outputTokens}.

## Output

Returns a ranked list of AI models (up to 50) from OpenRouter, each with name, provider, input/output pricing per million tokens, context length, supported features, estimated cost per call, and a top recommended model with a full explanation of how requirements were derived and matched.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "task": {
   "type": "string",
   "maxLength": 1000,
   "description": "What the model must do, in plain words. An AI reads it to work out the needed features and quality."
  },
  "limit": {
   "type": "integer",
   "default": 10,
   "maximum": 50,
   "minimum": 1,
   "description": "How many ranked models to return."
  },
  "needs": {
   "type": "string",
   "maxLength": 100,
   "description": "Comma list of required features (added to any the task implies): tools, json, reasoning, vision, audio, files, web-search."
  },
  "quality": {
   "enum": [
    "budget",
    "balanced",
    "best"
   ],
   "type": "string",
   "default": "balanced",
   "description": "budget, balanced or best. If a task is given, the AI's judgement is used unless you set this to something other than balanced."
  },
  "providers": {
   "type": "string",
   "maxLength": 200,
   "description": "Only these providers, comma separated (e.g. anthropic,openai)."
  },
  "minContext": {
   "type": "integer",
   "maximum": 100000000,
   "minimum": 0,
   "description": "Minimum context window (default: input + output tokens)."
  },
  "includeFree": {
   "type": "boolean",
   "default": false,
   "description": "Include free, rate-limited variants."
  },
  "inputTokens": {
   "type": "integer",
   "default": 2000,
   "maximum": 10000000,
   "minimum": 1,
   "description": "Typical input (prompt) tokens per call."
  },
  "outputTokens": {
   "type": "integer",
   "default": 500,
   "maximum": 1000000,
   "minimum": 1,
   "description": "Typical output tokens per call."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "method": "Hard filters (features, context, output limit, provider), a price-based quality floor, then cheapest estimated cost per call.",
  "source": "OpenRouter",
  "fetchedAt": "2026-09-28T12:00:00.000Z",
  "candidates": [
   {
    "id": "google/gemini-2.5-flash",
    "free": false,
    "name": "Google: Gemini 2.5 Flash",
    "created": "2025-06-17",
    "features": [
     "tools",
     "json",
     "reasoning",
     "vision",
     "audio",
     "files"
    ],
    "provider": "google",
    "inputPerMTok": 0.3,
    "contextLength": 1048576,
    "outputPerMTok": 2.5,
    "perRequestUsd": 0,
    "inputModalities": [
     "text",
     "image",
     "file",
     "audio"
    ],
    "knowledgeCutoff": null,
    "maxOutputTokens": 65535,
    "cachedInputPerMTok": 0.075,
    "estimatedCostPerCallUsd": 0.0019
   }
  ],
  "considered": 458,
  "recommended": {
   "id": "google/gemini-2.5-flash",
   "free": false,
   "name": "Google: Gemini 2.5 Flash",
   "created": "2025-06-17",
   "features": [
    "tools",
    "json",
    "reasoning",
    "vision",
    "audio",
    "files"
   ],
   "provider": "google",
   "inputPerMTok": 0.3,
   "contextLength": 1048576,
   "outputPerMTok": 2.5,
   "perRequestUsd": 0,
   "inputModalities": [
    "text",
    "image",
    "file",
    "audio"
   ],
   "knowledgeCutoff": null,
   "maxOutputTokens": 65535,
   "cachedInputPerMTok": 0.075,
   "estimatedCostPerCallUsd": 0.0019,
   "estimatedCostPer1000CallsUsd": 1.9
  },
  "requirements": {
   "needs": [
    "json",
    "vision"
   ],
   "reason": "Reads images and returns structured data.",
   "quality": "balanced",
   "minContext": 3400,
   "inputTokens": 3000,
   "outputTokens": 400
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aayat-ai-ai-model-picker-8e5c7411/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from aayatai.com](https://www.zero.xyz/host/aayatai.com/llms.txt)
