Liquid's d1 now answers from an image

Liquid AI added vision to its d1 decision model on 2026-10-05, returning calibrated probabilities at $0.04 per million input tokens with zero output tokens.

On 2026-10-05, Liquid AI added image inputs to its d1 decision model at $0.04 per million input tokens. It follows Jev's request shape through the System One API and returns calibrated probabilities across fixed outcomes with zero generated output tokens. Vision is available through the Liquid AI API, while Vercel AI Gateway and OpenRouter remain text-only as of 2026-10-06.

Key facts

  • Liquid AI released image support for d1 on 2026-10-05, following an experimental text-only release on 2026-09-29.
  • d1 charges $0.04 per million input tokens, with usage.output_tokens always returning 0.
  • Images are billed as input tokens at 1.5 tokens per 32×32-pixel patch, so a 1024×1024 image costs 1,536 input tokens per question.
  • In benchmark evaluations run on 2026-10-05, d1 beat GPT-6.1 Sol on two applications (Visual Inspection and Context Compaction) and matched it on two others (Smart Filter and Web Agent).
  • Across all six benchmark tasks, d1 cost 19x to 200x less than GPT-6.1 Sol and Claude Opus 5.5 and finished each run faster.
  • Vision requires the paid d1 model on the Liquid AI API; the free d1:free tier, Vercel AI Gateway, and OpenRouter remain text-only as of 2026-10-06.

How Liquid d1 processes images

Decision models do not stream tokens or generate chat text. Liquid AI's d1 takes unstructured context alongside typed questions and evaluates them in a single forward pass, completing text queries in 200 to 300 ms. A direct Liquid API request uses the /decisions/v1/systemone endpoint and supports three question primitives:

  1. Noul: a boolean question returning a single probability between 0 and 1.
  2. Choice: a categorical selection returning a selected label, a probability distribution over all defined options, and a confidence score.
  3. Score: an ordered rating returning a continuous score along a defined rubric with probabilities for each level.

To include visual data, callers pass an images array containing Base64 data URLs alongside the state text and questions map. The API accepts JPEG, PNG, WebP, and GIF images up to 8 images per request, with total request bodies under 4.5 MB and a maximum of 10,000 patches across all images. Remote HTTP image URLs are not supported.

import base64
import os
import requests

image_b64 = base64.b64encode(open("board.jpg", "rb").read()).decode("ascii")

response = requests.post(
    "https://api.liquid.ai/decisions/v1/systemone",
    headers={"Authorization": f"Bearer {os.environ['LIQUID_API_KEY']}"},
    json={
        "model": "d1",
        "state": "Camera image of a circuit board on the production line.",
        "images": [f"data:image/jpeg;base64,{image_b64}"],
        "questions": {
            "defect": {
                "type": "noul",
                "instructions": "Does this circuit board have a visible defect?",
            }
        },
    },
)

print(response.json()["answers"]["defect"]["noul"])

Image token usage is computed strictly on patches:

$$\text{patches} = \left\lceil \frac{\text{width}}{32} \right\rceil \times \left\lceil \frac{\text{height}}{32} \right\rceil$$

$$\text{image\_tokens} = \left\lceil \text{patches} \times 1.5 \right\rceil$$

Because each question in a request is billed as its own prompt, every question re-bills for its question text and the full set of provided image tokens.

Benchmark comparison with GPT-6.1 Sol and Claude Opus 5.5

Liquid AI benchmarked d1 against GPT-6.1 Sol and Claude Opus 5.5 on six real applications. Four of the text applications were adapted from open-source Jev implementations: pg-jev, jevgrep, jev-ultrafast, and fast-jev-compaction.

Liquid AI's method note says, "We ran each application once per model on October 5, 2026." GPT-6.1 Sol and Claude Opus 5.5 each received one chat message, answered in JSON at their default reasoning setting, and batched questions that shared an input. The comparison used vendor list prices without prompt-cache discounts, priced d1 at $0.04 per million input tokens, and measured run time with up to 8 requests in flight.

The benchmark measurements across all six applications show where d1 outperformed or matched GPT-6.1 Sol:

Application

Metric

d1 Quality

GPT-6.1 Sol Quality

Claude Opus 5.5 Quality

d1 Cost / 1k Runs

GPT-6.1 Sol Cost / 1k Runs

d1 Time / Run

GPT-6.1 Sol Time / Run

Visual Inspection

Accuracy (VisA)

91%

82%

92%

$0.048

$2.56

0.8 s

3.3 s

Context Compaction

Kept needed outputs

100%

86%

100%

$0.31

$5.89

0.5 s

6.0 s

Smart Filter

F1 score (150 tickets)

95%

95%

98%

$0.85

$45.00

6.0 s

6.6 s

Web Agent

Goal completion

100%

100%

100%

$0.76

$30.00

5.1 s

31.8 s

Smart Folders

Filing accuracy

96%

98%

100%

$0.025

$1.44

7.9 s

19.3 s

Code Search

Function lookup

80%

87%

100%

$1.25

$68.00

2.2 s

17.8 s

Across the six tasks, d1 matched or beat GPT-6.1 Sol on four:

  • Beat GPT-6.1 Sol: Visual Inspection (91% vs 82% accuracy on the VisA dataset across circuit boards, candles, cashews, and chewing gum) and Context Compaction (100% vs 86% retention while removing 52% of tool tokens).
  • Matched GPT-6.1 Sol: Smart Filter (95% vs 95% F1 over 150 tickets) and Web Agent (100% vs 100% goal completion).
  • Trailed GPT-6.1 Sol: Code Search (80% vs 87% across 6,511 files) and Smart Folders (96% vs 98% over 105 passages).

Platform availability and limits

As of 2026-10-06, vision calls require direct access to Liquid AI's infrastructure:

  • Liquid AI API: Vision is enabled under model ID d1 via POST https://api.liquid.ai/decisions/v1/systemone using API keys prefixed with liquid_. The d1:free tier does not accept images.
  • OpenRouter: Lists liquid/d1 at $0.04 per million input tokens, but supports text only as of 2026-10-06.
  • Vercel AI Gateway: Lists liquid/d1, but remains text-only as of 2026-10-06.

Use d1 when the next program step is a bounded decision. It returns typed answers and probabilities, not prose, so your code must turn the result into a route, filter, inspection result, or another action.

Sources

Last verified: 2026-10-06.

Spotted an outdated or wrong claim? Agents can report it with evidence throughPOST /api/feedback; an editor checks every report. See llms.txt for the agent API.