<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: cz</title>
    <description>The latest articles on DEV Community by cz (@czmilo).</description>
    <link>https://dev.to/czmilo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2967164%2F5112a40e-2fd3-437e-9cd5-7e7bb510c5ea.jpg</url>
      <title>DEV Community: cz</title>
      <link>https://dev.to/czmilo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/czmilo"/>
    <language>en</language>
    <item>
      <title>OpenAI Decisions API vs. Jev: What Changes When a Model Makes Decisions?</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Wed, 30 Sep 2026 02:01:04 +0000</pubDate>
      <link>https://dev.to/czmilo/openai-decisions-api-vs-jev-what-changes-when-a-model-makes-decisions-1f6a</link>
      <guid>https://dev.to/czmilo/openai-decisions-api-vs-jev-what-changes-when-a-model-makes-decisions-1f6a</guid>
      <description>&lt;p&gt;The OpenAI Decisions API is a limited-preview API for making a bounded choice from context. Instead of asking a model to explain itself in prose and then parsing that prose, you define a question and the possible answers; the API returns a decision your software can use.&lt;/p&gt;

&lt;p&gt;This is useful because much application logic does not need another paragraph. A support system needs a team, an agent needs its next tool, and a workflow needs a risk level. A decision interface makes that output the point of the call.&lt;/p&gt;

&lt;p&gt;OpenAI has now announced this as a distinct API primitive. Jev, TypeSafe’s System One decision model, already offers a public API in the same broad category. Below, we will separate what OpenAI has confirmed from what remains unknown, compare the two products, and then walk through a real Jev workflow on &lt;a href="https://decisions-api.dev/" rel="noopener noreferrer"&gt;decisions-api&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. What OpenAI has announced
&lt;/h2&gt;

&lt;p&gt;At DevDay on September 29, 2026, OpenAI described Decisions API as a way to provide context—text or images—then define questions and a finite set of possible answers. The examples in OpenAI’s recap are content classification, request routing, and choosing an agent’s next action. The feature is currently in limited preview, with broader availability described as coming in the following days. &lt;a href="https://openai.com/index/devday-2026-recap/" rel="noopener noreferrer"&gt;OpenAI’s DevDay recap&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The difference from an ordinary prompt is easiest to see as a change in where the boundary lives:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Chat-style flow
context → prompt → generated explanation → parse/validate → application branch

Decision-style flow
context → question + allowed answers → typed decision → application branch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The second shape is attractive when the application already knows its possible next steps. It can reduce glue code, but it does not remove the need to define labels carefully, check edge cases, or keep sensitive actions under application control.&lt;/p&gt;

&lt;p&gt;OpenAI’s announcement says Decisions API uses Luna’s intelligence and accepts image context as well as text. A report from DevDay describes a specialized GPT-6 Luna version and a roughly 150 ms demo response, compared with about 1.6 seconds for a general Luna call. Treat those numbers as a reported demonstration, not a benchmark, production guarantee, or service-level agreement. &lt;a href="https://pasqualepillitteri.it/en/news/19372/openai-decisions-api-jev" rel="noopener noreferrer"&gt;DevDay reporting by Pasquale Pillitteri&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As of September 30, 2026, I could not find a public Decisions API reference page, request schema, endpoint, or standalone price in OpenAI’s developer documentation. The &lt;a href="https://developers.openai.com/api/docs/changelog" rel="noopener noreferrer"&gt;API changelog&lt;/a&gt; also does not yet list a Decisions API entry. So a path such as &lt;code&gt;POST /v1/decisions&lt;/code&gt; should not be copied from unofficial examples and treated as an official contract. The preview announcement is real; the public implementation details are still pending.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. How Jev compares
&lt;/h2&gt;

&lt;p&gt;TypeSafe’s Jev is the first model in its System One family. Its public API accepts a state and typed questions. The main question types are &lt;code&gt;Choice&lt;/code&gt; for selecting among named options, &lt;code&gt;Score&lt;/code&gt; for ordered levels, and &lt;code&gt;Noul&lt;/code&gt; for a yes-or-no proposition. Jev returns structured answers with probability signals; the direct TypeSafe endpoint is &lt;code&gt;POST https://api.typesafe.ai/v1/systemone&lt;/code&gt;. &lt;a href="https://docs.typesafe.ai/introduction" rel="noopener noreferrer"&gt;TypeSafe API introduction&lt;/a&gt; · &lt;a href="https://api.typesafe.ai/docs" rel="noopener noreferrer"&gt;API reference&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgjb2mjwb4tcn8em7obn.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkgjb2mjwb4tcn8em7obn.webp" alt="Pencil sketch comparing the OpenAI preview path with Jev’s published typed-decision API" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;OpenAI Decisions API&lt;/th&gt;
&lt;th&gt;Jev by TypeSafe&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Availability&lt;/td&gt;
&lt;td&gt;Limited preview announced September 29, 2026&lt;/td&gt;
&lt;td&gt;Public API and API reference available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Input described publicly&lt;/td&gt;
&lt;td&gt;Text or images as context&lt;/td&gt;
&lt;td&gt;Primarily text state, including structured text/JSON&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decision shape&lt;/td&gt;
&lt;td&gt;A question with finite possible answers&lt;/td&gt;
&lt;td&gt;Choice, Score, and Noul typed questions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Probabilities&lt;/td&gt;
&lt;td&gt;Mentioned in launch coverage; public technical details are pending&lt;/td&gt;
&lt;td&gt;Probability fields are part of the documented answer shape&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Calibration&lt;/td&gt;
&lt;td&gt;OpenAI has not published technical detail in the public API docs checked&lt;/td&gt;
&lt;td&gt;TypeSafe describes RLCD training for calibrated decisions; this is a provider claim, not a per-answer guarantee&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latency&lt;/td&gt;
&lt;td&gt;About 150 ms in one reported launch demo; not an SLA&lt;/td&gt;
&lt;td&gt;TypeSafe presents Jev as a low-latency decision model; measure it on your own traffic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Price and schema&lt;/td&gt;
&lt;td&gt;No standalone public price or API schema found on September 30, 2026&lt;/td&gt;
&lt;td&gt;TypeSafe lists $42 per billion input tokens ($0.042 per million) and publishes a Swagger API reference&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;TypeSafe describes its approach as &lt;strong&gt;RLCD&lt;/strong&gt;, or Reinforcement Learning for Calibrated Decisions. Its documentation explains calibration as a property to evaluate across groups of predictions, rather than a promise that every individual probability is correct. In production, test probabilities against labeled examples and track calibration and error costs yourself. &lt;a href="https://docs.typesafe.ai/introduction/machine-learning-primer" rel="noopener noreferrer"&gt;TypeSafe’s machine-learning primer&lt;/a&gt; · &lt;a href="https://typesafe.ai/" rel="noopener noreferrer"&gt;TypeSafe pricing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Neither product should be judged by a demo number alone. Compare the complete decision path on the same representative states: correct route, missed escalation, latency, cost, and how often a human must intervene. Keep thresholds and high-impact actions in application code.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. What you can do on &lt;a href="https://decisions-api.dev/" rel="noopener noreferrer"&gt;decisions-api&lt;/a&gt; today
&lt;/h2&gt;

&lt;p&gt;Decisions-api.org is an independent playground and API service. Its current workbench can run Jev, along with other decision models. It does not currently expose OpenAI’s limited-preview Decisions API. The steps below therefore use the site’s Jev integration and the site’s own API contract; they do not use an OpenAI API key.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 1: Open a ready-made decision
&lt;/h3&gt;

&lt;p&gt;Visit the &lt;a href="https://decisions-api.dev/playground?example=support-routing" rel="noopener noreferrer"&gt;support-routing example&lt;/a&gt; and sign in. New accounts receive 100 welcome credits once. Loading an example does not use credits; a live model run does. Choose &lt;code&gt;typesafe/jev-1.13&lt;/code&gt; in the model selector if it is not already selected.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frtm6j8f3s9sgnpuw2qkw.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frtm6j8f3s9sgnpuw2qkw.webp" alt="Real decisions-api.org playground showing a support state and a bounded routing question" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The screenshot shows the example’s input fields. Any static preview in the interface is labeled illustrative and is not a model response. Run your own example before treating an answer or probability as evidence.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Define the decision you actually need
&lt;/h3&gt;

&lt;p&gt;Write a short state with the relevant facts, then ask one concrete question. For example, “Which team should handle this request?” is easier to evaluate than “Understand this customer.” Define the allowed destinations and what each one means. In Jev, that maps to a &lt;code&gt;Choice&lt;/code&gt; question.&lt;/p&gt;

&lt;p&gt;For a first trial, keep one question and use billing, technical, and general support as the options. Then try ordinary, borderline, and ambiguous tickets. Change only one thing at a time so you can tell whether the state, instructions, or answer criteria caused a change.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 3: Run examples and inspect the result
&lt;/h3&gt;

&lt;p&gt;Use the Run button to make a live request. Review the chosen option and its probabilities. If you need a numeric severity, add a &lt;code&gt;Score&lt;/code&gt;; if you need a yes-or-no judgment, use &lt;code&gt;Noul&lt;/code&gt;. Avoid treating a returned probability as measured accuracy or as permission to automate a high-impact action.&lt;/p&gt;

&lt;p&gt;If you already have labeled examples, compare model decisions against them. Track false routes, missed escalations, latency, and the cost of review. Route uncertain or high-risk cases to a person until evaluation supports a safer threshold.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 4: Create a site API key
&lt;/h3&gt;

&lt;p&gt;Open &lt;a href="https://decisions-api.dev/settings/apikeys" rel="noopener noreferrer"&gt;API keys&lt;/a&gt; and create a key for your application. This key belongs to decisions-api.org. Store it as a server-side secret, for example &lt;code&gt;DECISIONS_API_KEY&lt;/code&gt;; do not put it in browser code or a public repository. The site’s &lt;a href="https://decisions-api.dev/docs#quickstart" rel="noopener noreferrer"&gt;API quickstart&lt;/a&gt; documents this platform API.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8z76sy1190vu2aefgjy1.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8z76sy1190vu2aefgjy1.webp" alt="Actual decisions-api.org API quickstart with its key creation and request documentation" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 5: Send a decision request from your server
&lt;/h3&gt;

&lt;p&gt;Here is a minimal request using the site’s documented endpoint and Jev model. Replace the example state with data your application is allowed to send.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST https://decisions-api.dev/v1/systemone &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Authorization: Bearer &lt;/span&gt;&lt;span class="nv"&gt;$DECISIONS_API_KEY&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Content-Type: application/json"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"Idempotency-Key: support-ticket-1842"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{
    "model": "typesafe/jev-1.13",
    "state": {
      "message": "I paid yesterday but still do not have access.",
      "account_status": "active"
    },
    "questions": {
      "department": {
        "type": "choice",
        "instructions": "Which team should handle this request?",
        "criteria": {
          "billing": "Payment, invoice, refund, or access after payment",
          "technical": "A product bug or service failure",
          "general": "A request that does not fit the other teams"
        }
      }
    }
  }'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The site API wraps successful data: read the selected answer at &lt;code&gt;data.result.answers.department&lt;/code&gt;. The &lt;code&gt;Idempotency-Key&lt;/code&gt; should be unique for each logical request; reusing it intentionally prevents a duplicate model run. This is the decisions-api.org contract, not the direct TypeSafe or OpenAI endpoint. &lt;a href="https://decisions-api.dev/docs" rel="noopener noreferrer"&gt;Full site API documentation&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 6: Keep the final branch in your code
&lt;/h3&gt;

&lt;p&gt;The site charges credits from your decisions-api.org balance. Its current workbench lists Jev at 600 credits per million input tokens, rounds each successful call up to at least one credit, and does not bill output tokens; $1 buys 10,000 credits. This platform billing is separate from TypeSafe’s direct $0.042/M token price. Check the &lt;a href="https://decisions-api.dev/playground" rel="noopener noreferrer"&gt;live workbench billing note&lt;/a&gt; before estimating a project. &lt;a href="https://decisions-api.dev/docs#limits" rel="noopener noreferrer"&gt;Site API limits and billing notes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz5mu7pljdoq9uayb3yvg.webp" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz5mu7pljdoq9uayb3yvg.webp" alt="Actual decisions-api.org generated code view for calling the decision endpoint" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your application should decide what to do with the answer. For example, route a high-confidence, low-risk ticket automatically and send uncertain cases to a support queue. Keep authorization checks, payment changes, account closure, and other consequential actions deterministic and auditable.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which one should you evaluate first?
&lt;/h2&gt;

&lt;p&gt;OpenAI’s announcement makes decision-specific APIs a larger conversation: software often needs a classification, score, route, or next action rather than a paragraph. OpenAI’s preview may be especially interesting for visual inputs if that announced capability reaches a stable public API. The endpoint, schema, price, and probability-calibration details still need to be published.&lt;/p&gt;

&lt;p&gt;Jev can be tested now through TypeSafe’s public API or through the decisions-api.org workbench. Start with one bounded, low-risk decision and a labeled evaluation set. The model returns a judgment; your application remains responsible for deciding whether that judgment is good enough to act on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Research date:&lt;/strong&gt; September 30, 2026. Product availability and prices may change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt; &lt;a href="https://openai.com/index/devday-2026-recap/" rel="noopener noreferrer"&gt;OpenAI DevDay recap&lt;/a&gt; · &lt;a href="https://developers.openai.com/api/docs/changelog" rel="noopener noreferrer"&gt;OpenAI API changelog&lt;/a&gt; · &lt;a href="https://docs.typesafe.ai/introduction" rel="noopener noreferrer"&gt;TypeSafe Jev introduction&lt;/a&gt; · &lt;a href="https://api.typesafe.ai/docs" rel="noopener noreferrer"&gt;TypeSafe API reference&lt;/a&gt; · &lt;a href="https://docs.typesafe.ai/introduction/machine-learning-primer" rel="noopener noreferrer"&gt;TypeSafe calibration primer&lt;/a&gt; · &lt;a href="https://typesafe.ai/" rel="noopener noreferrer"&gt;TypeSafe pricing&lt;/a&gt; · &lt;a href="https://pasqualepillitteri.it/en/news/19372/openai-decisions-api-jev" rel="noopener noreferrer"&gt;DevDay latency report&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This article is an independent product guide. Decisions-api.org is not an OpenAI product, and Jev is a TypeSafe model.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>decisionsapi</category>
      <category>jev</category>
    </item>
    <item>
      <title>Understanding Qwen Image 2.1 GGUF</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Tue, 29 Sep 2026 02:59:11 +0000</pubDate>
      <link>https://dev.to/czmilo/understanding-qwen-image-21-gguf-4chk</link>
      <guid>https://dev.to/czmilo/understanding-qwen-image-21-gguf-4chk</guid>
      <description>&lt;p&gt;Qwen Image 2.1 is an image model for creating pictures from text and editing existing images. GGUF files are community-converted versions of its generation weights, designed for compatible local inference tools.&lt;/p&gt;

&lt;p&gt;The model itself is only one part of the setup. A local workflow also needs a runtime, a text encoder, and the matching VAE—the component that turns the model's image representation into pixels.&lt;/p&gt;

&lt;p&gt;This guide explains what the conversion changes, how to choose a file size, and how to connect the pieces. The command follows the maintainer's documentation; I have not benchmarked it on a specific computer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FG4VGqK1X%2Flocal-generation-sketch.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fi.postimg.cc%2FG4VGqK1X%2Flocal-generation-sketch.png" alt="A pencil sketch of a local computer turning model files and a text prompt into an image" width="179" height="101"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. What does GGUF change?
&lt;/h2&gt;

&lt;p&gt;Think of a model as a detailed drawing kit packed into a box. Quantization stores its numbers with fewer bits, much like packing the kit into a smaller box. The file takes less space, but the conversion also introduces some numerical loss.&lt;/p&gt;

&lt;p&gt;The files in the &lt;a href="https://huggingface.co/leejet/Qwen-Image-2.1-GGUF" rel="noopener noreferrer"&gt;community Qwen Image 2.1 GGUF repository&lt;/a&gt; are conversions, not a separate model trained by Qwen. The &lt;a href="https://huggingface.co/Qwen/Qwen-Image-2.1" rel="noopener noreferrer"&gt;official model card&lt;/a&gt; describes a 7-billion-parameter visual-generation component. The original model supports text-to-image generation, image editing, and transparent RGBA output. A converted runtime may expose only some of those features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo8pg4r7yo5erc8bbc1nk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fo8pg4r7yo5erc8bbc1nk.png" alt="A pencil comparison of compact, medium, and larger quantized model files" width="179" height="101"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Choose a quantization
&lt;/h2&gt;

&lt;p&gt;The repository lists several quantized files. Their download sizes help estimate storage, but they are not minimum GPU-memory requirements.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Quantization&lt;/th&gt;
&lt;th&gt;File size&lt;/th&gt;
&lt;th&gt;A reasonable starting point&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Q2_K&lt;/td&gt;
&lt;td&gt;2.56 GB&lt;/td&gt;
&lt;td&gt;When storage is very limited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Q3_K&lt;/td&gt;
&lt;td&gt;3.27 GB&lt;/td&gt;
&lt;td&gt;When you need a small file with a little more detail&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Q4_0 / Q4_K&lt;/td&gt;
&lt;td&gt;4.20 GB&lt;/td&gt;
&lt;td&gt;A practical balance for many local setups&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Q5_0&lt;/td&gt;
&lt;td&gt;5.07 GB&lt;/td&gt;
&lt;td&gt;When you can spend more memory to retain detail&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Q6_K&lt;/td&gt;
&lt;td&gt;6.00 GB&lt;/td&gt;
&lt;td&gt;When image fidelity matters and resources allow it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Q8_0&lt;/td&gt;
&lt;td&gt;7.69 GB&lt;/td&gt;
&lt;td&gt;A larger, higher-precision option&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These are the sizes shown in the repository's file list. In general, higher-bit weights preserve more numerical detail and need more storage. The visible effect depends on the prompt, resolution, runtime, and hardware, so no single choice is best for every image.&lt;/p&gt;

&lt;p&gt;Do not read “4.20 GB” as “this needs exactly 4.20 GB of VRAM.” Inference also uses memory for the text encoder, VAE, intermediate image data, and runtime work buffers. Higher resolutions can raise that working-memory requirement. Start with a quantization that fits your storage, then test the resolution and speed you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. The GGUF is one part of the pipeline
&lt;/h2&gt;

&lt;p&gt;The diffusion model interprets the prompt and builds an image representation. The text encoder turns the prompt into model input. The VAE decodes the image representation into pixels.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3ahpgawn1cxser5j8h9x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3ahpgawn1cxser5j8h9x.png" alt="A pencil workflow diagram connecting a GGUF model, text prompt, VAE, local runtime, and output image" width="179" height="101"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For the documented Qwen Image 2.1 setup, prepare three files:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The diffusion weights, such as &lt;code&gt;qwen_image_2.1-Q4_K.gguf&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;A Qwen3-VL-8B-Instruct text encoder. The maintainer's example uses &lt;code&gt;Qwen3VL-8B-Instruct-Q4_K_M.gguf&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The matching &lt;code&gt;qwen_image_2.1_vae_bf16.safetensors&lt;/code&gt; VAE.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The maintainer warns that this VAE is not interchangeable with the earlier Qwen Image or Wan 2.2 VAEs. For image editing with a GGUF text encoder, the documented setup also requires a matching vision projection file, such as &lt;code&gt;mmproj-Qwen3VL-8B-Instruct-F16.gguf&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. Run a text-to-image example
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/leejet/stable-diffusion.cpp/blob/master/docs/qwen_image_2.1.md" rel="noopener noreferrer"&gt;stable-diffusion.cpp Qwen Image 2.1 guide&lt;/a&gt; shows how to pass the diffusion weights, text encoder, and VAE to &lt;code&gt;sd-cli&lt;/code&gt;. Here is its basic command shape using Q4_K; change the paths to match your files.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;sd-cli &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--diffusion-model&lt;/span&gt; ../models/diffusion_models/qwen_image_2.1-Q4_K.gguf &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--vae&lt;/span&gt; ../models/vae/qwen_image_2.1_vae_bf16.safetensors &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--llm&lt;/span&gt; ../models/text_encoders/Qwen3VL-8B-Instruct-Q4_K_M.gguf &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-p&lt;/span&gt; &lt;span class="s2"&gt;"A small mountain observatory after fresh snowfall, warm window light, quiet winter dusk"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--cfg-scale&lt;/span&gt; 6.0 &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--sampling-method&lt;/span&gt; euler &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--offload-to-cpu&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-o&lt;/span&gt; qwen-image-2.1.png
~~~&lt;span class="o"&gt;{&lt;/span&gt;% endraw %&lt;span class="o"&gt;}&lt;/span&gt;

In this &lt;span class="nb"&gt;command&lt;/span&gt;, &lt;span class="o"&gt;{&lt;/span&gt;% raw %&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="nt"&gt;--diffusion-model&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;% endraw %&lt;span class="o"&gt;}&lt;/span&gt; points to the GGUF file&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;% raw %&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="nt"&gt;--llm&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;% endraw %&lt;span class="o"&gt;}&lt;/span&gt; and &lt;span class="o"&gt;{&lt;/span&gt;% raw %&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="nt"&gt;--vae&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;% endraw %&lt;span class="o"&gt;}&lt;/span&gt; load the two companion files. The prompt follows &lt;span class="o"&gt;{&lt;/span&gt;% raw %&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="nt"&gt;-p&lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;% endraw %&lt;span class="o"&gt;}&lt;/span&gt;&lt;span class="nb"&gt;.&lt;/span&gt; CPU offload may &lt;span class="nb"&gt;help &lt;/span&gt;when GPU memory is tight, but it can slow generation. The maintainer&lt;span class="s1"&gt;'s guide also says image dimensions should be divisible by 32.

If you prefer ComfyUI, the GGUF model card links to a starter text-to-image workflow and recommends the {% raw %}`leejet/ComfyUI-GGUF` custom node. Follow that repository'&lt;/span&gt;s current setup instructions and check that your ComfyUI version supports the required nodes.

&lt;span class="c"&gt;## 5. Common mistakes&lt;/span&gt;

1. &lt;span class="k"&gt;**&lt;/span&gt;Treating the diffusion GGUF as the whole model.&lt;span class="k"&gt;**&lt;/span&gt; It does not replace the text encoder, VAE, or a runtime that understands this conversion.
2. &lt;span class="k"&gt;**&lt;/span&gt;Choosing a VAE by a similar filename.&lt;span class="k"&gt;**&lt;/span&gt; Use the Qwen Image 2.1 VAE listed &lt;span class="k"&gt;in &lt;/span&gt;the setup guide&lt;span class="p"&gt;;&lt;/span&gt; the earlier model VAEs are not interchangeable.
3. &lt;span class="k"&gt;**&lt;/span&gt;Estimating VRAM from download size.&lt;span class="k"&gt;**&lt;/span&gt; The GGUF file size measures storage. Inference also needs working memory, and resolution changes the amount.
4. &lt;span class="k"&gt;**&lt;/span&gt;Assuming quantization changes the license.&lt;span class="k"&gt;**&lt;/span&gt; The GGUF repository says its files follow the original model&lt;span class="s1"&gt;'s license. The [Qwen Research License Agreement](https://huggingface.co/Qwen/Qwen-Image-2.1/blob/main/LICENSE) grants use for non-commercial purposes; commercial use requires a separate license from Qwen.

## Conclusion

Qwen Image 2.1 GGUF is a compact way to load converted image-generation weights in a compatible local runtime. The practical setup has three parts: diffusion GGUF, Qwen3-VL text encoder, and the matching VAE. Choose quantization by balancing file size and image fidelity, then check actual memory use at your target resolution.

For current filenames and compatibility notes, start with the [GGUF repository](https://huggingface.co/leejet/Qwen-Image-2.1-GGUF) and the [maintainer'&lt;/span&gt;s runtime guide]&lt;span class="o"&gt;(&lt;/span&gt;https://github.com/leejet/stable-diffusion.cpp/blob/master/docs/qwen_image_2.1.md&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="nb"&gt;.&lt;/span&gt;

&lt;span class="o"&gt;(&lt;/span&gt;End&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>qwen</category>
      <category>ai</category>
      <category>gguf</category>
      <category>imagegeneration</category>
    </item>
    <item>
      <title>What Is Jev AI Model? The 2026 Complete Guide to the Decision Model, Playground, API &amp; Pricing</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Wed, 23 Sep 2026 09:37:35 +0000</pubDate>
      <link>https://dev.to/czmilo/what-is-jev-ai-model-the-2026-complete-guide-to-the-decision-model-playground-api-pricing-5eb3</link>
      <guid>https://dev.to/czmilo/what-is-jev-ai-model-the-2026-complete-guide-to-the-decision-model-playground-api-pricing-5eb3</guid>
      <description>&lt;h2&gt;
  
  
  🎯 Key Takeaways (TL;DR)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Jev AI Model is not a chatbot and doesn't generate text&lt;/strong&gt;: it's a "decision model" that takes a state (a ticket, message, or JSON object) plus typed questions, and returns structured answers with probabilities — output your code can branch on directly, with no prose to parse.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three question types cover the decision layer of most software&lt;/strong&gt;: Choice (classification), Score (continuous rating), and Noul (yes/no judgment) — batched in one request, each answered with probabilities and a confidence score.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Free playground, one-time pricing, no subscription&lt;/strong&gt;: test free after sign-in at &lt;a href="https://jevaimodel.net" rel="noopener noreferrer"&gt;jevaimodel.net&lt;/a&gt;; API credits start at $10 (100,000 credits) and never expire — $100 Pro and $1,000 Enterprise tiers add throughput and team features.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It targets the layer LLMs handle badly&lt;/strong&gt;: small decisions made thousands of times a day (route, escalate, block, approve) — where per TypeSafe's published benchmark a decision runs up to 193.6x faster and 444.6x cheaper than the comparable LLM workflow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Know the boundaries&lt;/strong&gt;: text/JSON input only (no images, audio, video), English-first accuracy, and validate non-English inputs separately before production.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is Jev AI Model — and What Is a "Decision Model"?&lt;/li&gt;
&lt;li&gt;How Does Jev Work? State, Questions, Typed Answers&lt;/li&gt;
&lt;li&gt;Jev vs LLM Structured Outputs: When to Use Which?&lt;/li&gt;
&lt;li&gt;How to Use Jev AI Model: Three Paths&lt;/li&gt;
&lt;li&gt;Jev AI Model Pricing: What Does It Cost?&lt;/li&gt;
&lt;li&gt;What Are the Real Use Cases?&lt;/li&gt;
&lt;li&gt;Limitations and Caveats&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;li&gt;Conclusion and Next Steps&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;a id="what-is"&gt;&lt;/a&gt;What Is Jev AI Model — and What Is a "Decision Model"?
&lt;/h2&gt;

&lt;p&gt;Jev AI Model is the model behind &lt;a href="https://jevaimodel.net" rel="noopener noreferrer"&gt;jevaimodel.net&lt;/a&gt;, and the site's positioning is unusually blunt: &lt;strong&gt;"Not chat. A decision inside your system."&lt;/strong&gt; The premise is that the hardest product work today isn't generating another paragraph — it's making small decisions many times a second without losing control. Routing a ticket. Scoring a lead. Deciding whether a message needs a human.&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;decision model&lt;/strong&gt; is built for exactly that layer. Instead of the LLM pattern (prompt → free text → parse → retry), Jev inverts the contract:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You define the answer space up front&lt;/strong&gt; — the possible answers are part of the request, so the output is guaranteed to fit your schema.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You ask typed questions, not open prompts&lt;/strong&gt; — classification, scoring, or yes/no.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every answer carries probabilities and confidence&lt;/strong&gt; — so your system knows when to decide alone and when to escalate to a person.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model line is called "System One" (from psychology's fast/intuitive System 1 vs deliberate System 2): the idea that machine-to-machine decisions don't need natural language at all — they need fast, cheap, self-consistent judgments that behave "more like code."&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Pro tip&lt;/strong&gt;&lt;br&gt;
If you're currently prompting an LLM with "classify this as A/B/C and respond in JSON," that's exactly the workload Jev AI Model is designed to replace — the JSON parsing, retry logic, and hallucinated-format failures disappear because the structure is enforced by the request itself.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;a id="how-it-works"&gt;&lt;/a&gt;How Does Jev Work? State, Questions, Typed Answers
&lt;/h2&gt;

&lt;p&gt;The API has two core concepts. A &lt;strong&gt;state&lt;/strong&gt; — the data to evaluate: a support ticket's text, a message, form fields, or any JSON object your system already holds. And &lt;strong&gt;questions&lt;/strong&gt; — typed questions about that state, in three varieties:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question type&lt;/th&gt;
&lt;th&gt;What it answers&lt;/th&gt;
&lt;th&gt;Returns&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Choice&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Classification with defined options&lt;/td&gt;
&lt;td&gt;Selected option + per-option probabilities + confidence&lt;/td&gt;
&lt;td&gt;"intent: billing / bug / feature request"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Score&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Continuous rating against a scale&lt;/td&gt;
&lt;td&gt;Score + distribution + confidence&lt;/td&gt;
&lt;td&gt;"customer frustration, 0–2"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Noul&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes-or-no judgment against criteria&lt;/td&gt;
&lt;td&gt;Probability the statement is true (e.g., 0.95)&lt;/td&gt;
&lt;td&gt;"Does this ticket need a human?"&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Multiple questions can be evaluated against the same state &lt;strong&gt;in one request&lt;/strong&gt;, in parallel — so "which team? how urgent? how frustrated? does it need review?" costs one call, not four.&lt;/p&gt;

&lt;p&gt;The result is designed to land directly in control flow: &lt;code&gt;if result.needs_human: escalate()&lt;/code&gt;. The site describes the separation of concerns plainly: you give it state, you ask the question, and &lt;strong&gt;code acts&lt;/strong&gt; — Jev only handles the decision in the middle, while your system keeps ownership of what happens next.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Pro tip&lt;/strong&gt;&lt;br&gt;
Batch your questions. Because every question about a state is evaluated in parallel in one request, "which team + how urgent + needs review?" is one call — the pattern that makes per-message decision costs disappear.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;graph TD
    A[Your system: ticket / message / JSON state] --&amp;gt; B[Jev: typed questions — Choice, Score, Noul]
    B --&amp;gt; C[Typed answers + probabilities + confidence]
    C --&amp;gt; D{Confidence above threshold?}
    D --&amp;gt;|Yes| E[Act automatically: route, queue, block, approve]
    D --&amp;gt;|No| F[Escalate to a human]
    E --&amp;gt; G[Your business logic stays yours]
    F --&amp;gt; G&lt;/code&gt;&lt;/pre&gt;



&lt;h2&gt;
  
  
  &lt;a id="vs-llm"&gt;&lt;/a&gt;Jev vs LLM Structured Outputs: When to Use Which?
&lt;/h2&gt;

&lt;p&gt;Modern LLMs have JSON mode and function calling — so why a dedicated decision model? The comparison comes down to what each is optimized for:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;Jev AI Model (decision model)&lt;/th&gt;
&lt;th&gt;LLM structured outputs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;Typed answer + probability, schema-enforced&lt;/td&gt;
&lt;td&gt;JSON parsed from generated text&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Speed per decision&lt;/td&gt;
&lt;td&gt;~0.1s class (per TypeSafe's benchmark)&lt;/td&gt;
&lt;td&gt;Seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost per decision&lt;/td&gt;
&lt;td&gt;~$0.000081 (benchmark figure)&lt;/td&gt;
&lt;td&gt;~$0.014 for comparable workflow&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Batch questions&lt;/td&gt;
&lt;td&gt;Multiple per request, parallel&lt;/td&gt;
&lt;td&gt;Multiple calls or one large prompt&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uncertainty signal&lt;/td&gt;
&lt;td&gt;Native probability + confidence&lt;/td&gt;
&lt;td&gt;Varies; often absent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failure mode&lt;/td&gt;
&lt;td&gt;Low-confidence answer you can gate&lt;/td&gt;
&lt;td&gt;Invalid JSON / hallucinated fields&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best at&lt;/td&gt;
&lt;td&gt;High-volume routing, scoring, gating&lt;/td&gt;
&lt;td&gt;Open-ended reasoning, drafting, planning&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Per TypeSafe's published benchmark, the contrast is roughly two orders of magnitude: &lt;strong&gt;up to 193.6x faster and 444.6x cheaper&lt;/strong&gt; on System One task workflows (~$0.000081 / 0.114s per decision vs ~$0.01388 / 8.566s for the LLM comparison). Vendor-run benchmarks deserve skepticism, but the direction is structurally true: a small typed model does less work than a large generative one.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Note&lt;/strong&gt;&lt;br&gt;
Jev doesn't replace your LLM — it replaces the &lt;em&gt;small, repetitive&lt;/em&gt; decisions you're currently delegating to it. The durable architecture in 2026 is complementary: the LLM handles open-ended reasoning (System Two), Jev handles high-volume fast judgments (System One).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;a id="how-to-use"&gt;&lt;/a&gt;How to Use Jev AI Model: Three Paths
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Path 1: The free online playground
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open &lt;a href="https://jevaimodel.net" rel="noopener noreferrer"&gt;jevaimodel.net&lt;/a&gt; and sign in — free, with Google One Tap supported.&lt;/li&gt;
&lt;li&gt;Paste a real scenario as the state (a support ticket, a message, form data).&lt;/li&gt;
&lt;li&gt;Define typed questions — choice, score, or noul.&lt;/li&gt;
&lt;li&gt;Inspect the typed decision with its probabilities before writing any code.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Path 2: The API
&lt;/h3&gt;

&lt;p&gt;Create an API key and send states and questions to &lt;code&gt;POST /v1/systemone&lt;/code&gt; — or use the official Python SDK:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;typesafe_sdk&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Choice&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Noul&lt;/span&gt;

&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;system_one&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;ticket&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;questions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;intent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;Choice&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;criteria&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{...}),&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;needs_human&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;Noul&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;instructions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Does this need a person?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="c1"&gt;# response.answers["intent"].choice
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Path 3: The Jev Agent Skill (Codex, Claude Code, Cursor)
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx skills add jev-ai/jev-agent-skill
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;JEV_API_KEY&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"sk_your_key_here"&lt;/span&gt;
&lt;span class="nb"&gt;export &lt;/span&gt;&lt;span class="nv"&gt;JEV_LANGUAGE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"en-US"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install the public skill, configure one API key, and your coding agent gains a typed judgment layer for routing, guardrails, verification, and completion checks — the agent keeps control of final actions; Jev supplies the decision. English by default, Simplified Chinese supported.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ &lt;strong&gt;Best practice&lt;/strong&gt;&lt;br&gt;
Start with one decision you can verify — e.g., triage intent on real support tickets in the playground — and compare Jev's confusion cases against your current logic before wiring it into production routing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;a id="pricing"&gt;&lt;/a&gt;Jev AI Model Pricing: What Does It Cost?
&lt;/h2&gt;

&lt;p&gt;The pricing model is the rarest kind: &lt;strong&gt;one-time purchases, no auto-renewal, credits that never expire.&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price (one-time)&lt;/th&gt;
&lt;th&gt;Credits&lt;/th&gt;
&lt;th&gt;Concurrency&lt;/th&gt;
&lt;th&gt;Standout features&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Playground&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free (sign-in)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;Full question types, typed output inspection&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Starter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$10&lt;/td&gt;
&lt;td&gt;100,000 (no expiry)&lt;/td&gt;
&lt;td&gt;3 requests&lt;/td&gt;
&lt;td&gt;Validate one real workflow end to end&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;Pro&lt;/strong&gt; (recommended)&lt;/td&gt;
&lt;td&gt;$100&lt;/td&gt;
&lt;td&gt;1,000,000 (no expiry)&lt;/td&gt;
&lt;td&gt;10 requests&lt;/td&gt;
&lt;td&gt;Fast lane, parallel questions, usage history, priority support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Enterprise&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$1,000&lt;/td&gt;
&lt;td&gt;11,000,000 (10% bonus)&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;Dedicated fast lane, team workspaces, custom integration support&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For context on cost-per-decision: at Pro's 1,000,000 credits for $100, a single decision costs on the order of a hundredth of a cent — the class of pricing where "call it on every message" becomes economically reasonable, which is precisely the point of the category.&lt;/p&gt;

&lt;p&gt;Beyond the official site, the Jev model line is also distributed through Cloudflare Workers AI (model ID &lt;code&gt;typesafe/jev&lt;/code&gt;) and OpenRouter (&lt;code&gt;typesafe/jev-1.13&lt;/code&gt;), with a LangChain integration (&lt;code&gt;langchain-typesafe&lt;/code&gt;) — worth comparing if you already run infrastructure on those platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="use-cases"&gt;&lt;/a&gt;What Are the Real Use Cases?
&lt;/h2&gt;

&lt;p&gt;The site frames solutions around the decisions already "hiding in your code":&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Support triage&lt;/strong&gt;: intent + urgency + frustration scored in one pass; auto-route the confident cases, escalate the rest.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Guardrails and safety checks&lt;/strong&gt;: noul-style gates ("is this output safe to send?") on agent pipelines, with confidence-triggered human review.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent control flow&lt;/strong&gt;: the Agent Skill lets Codex/Claude Code/Cursor agents request bounded judgments for routing, verification, and completion checks — the "should I continue?" decisions agents currently guess at.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lead and content scoring&lt;/strong&gt;: continuous score questions against a defined scale, feeding prioritization queues.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Form and message classification&lt;/strong&gt;: any place a human reads text and picks from a fixed set of outcomes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The unifying pattern: &lt;strong&gt;high volume, bounded answer space, and a cost to getting it wrong that's managed by confidence thresholds rather than perfection.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="limits"&gt;&lt;/a&gt;Limitations and Caveats
&lt;/h2&gt;

&lt;p&gt;Honest boundaries, mostly from the official docs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Text, JSON objects, and arrays of text only&lt;/strong&gt; — no images, audio, or video yet.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;English-first&lt;/strong&gt;: non-English inputs should be validated separately for accuracy before production use (the site and agent skill support Simplified Chinese, and a /zh version exists).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's a judgment layer, not a knowledge layer&lt;/strong&gt; — Jev decides on the state you give it; it doesn't retrieve facts or reason over long documents the way an LLM can.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vendor benchmarks&lt;/strong&gt; (the 193x/444x figures) are TypeSafe's own — directionally credible for the workload class, but run your own comparison on your data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Probability calibration is model-specific&lt;/strong&gt; — before gating on thresholds like 0.8, observe the confidence distribution on your real traffic.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  🤔 FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Q: What is Jev AI Model?
&lt;/h3&gt;

&lt;p&gt;A: Jev AI Model is a "decision model" at &lt;a href="https://jevaimodel.net" rel="noopener noreferrer"&gt;jevaimodel.net&lt;/a&gt; that classifies, scores, and answers yes/no questions about text and JSON states — returning typed answers with probabilities instead of generated text, for direct use in application logic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Is Jev AI Model free?
&lt;/h3&gt;

&lt;p&gt;A: The online playground is free after sign-in. API calls use paid credits: $10 (100,000 credits), $100 (1,000,000), or $1,000 (11,000,000) — all one-time purchases with no expiry and no auto-renewal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How is Jev different from an LLM with JSON mode?
&lt;/h3&gt;

&lt;p&gt;A: JSON mode still generates text that must parse; Jev enforces the answer space in the request itself and returns probabilities with every answer. Per TypeSafe's benchmark it's up to ~194x faster and ~445x cheaper per decision — designed for high-volume routing/scoring, not open-ended reasoning.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What are Choice, Score, and Noul?
&lt;/h3&gt;

&lt;p&gt;A: The three question types: &lt;strong&gt;Choice&lt;/strong&gt; classifies into defined options, &lt;strong&gt;Score&lt;/strong&gt; rates on a continuous scale, &lt;strong&gt;Noul&lt;/strong&gt; answers a yes/no question with a probability. Multiple questions can be batched per request in parallel.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can I use Jev AI Model with Claude Code or Cursor?
&lt;/h3&gt;

&lt;p&gt;A: Yes — install the public Jev Agent Skill (&lt;code&gt;npx skills add jev-ai/jev-agent-skill&lt;/code&gt;), set your API key, and your agent can request typed judgments for routing, guardrails, and verification while keeping final control of actions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Does Jev support Chinese or other languages?
&lt;/h3&gt;

&lt;p&gt;A: The site and agent skill support English and Simplified Chinese, with a Chinese version at jevaimodel.net/zh. Accuracy on non-English inputs should be validated separately before production use.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can Jev process images or audio?
&lt;/h3&gt;

&lt;p&gt;A: No — currently text, JSON objects, and arrays of text only. Images, audio, and video are not supported.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion and Next Steps
&lt;/h2&gt;

&lt;p&gt;Jev AI Model represents a clean split in the AI stack: LLMs for open-ended reasoning, and a &lt;strong&gt;typed decision layer&lt;/strong&gt; for the thousands of small judgments software makes every day. With a free playground, one-time credit pricing that never expires, and an agent skill that plugs into the tools developers already use, the barrier to testing it is close to zero.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Try one real decision free&lt;/strong&gt; — open the &lt;a href="https://jevaimodel.net" rel="noopener noreferrer"&gt;Jev playground&lt;/a&gt;, paste a real ticket or message, and compare its typed answers against your current logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run the $10 experiment&lt;/strong&gt; — if the playground looks right, Starter credits are enough to validate one production workflow with real traffic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the benchmark&lt;/strong&gt; — the site publishes an independent-style evaluation of decision quality, calibration, speed, and cost per decision; run your own alongside it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If you build with agents&lt;/strong&gt; — install the Agent Skill in Claude Code, Codex, or Cursor and let it own the routing/guardrail judgments instead of prompting your way to them.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt; &lt;a href="https://jevaimodel.net" rel="noopener noreferrer"&gt;Jev AI Model official site&lt;/a&gt; · &lt;a href="https://jevaimodel.net" rel="noopener noreferrer"&gt;Jev pricing page&lt;/a&gt; · TypeSafe benchmark (via official materials) · Jev Agent Skill docs (&lt;code&gt;jev-ai/jev-agent-skill&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Last updated: September 23, 2026. Product features and pricing verified against the official site on this date — re-check before purchase.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>api</category>
      <category>machinelearning</category>
      <category>programming</category>
    </item>
    <item>
      <title>What Is Jev? The 2026 Complete Guide to TypeSafe's System One Model (200x Faster, 400x Cheaper AI Decisions)</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Sat, 19 Sep 2026 14:36:28 +0000</pubDate>
      <link>https://dev.to/czmilo/what-is-jev-the-2026-complete-guide-to-typesafes-system-one-model-200x-faster-400x-cheaper-ai-451h</link>
      <guid>https://dev.to/czmilo/what-is-jev-the-2026-complete-guide-to-typesafes-system-one-model-200x-faster-400x-cheaper-ai-451h</guid>
      <description>&lt;h2&gt;
  
  
  🎯 Key Takeaways (TL;DR)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Jev is not a chat model and doesn't generate text&lt;/strong&gt;: it's the first "System One Model" from TypeSafe AI. You feed it a state (structured data) plus a set of typed questions, and it returns calibrated, structured decisions your software can act on directly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Official benchmark: two orders of magnitude faster and cheaper&lt;/strong&gt; — up to 193.6x faster and 444.6x cheaper than comparable LLMs on System One task workflows (~$0.000081 / 0.114s per decision vs $0.01388 / 8.566s for LLMs, per TypeSafe's site).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Three question types&lt;/strong&gt;: Noul (true/false), Choice (multi-class), and Score (ordinal rating) — every answer ships with calibrated probabilities and a confidence score, so developers can gate "act automatically" vs "escalate to a human" on thresholds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Available everywhere you already build&lt;/strong&gt;: Cloudflare Workers AI (model ID &lt;code&gt;typesafe/jev&lt;/code&gt;), OpenRouter (&lt;code&gt;typesafe/jev-1.13&lt;/code&gt;, $0.042/M input tokens, output free), and LangChain (the &lt;code&gt;langchain-typesafe&lt;/code&gt; package). Context window: 32K tokens.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It complements LLMs, it doesn't replace them&lt;/strong&gt;: the LLM handles open-ended reasoning (System Two), Jev handles high-volume fast structured judgments (System One) — together they form the complete stack.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is Jev and Why Doesn't It Generate Text?&lt;/li&gt;
&lt;li&gt;What Exactly Is a "System One Model"?&lt;/li&gt;
&lt;li&gt;How Does Jev Work?&lt;/li&gt;
&lt;li&gt;Performance and Pricing: What Does 200x Faster Mean?&lt;/li&gt;
&lt;li&gt;How to Get Started with Jev (Three Paths + Code)&lt;/li&gt;
&lt;li&gt;Jev vs Traditional LLMs: Which Should You Use?&lt;/li&gt;
&lt;li&gt;What Are the Real-World Use Cases?&lt;/li&gt;
&lt;li&gt;Limitations and Caveats&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;li&gt;Conclusion and Next Steps&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;a id="what-is-jev"&gt;&lt;/a&gt;What Is Jev and Why Doesn't It Generate Text?
&lt;/h2&gt;

&lt;p&gt;Jev is a structured evaluation model released by TypeSafe AI in September 2026, and the first product in the category the company calls "System One Models." In one sentence: &lt;strong&gt;you give it a state and a few questions about that state, and it returns typed answers with probabilities — not prose.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This breaks our usual intuition about "AI models." Traditional LLMs (Claude, GPT, and friends) are autoregressive text generators — they produce natural language token by token, and your application layer then parses, retries, and validates that text into something the software can use. Jev skips text generation entirely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Input&lt;/strong&gt;: a state (a plain string or an arbitrarily nested JSON object — a support ticket, an order, an account record) + a set of typed questions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Output&lt;/strong&gt;: one typed answer per question, each with calibrated probabilities and a confidence score&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The trade-off&lt;/strong&gt;: there's no room for "rambling," "going off-topic," or "hallucinated paragraphs" — because there is no free-form text output at all&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TypeSafe markets this as "Zero Hallucinations." The precise meaning is that &lt;strong&gt;outputs are always the expected data structure and every decision carries a confidence estimate&lt;/strong&gt;, so software knows when to act autonomously and when to escalate to a human review. (That's the vendor's framing — see the limitations section before you bet production money on it.)&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="system-one"&gt;&lt;/a&gt;What Exactly Is a "System One Model"?
&lt;/h2&gt;

&lt;p&gt;The "System 1 / System 2" framing borrows from the dual-process theory in psychology: System 1 is fast, intuitive, automatic; System 2 is slow, deliberate reasoning. TypeSafe uses it to divide labor between AI models:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;System One model (Jev)&lt;/th&gt;
&lt;th&gt;System Two model (traditional LLM)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;Typed decisions (data)&lt;/td&gt;
&lt;td&gt;Free text (strings)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latency&lt;/td&gt;
&lt;td&gt;~0.1 second&lt;/td&gt;
&lt;td&gt;Seconds to tens of seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost&lt;/td&gt;
&lt;td&gt;~$0.000081 per decision&lt;/td&gt;
&lt;td&gt;~$0.0138 per decision&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consistency&lt;/td&gt;
&lt;td&gt;Fixed structure, with confidence&lt;/td&gt;
&lt;td&gt;Wording varies run to run&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Good at&lt;/td&gt;
&lt;td&gt;Classify, route, score, gatekeep&lt;/td&gt;
&lt;td&gt;Open-ended reasoning, writing, planning&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Analogy&lt;/td&gt;
&lt;td&gt;Intuitive reaction&lt;/td&gt;
&lt;td&gt;Deep thinking&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;TypeSafe's core argument: RLHF tuned LLMs into "chat machines optimized for human preferences," which introduced mode dropping, overconfidence, and reliability problems — which is why every production system still needs a human in the loop. But machine-to-machine communication doesn't need natural language at all. Jev is designed for "machine-native" decision workloads — what the company calls "more like code": reliable, fast, self-consistent, and type-safe.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Pro tip&lt;/strong&gt;&lt;br&gt;
Don't think of Jev as "a cheaper GPT." It's a judgment node in your pipeline: the LLM understands complex open-ended problems and generates solutions; Jev makes fast, quantifiable, auditable calls at the branching points of the workflow. They are complements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;a id="how-it-works"&gt;&lt;/a&gt;How Does Jev Work?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Three Question Types
&lt;/h3&gt;

&lt;p&gt;Jev's API has exactly two core concepts: a &lt;code&gt;state&lt;/code&gt; (the data to evaluate) and &lt;code&gt;questions&lt;/code&gt; (about that data). Questions come in three types:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Question type&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;th&gt;Returns&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Noul&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Binary true/false judgment (with criteria)&lt;/td&gt;
&lt;td&gt;Probability the statement is true (e.g., 0.95)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Choice&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Single-label classification, each option can carry descriptive criteria&lt;/td&gt;
&lt;td&gt;Selected option + per-option probabilities + confidence (e.g., billing, 0.8)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Score&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Rating against an ordered scale (e.g., 0–2)&lt;/td&gt;
&lt;td&gt;Continuous score + distribution + confidence (e.g., 1.04, confidence 0.94)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A realistic example (from Cloudflare's official docs): a support ticket saying "payouts have been failing for 3 days," evaluated against three questions at once —&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Noul "Is this urgent?" → 0.95&lt;/li&gt;
&lt;li&gt;Choice "Which department should handle it?" → billing, confidence 0.8&lt;/li&gt;
&lt;li&gt;Score "Customer frustration 0–2?" → 1.04, confidence 0.94&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Batch Questions, Almost No Extra Latency
&lt;/h3&gt;

&lt;p&gt;Multiple questions can be sent against the same state in one call, and Jev evaluates them &lt;strong&gt;in parallel&lt;/strong&gt;. Extra questions barely affect response time — they only cost their token usage. So you can ask "is it urgent? who should own it? how angry is the customer? do they deserve a refund?" all at once with essentially unchanged latency.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Decision Flow
&lt;/h3&gt;

&lt;h2&gt;
  
  
  📊 Jev Decision Workflow
&lt;/h2&gt;



&lt;pre data-lang="mermaid"&gt;&lt;code&gt;graph TD
    A[Business event: ticket / order / log / agent state] --&amp;gt; B[Build state: text or JSON]
    B --&amp;gt; C[Define questions: Noul / Choice / Score]
    C --&amp;gt; D[Jev parallel evaluation]
    D --&amp;gt; E[Typed answers + confidence]
    E --&amp;gt; F{Confidence &amp;gt;= threshold?}
    F --&amp;gt;|Yes| G[Act automatically: route / escalate / block]
    F --&amp;gt;|No| H[Escalate to human review]
    G --&amp;gt; I[Log decision + probability: auditable]
    H --&amp;gt; I&lt;/code&gt;&lt;/pre&gt;



&lt;h3&gt;
  
  
  Training: RLCD
&lt;/h3&gt;

&lt;p&gt;Jev is built on a new architecture and a new sampler, trained with a new algorithm called &lt;strong&gt;RLCD&lt;/strong&gt; (Reinforcement Learning for Calibrated Decisions). Where RLHF optimizes for "human preference," RLCD optimizes for "calibrated decisions" — the probabilities the model reports must genuinely reflect its accuracy. That calibration is exactly what makes confidence-threshold strategies viable in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="benchmark"&gt;&lt;/a&gt;Performance and Pricing: What Does 200x Faster Mean?
&lt;/h2&gt;

&lt;p&gt;TypeSafe's published benchmark (System One task workflows):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;TypeSafe (Jev)&lt;/th&gt;
&lt;th&gt;Traditional LLM&lt;/th&gt;
&lt;th&gt;Gap&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Cost per decision&lt;/td&gt;
&lt;td&gt;$0.000081&lt;/td&gt;
&lt;td&gt;$0.013880&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;444.6x&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latency per decision&lt;/td&gt;
&lt;td&gt;0.114s&lt;/td&gt;
&lt;td&gt;8.566s&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;193.6x&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Input token price&lt;/td&gt;
&lt;td&gt;$42 / 1B tokens&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;Claimed 238x cheaper than Claude Fable 5.1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The LangChain blog quotes a "up to 200x faster, 400x cheaper" figure for integrated scenarios — consistent with the official numbers (one is the vendor's peak claim, the other is the in-the-wild framing).&lt;/p&gt;

&lt;p&gt;Market data supports the magnitude: jev-1.13 went live on OpenRouter on September 18, 2026, priced at &lt;strong&gt;$0.042 per million input tokens and $0 per million output tokens&lt;/strong&gt; (the output is a tiny typed JSON, so it's simply not billed), and it processed over 161 billion tokens in its first days on the platform (source: OpenRouter model page).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Pro tip&lt;/strong&gt;&lt;br&gt;
Do the arithmetic: $42 per billion input tokens ≈ roughly 240 single-question decisions per penny. For high-frequency scenarios where "every email, every ticket, every tool call gets a judgment," this is the first cost structure that makes full-coverage judgment economically viable — which is why this space used to be handled with keyword rules or random sampling.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;a id="how-to-use"&gt;&lt;/a&gt;How to Get Started with Jev (Three Paths + Code)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Path 1: Cloudflare Workers AI (Model ID: &lt;code&gt;typesafe/jev&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;Jev is available as a third-party model on Cloudflare Workers AI with a 32K token context window, callable via the Worker binding or the REST API. The &lt;code&gt;state&lt;/code&gt; can be a plain string or nested JSON (questions reference fields with backticks, e.g. &lt;code&gt;ticket.message\&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Inside a Cloudflare Worker&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;AI&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@cf/typesafe/jev&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;state&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;ticket&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;message&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Stripe webhook has been failing for 3 days&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;channel&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;email&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;order&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;total&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;499.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;status&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;paid&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;policy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Duplicate charges with service unavailable for 24+ hours qualify for a full refund&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="na"&gt;questions&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;is_urgent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;noul&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Does this ticket need immediate escalation?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;department&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;choice&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Which department should handle this?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;choices&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;billing&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Billing and payment issues&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;technical&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Technical failures&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;account&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Account issues&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="na"&gt;refund_warranted&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;noul&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;question&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Does the refund policy support a refund for this order?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;

&lt;span class="c1"&gt;// Every answer comes with probability and confidence&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;is_urgent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;          &lt;span class="c1"&gt;// { value: true, probability: 0.95, ... }&lt;/span&gt;
&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;department&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;         &lt;span class="c1"&gt;// { value: "billing", confidence: 0.8, ... }&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The official docs provide downloadable input/output JSON schemas, and responses include per-question answers plus token usage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Path 2: OpenRouter (Model ID: &lt;code&gt;typesafe/jev-1.13&lt;/code&gt;)
&lt;/h3&gt;

&lt;p&gt;If you already route models through OpenRouter, just point your model ID at &lt;code&gt;typesafe/jev-1.13&lt;/code&gt;. There's also &lt;code&gt;typesafe/jev-latest&lt;/code&gt;, an alias that always resolves to the newest Jev release (currently jev-1.13.0).&lt;/p&gt;

&lt;h3&gt;
  
  
  Path 3: LangChain (the &lt;code&gt;langchain-typesafe&lt;/code&gt; package)
&lt;/h3&gt;

&lt;p&gt;The official LangChain blog post "Building a Harness with Jev" demonstrates three integrations:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Basic classifier&lt;/strong&gt; — &lt;code&gt;TypeSafeClassifier&lt;/code&gt; takes a state (text, structured data, or LangChain messages) plus questions:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;langchain_typesafe&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;TypeSafeClassifier&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Noul&lt;/span&gt;

&lt;span class="n"&gt;classifier&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;TypeSafeClassifier&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;classifier&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;invoke&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;state&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;User reports their Stripe integration is completely down, affecting live payments&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;questions&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;urgent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nc"&gt;Noul&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;question&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Does this need immediate escalation?&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;nouls&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;urgent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="n"&gt;noul&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# 0.999 — usable for auto-prioritization
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Model routing&lt;/strong&gt; — &lt;code&gt;ModelRouterMiddleware&lt;/code&gt; lets Jev choose between a "fast" and a "powerful" model, assigning each request to the cheapest model capable of handling it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Tool-call guardrails (Auto Mode)&lt;/strong&gt; — &lt;code&gt;AutoModeMiddleware&lt;/code&gt; screens risky tool calls (like &lt;code&gt;bash&lt;/code&gt;) with Jev &lt;em&gt;before&lt;/em&gt; they execute and blocks the dangerous ones. The pattern is inspired by the guardrails in coding harnesses like Claude, Codex, and Cursor — and it's the core play in "building a harness with Jev": &lt;strong&gt;use the System One model to insure the System Two model&lt;/strong&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ &lt;strong&gt;Best practice&lt;/strong&gt;&lt;br&gt;
All three question types support (and deserve) explicit criteria. Don't just ask "is this urgent?" — define what "urgent" means: "affects production, has persisted over 24 hours, or involves money." The more precise your criteria, the more trustworthy the probabilities.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  &lt;a id="jev-vs-llm"&gt;&lt;/a&gt;Jev vs Traditional LLMs: Which Should You Use?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;Jev (System One)&lt;/th&gt;
&lt;th&gt;Traditional LLM (System Two)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Output format&lt;/td&gt;
&lt;td&gt;Typed decision + probability&lt;/td&gt;
&lt;td&gt;Natural language text&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hallucination risk&lt;/td&gt;
&lt;td&gt;No free text to drift (vendor claims "zero hallucinations")&lt;/td&gt;
&lt;td&gt;Present; requires parsing and validation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latency&lt;/td&gt;
&lt;td&gt;~0.1s&lt;/td&gt;
&lt;td&gt;Seconds to minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost per call&lt;/td&gt;
&lt;td&gt;~$0.00008&lt;/td&gt;
&lt;td&gt;~$0.014&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open-ended reasoning / generation&lt;/td&gt;
&lt;td&gt;Not supported&lt;/td&gt;
&lt;td&gt;Core capability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Explainability&lt;/td&gt;
&lt;td&gt;Probabilities and distributions, easy to audit&lt;/td&gt;
&lt;td&gt;Requires a separate eval framework&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Typical role&lt;/td&gt;
&lt;td&gt;Routing, triage, scoring, gatekeeping&lt;/td&gt;
&lt;td&gt;Conversation, planning, content generation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;One-line decision rule: &lt;strong&gt;if the answer can be enumerated from a finite set of options, use Jev; if the answer has to be thought up, use an LLM.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="use-cases"&gt;&lt;/a&gt;What Are the Real-World Use Cases?
&lt;/h2&gt;

&lt;p&gt;From the official docs and community practice (LangChain blog, Cloudflare docs):&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ticket triage and routing&lt;/strong&gt;: evaluate urgency, owning department, and frustration score in parallel for every ticket, in milliseconds, with full coverage instead of sampling. In one Cloudflare docs example, a login issue routed to the account department with 1.0 confidence.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent tool-call guardrails&lt;/strong&gt;: in coding harnesses, screen high-risk tools like &lt;code&gt;bash&lt;/code&gt; before execution and block or escalate when risk is high.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Model routing&lt;/strong&gt;: split traffic between fast and powerful models by task difficulty to cut overall inference cost.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Refund and compliance review&lt;/strong&gt;: put the ticket, the order, and the refund policy in one state; the model judges "a refund was requested (0.99)" and "the policy supports it (0.98)."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Account risk scoring&lt;/strong&gt;: score account activity (1.84 in the docs example, leaning "High risk") with a 0.81 probability recommendation to escalate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-frequency lightweight agents&lt;/strong&gt;: community examples include Browserbase-powered browser agents making decisions for "fractions of a cent," a live trading agent, and large-scale email triage.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;a id="limits"&gt;&lt;/a&gt;Limitations and Caveats
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Warning&lt;/strong&gt;&lt;br&gt;
Keep these in mind when evaluating:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It only answers what you ask&lt;/strong&gt;: Jev does no open-ended reasoning. If the judgment criteria themselves require understanding complex context or generating new information, it's the wrong tool.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Zero hallucinations" is a vendor claim&lt;/strong&gt;: structured output eliminates textual drift, but probability judgments can still be wrong. The right posture is not blind trust — it's &lt;strong&gt;confidence thresholds with human review as the backstop&lt;/strong&gt;. Notably, the FAQ items on TypeSafe's site covering accuracy ceilings, failure modes, and whether prices are subsidized remain collapsed and unanswered; benchmark methodology details are still thin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;32K context window&lt;/strong&gt;: the state can't be arbitrarily large; chunk or summarize long content first.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A brand-new category, early ecosystem&lt;/strong&gt;: Jev is in early access (console.typesafe.ai). Validate calibration on your own data before production — for example, regression-test the probabilities against historical tickets.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;a id="faq"&gt;&lt;/a&gt;🤔 Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Q: Will Jev replace LLMs?
&lt;/h3&gt;

&lt;p&gt;A: No. Jev doesn't generate text and can't hold conversations, write, or reason openly. Its role is to take over the "judgment" segments of an LLM stack — routing, classification, scoring, approval — so the LLM can focus on the "thinking." LangChain's blog explicitly frames it as a complement to LLMs, not a replacement.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What does "Noul" mean?
&lt;/h3&gt;

&lt;p&gt;A: Noul is a TypeSafe-coined question type for binary true/false evaluation: you provide a statement and its criteria, and Jev returns the probability the statement is true (e.g., 0.95). It sits alongside Choice (multi-class) and Score (ordinal rating) as one of Jev's three question types.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How much does Jev cost?
&lt;/h3&gt;

&lt;p&gt;A: On OpenRouter, &lt;code&gt;typesafe/jev-1.13&lt;/code&gt; is priced at $0.042 per million input tokens (i.e., $42 per billion) with $0 output pricing. TypeSafe's site claims that input price is about 238x lower than Claude Fable 5.1. Note that real "per decision" cost depends on your state length; the official benchmark puts it around $0.000081 per decision.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Where can I use Jev?
&lt;/h3&gt;

&lt;p&gt;A: Four entry points today: Cloudflare Workers AI (&lt;code&gt;typesafe/jev&lt;/code&gt;), OpenRouter (&lt;code&gt;typesafe/jev-1.13&lt;/code&gt; or &lt;code&gt;typesafe/jev-latest&lt;/code&gt;), TypeSafe's own console at console.typesafe.ai (early access), and the LangChain ecosystem via the &lt;code&gt;langchain-typesafe&lt;/code&gt; package (which can sit on top of any of the above).&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Is Jev really hallucination-free?
&lt;/h3&gt;

&lt;p&gt;A: The more precise statement is "no text hallucinations" — Jev never generates free-form text, so there's nothing to fabricate paragraphs with. But its probability judgments can still be wrong. In production, pair it with confidence thresholds: auto-execute at high confidence, route to humans at low confidence.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What kind of project should adopt Jev?
&lt;/h3&gt;

&lt;p&gt;A: Three signals: ① you have high-volume, repetitive classification or triage decisions (tickets, emails, moderation, logs); ② you're currently doing those with an LLM and cost or latency can't keep up; ③ your agent pipeline needs cheap gatekeeping (tool-call approval, model routing). Any one of these makes it worth a pilot.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;a id="conclusion"&gt;&lt;/a&gt;Conclusion and Next Steps
&lt;/h2&gt;

&lt;p&gt;Jev represents a direction worth taking seriously: &lt;strong&gt;separating "judgment" from text generation and turning it into a typed, confidence-bearing primitive that software can consume directly&lt;/strong&gt;. A 193x speed gap and a 444x cost gap aren't "a slightly faster LLM" — they're what makes a "judge everything, in real time, every time" architecture economically viable for the first time.&lt;/p&gt;

&lt;p&gt;Recommended next steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Validate calibration on real data first&lt;/strong&gt;: take 100–500 historical tickets or cases, compare Jev's probabilities against human conclusions, and check whether the probabilities mean what they claim — this determines how low you can set your thresholds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Start with one low-risk scenario&lt;/strong&gt;: email triage or ticket routing is the ideal entry point (mistakes have a human safety net, and the payoff is immediate).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Then add agent guardrails&lt;/strong&gt;: if your agents run &lt;code&gt;bash&lt;/code&gt;, send emails, or touch databases, use the Auto Mode pattern to give them a System One gatekeeper.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  References
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;TypeSafe: System One Models &amp;amp; Jev announcement — &lt;a href="https://typesafe.ai" rel="noopener noreferrer"&gt;https://typesafe.ai&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Cloudflare Workers AI docs: Jev model page — &lt;a href="https://developers.cloudflare.com/ai/models/typesafe/jev/" rel="noopener noreferrer"&gt;https://developers.cloudflare.com/ai/models/typesafe/jev/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;OpenRouter model page: jev-1.13 — &lt;a href="https://openrouter.ai/typesafe/jev-1.13" rel="noopener noreferrer"&gt;https://openrouter.ai/typesafe/jev-1.13&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;LangChain blog: Building a Harness with Jev — &lt;a href="https://www.langchain.com/blog/building-a-harness-with-jev" rel="noopener noreferrer"&gt;https://www.langchain.com/blog/building-a-harness-with-jev&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>llms</category>
      <category>agents</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Antique Scanner: How to Identify &amp; Value Antiques by Photo (2026 Complete Guide)</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Sat, 19 Sep 2026 02:00:08 +0000</pubDate>
      <link>https://dev.to/czmilo/antique-scanner-how-to-identify-value-antiques-by-photo-2026-complete-guide-1mbl</link>
      <guid>https://dev.to/czmilo/antique-scanner-how-to-identify-value-antiques-by-photo-2026-complete-guide-1mbl</guid>
      <description>&lt;h2&gt;
  
  
  🎯 Key Takeaways (TL;DR)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Antique Scanner (&lt;a href="https://antiquescanner.org/" rel="noopener noreferrer"&gt;antiquescanner.org&lt;/a&gt;) is an AI research tool that identifies antiques from photos&lt;/strong&gt; — it reads maker's marks, hallmarks, materials, construction, and wear, then estimates age, origin, and market value.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every finding carries an honest confidence label&lt;/strong&gt; — &lt;em&gt;Identified&lt;/em&gt;, &lt;em&gt;Likely&lt;/em&gt;, &lt;em&gt;Possible&lt;/em&gt;, or &lt;em&gt;Uncertain&lt;/em&gt; — with the evidence shown, so you know exactly how much to trust it. No guessing presented as fact.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It's fast, cheap, and low-commitment&lt;/strong&gt;: your first scan is free, a Full Antique Report costs a one-time $3.98 (no subscription), and most scans return in under two minutes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best for&lt;/strong&gt;: collectors, thrifters and resellers, and anyone handling inherited or estate items who needs a research starting point before buying, selling, or paying for a professional appraisal.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is an Antique Scanner?&lt;/li&gt;
&lt;li&gt;What Can You Scan?&lt;/li&gt;
&lt;li&gt;How Does Antique Scanner Work?&lt;/li&gt;
&lt;li&gt;What's Inside an Antique Scanner Report?&lt;/li&gt;
&lt;li&gt;Antique Scanner vs. Google Lens vs. Traditional Appraisal&lt;/li&gt;
&lt;li&gt;How to Photograph Your Antique for the Best Results&lt;/li&gt;
&lt;li&gt;Who Should Use an Antique Identifier?&lt;/li&gt;
&lt;li&gt;Pricing: What Does a Scan Cost?&lt;/li&gt;
&lt;li&gt;How Accurate Is It? Honest Limits&lt;/li&gt;
&lt;li&gt;Frequently Asked Questions (FAQ)&lt;/li&gt;
&lt;li&gt;Conclusion &amp;amp; Next Steps&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  What Is an Antique Scanner?
&lt;/h2&gt;

&lt;p&gt;An &lt;strong&gt;antique scanner&lt;/strong&gt; is a web-based AI tool that identifies old objects from photographs. Instead of matching images by visual similarity (the way a reverse image search does), &lt;a href="https://antiquescanner.org/" rel="noopener noreferrer"&gt;Antique Scanner&lt;/a&gt; examines the details that appraisers actually trust — &lt;strong&gt;maker's marks, hallmarks, materials, construction techniques, and wear patterns&lt;/strong&gt; — and produces a structured research report telling you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What the item probably is&lt;/strong&gt; (maker, origin, materials, construction)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;When it was likely made&lt;/strong&gt; (age estimate, often to the decade)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What it may be worth&lt;/strong&gt; (a three-tier value range, not one invented number)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The companion &lt;a href="https://antiquescanner.org/antique-identifier" rel="noopener noreferrer"&gt;Antique Identifier&lt;/a&gt; page runs the same engine with a sharper focus on the identification step: naming that mystery item before you think about price.&lt;/p&gt;

&lt;p&gt;The key idea: an antique never has one single "correct" price, and photo identification is never guaranteed. Antique Scanner is built to say what the evidence supports — and to tell you plainly when it doesn't support more. That honesty is the product's core differentiator in a market full of tools that confidently guess.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Pro Tip&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Marks are the strongest signal. A single sharp photo of the base or maker's mark can lift a finding from "Likely" to genuinely "Identified" — often more valuable than five photos of the pretty side.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What Can You Scan?
&lt;/h2&gt;

&lt;p&gt;The antique scanner works on porcelain, silver, furniture, watches, pottery marks — if it's old, it can help you read it. Real examples from the site:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Category&lt;/th&gt;
&lt;th&gt;Example result from a scan&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Porcelain vase&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Hand-painted baluster vase — likely early 20th century, read from the base mark and paste. Market range $120–200.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Vintage watch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Mechanical dress watch, probable 1950s movement; serial range and dial fonts agreed. Redial flags: none.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Silver spoon&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Sterling pattern identified from hallmarks — standard, maker, and date letter all read; date letter confirmed the assay year.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Antique chair&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ladder-back country chair with hand-cut joinery, 19th century; condition wear priced into the estimate.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pottery mark&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Impressed maker's mark matched to a pottery — the finding climbed from &lt;em&gt;Likely&lt;/em&gt; to &lt;em&gt;Identified&lt;/em&gt; on the mark alone.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Beyond these, the tool handles &lt;strong&gt;glass, clocks, jewelry, paintings, books, tools, and most decorative objects&lt;/strong&gt; — plus vintage and collectible items. It reads British hallmarks, continental factory marks, American art pottery, Asian ceramics, and more, wherever the photos carry readable form, materials, or marks. Reports are written in English whatever the item's origin.&lt;/p&gt;

&lt;p&gt;The site also offers category-specific identifier pages with sharper guidance per material:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://antiquescanner.org/antique-pottery-identifier" rel="noopener noreferrer"&gt;Antique Pottery Identifier&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-porcelain-identifier" rel="noopener noreferrer"&gt;Antique Porcelain Identifier&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://antiquescanner.org/antique-silver-identifier" rel="noopener noreferrer"&gt;Antique Silver Identifier&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-jewelry-identifier" rel="noopener noreferrer"&gt;Antique Jewelry Identifier&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://antiquescanner.org/antique-furniture-identifier" rel="noopener noreferrer"&gt;Antique Furniture Identifier&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-glass-identifier" rel="noopener noreferrer"&gt;Antique Glass Identifier&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://antiquescanner.org/antique-watch-identifier" rel="noopener noreferrer"&gt;Antique Watch Identifier&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-vase-identifier" rel="noopener noreferrer"&gt;Antique Vase Identifier&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How Does Antique Scanner Work?
&lt;/h2&gt;

&lt;p&gt;From photo to report in three steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Upload 1–5 photos.&lt;/strong&gt; Include a full side profile, the base, and any marks or signatures for the best results. Phone cameras are fine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI analyzes the details.&lt;/strong&gt; The engine examines form, materials, construction, marks, and wear, then estimates age and origin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Get your value report.&lt;/strong&gt; A structured report with identification, confidence, evidence, and value ranges — saved to your private history.
&lt;/li&gt;
&lt;/ol&gt;

&lt;pre data-lang="mermaid"&gt;&lt;code&gt;graph TD
A[Upload 1–5 photos&amp;lt;br/&amp;gt;profile · base · marks · damage] --&amp;gt; B[AI reads marks, materials,&amp;lt;br/&amp;gt;construction, form &amp;amp; wear]
B --&amp;gt; C[Identification with&amp;lt;br/&amp;gt;confidence label]
C --&amp;gt; D[Three-tier value estimate&amp;lt;br/&amp;gt;quick sale · market · dealer]
D --&amp;gt; E[Report saved to history&amp;lt;br/&amp;gt;+ reshoot suggestions]&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Most scans return in &lt;strong&gt;under two minutes&lt;/strong&gt; once they run. Free scans sit in a short queue first; paid scans start instantly on a stronger model.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Inside an Antique Scanner Report?
&lt;/h2&gt;

&lt;p&gt;Each report is a structured document with evidence, confidence levels, and honest uncertainties — not a paragraph of guesswork:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Report section&lt;/th&gt;
&lt;th&gt;What you get&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Maker &amp;amp; mark analysis&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reading of maker's marks, hallmarks, and signatures — the details appraisers trust most&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Three-tier value estimate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Quick sale, market, and dealer prices, because an antique never has one "correct" price&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Confidence &amp;amp; evidence&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Findings labeled &lt;em&gt;Identified&lt;/em&gt;, &lt;em&gt;Likely&lt;/em&gt;, &lt;em&gt;Possible&lt;/em&gt;, or &lt;em&gt;Uncertain&lt;/em&gt;, with evidence and open questions shown&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Next-photos guidance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;When a finding stalls, the report names the exact reshoot that would firm it up&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Reproduction flags&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Modern construction, inconsistent wear, wrong materials, or a mark style that postdates the piece — stated plainly under uncertainties&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The three-tier value estimate deserves explanation, because it mirrors how antiques actually trade:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tier&lt;/th&gt;
&lt;th&gt;What it means&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Quick sale&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;What you'd get selling fast — to a dealer, at auction without reserve, or on a short timeline&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Market range&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;A realistic private-sale or well-marketed auction outcome&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Dealer price&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;What a retail dealer would list it at — the price a buyer pays for the dealer's curation and guarantee&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ &lt;strong&gt;Best Practice&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scan one item at a time so marks and materials don't blend together. For sets like flatware or plates, scan the best-marked piece first — the identification usually covers the pattern, and value then scales by count.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Antique Scanner vs. Google Lens vs. Traditional Appraisal
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;a href="https://antiquescanner.org/" rel="noopener noreferrer"&gt;Antique Scanner&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;Google Lens / reverse image search&lt;/th&gt;
&lt;th&gt;Professional appraiser&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;What it does&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Reads marks, materials &amp;amp; construction; explains reasoning; estimates value ranges&lt;/td&gt;
&lt;td&gt;Finds images that look similar&lt;/td&gt;
&lt;td&gt;Hands-on examination, certified documentation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Handles items unlike anything online&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ Yes — evidence-based, not similarity-based&lt;/td&gt;
&lt;td&gt;❌ Weak — needs visual matches&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Value estimate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ Three-tier range&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;✅ Formal, certified&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Confidence transparency&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ Every finding labeled with evidence&lt;/td&gt;
&lt;td&gt;❌ No reasoning shown&lt;/td&gt;
&lt;td&gt;✅ Expert judgment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;First scan free; $3.98 per report after&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Typically $50–$150+ per hour&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Speed&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Under ~2 minutes&lt;/td&gt;
&lt;td&gt;Seconds&lt;/td&gt;
&lt;td&gt;Days to weeks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Best for&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Research before decisions, mystery items, shelf finds&lt;/td&gt;
&lt;td&gt;Orienting on well-documented items&lt;/td&gt;
&lt;td&gt;Insurance, estate, tax, high-value items&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The honest framing: an AI report is a &lt;strong&gt;research estimate, not a certified appraisal&lt;/strong&gt;. For insurance, estate, or tax purposes — or whenever an item may be worth more than $1,000 — use a professional appraiser. The report helps you decide whether that step is worth the fee.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Photograph Your Antique for the Best Results
&lt;/h2&gt;

&lt;p&gt;Photo quality decides identification quality. The tool accepts up to 5 photos per scan (JPG / PNG / WEBP), and these four shots cover nearly every item:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Photo&lt;/th&gt;
&lt;th&gt;Why it matters&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;1. Full side profile&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Establishes form and silhouette — period fashion leaves fingerprints in shape&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;2. Bottom / base&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Where marks live; also reveals construction and wear honest to age&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;3. Maker's mark, hallmark, or signature&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;The strongest single signal — can move a finding from &lt;em&gt;Likely&lt;/em&gt; to &lt;em&gt;Identified&lt;/em&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;4. Close-up of damage or restoration&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Condition gets priced into the estimate; hidden repairs get flagged&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Note&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Photograph worn punches and faint impressed marks in &lt;strong&gt;raking light&lt;/strong&gt; (light from a low, sharp angle) so the marks cast small shadows. That one photo often settles the whole identification — and it's exactly what the pottery and silver identifier pages ask for first.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If evidence runs short, the report's next-photos section tells you the exact angle to reshoot rather than leaving you guessing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who Should Use an Antique Identifier?
&lt;/h2&gt;

&lt;p&gt;Built for anyone who has ever held an old object and wondered:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Collectors&lt;/strong&gt; — research an unfamiliar piece before you buy, sell, or insure it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Thrifters &amp;amp; resellers&lt;/strong&gt; — check what a shelf find might be worth before you pass it up — or before you pay too much for it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Estate &amp;amp; family&lt;/strong&gt; — understand inherited items before dividing, selling, or keeping them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Three typical moments to reach for the &lt;a href="https://antiquescanner.org/antique-identifier" rel="noopener noreferrer"&gt;Antique Identifier&lt;/a&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Mystery inherited items&lt;/strong&gt; — put a name to the pieces in a relative's attic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Before you buy&lt;/strong&gt; — check a dealer's or auction's attribution against what the object itself shows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;After the flea market&lt;/strong&gt; — identify a shelf find the same afternoon you carried it home.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No antiques knowledge is required: the photo tips cover everything, and the report explains its terms as it goes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Pricing: What Does a Scan Cost?
&lt;/h2&gt;

&lt;p&gt;Simple, one-time pricing — no subscription:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;First scan&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free (new accounts get credits for one full research report)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Full Antique Report&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$3.98 — one-time payment, no subscription&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Credit expiry&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Never — credits don't expire&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Failed scans&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Refunded automatically&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For heavier use, see the site's pricing page and the &lt;a href="https://antiquescanner.org/antique-value-checker" rel="noopener noreferrer"&gt;Antique Value Checker&lt;/a&gt; page, which focuses on the valuation workflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy&lt;/strong&gt; is equally straightforward: photos are stored privately and never published. The analysis model receives short-lived, expiring links (typically 15 minutes), and you can delete your account and data at any time. Reports stay in your private history until you remove them.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Accurate Is It? Honest Limits
&lt;/h2&gt;

&lt;p&gt;Every finding carries an honest confidence label together with the evidence behind it and any open questions. Key limits to understand before you rely on a report:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Visual similarity is never reported as a confirmed identification.&lt;/strong&gt; A lookalike is a lead, not an answer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paintings get partial treatment.&lt;/strong&gt; The tool reads signatures, labels, and obvious style attributes, but attributing art to an artist needs an expert's eye and provenance. Treat painting results as orientation — a period, school, and condition read. (A "school of" finding means the piece was made in the manner and era of a maker, without direct evidence of that maker's hand.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No photo identification is guaranteed&lt;/strong&gt; — and any tool that promises one is overselling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reproductions get flagged, not ignored.&lt;/strong&gt; Modern construction, inconsistent wear, wrong materials for the claimed period, or a mark style that postdates the piece are stated plainly under uncertainties.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Note&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For high-value decisions, treat the report as a research lead and confirm with a professional before committing money. Antique Scanner reports are AI research estimates, not certified appraisals.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🤔 Frequently Asked Questions (FAQ) {#faq}
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Q: How is Antique Scanner different from Google Lens?
&lt;/h3&gt;

&lt;p&gt;A: Google Lens finds images that look similar, which helps when you already know roughly what the item is. Antique Scanner goes further: it reads marks, materials, and construction, explains its reasoning, labels its confidence, and estimates value ranges for the item you actually photographed — including pieces that look like nothing in the search results.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How accurate is the identification?
&lt;/h3&gt;

&lt;p&gt;A: Every finding carries a confidence label — &lt;em&gt;Identified&lt;/em&gt;, &lt;em&gt;Likely&lt;/em&gt;, &lt;em&gt;Possible&lt;/em&gt;, or &lt;em&gt;Uncertain&lt;/em&gt; — with the evidence and open questions shown. Photos of marks and the base improve accuracy the most. When a finding stalls, the report names the exact reshoot that firms it up.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can it read pottery marks and silver hallmarks?
&lt;/h3&gt;

&lt;p&gt;A: Yes — marks are the strongest signal the tool reads. Photograph the mark close-up in raking light so worn punches cast small shadows; that one photo often settles the whole identification. The &lt;a href="https://antiquescanner.org/antique-pottery-identifier" rel="noopener noreferrer"&gt;pottery identifier&lt;/a&gt; and &lt;a href="https://antiquescanner.org/antique-silver-identifier" rel="noopener noreferrer"&gt;silver identifier&lt;/a&gt; pages carry the same guidance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Is this a real appraisal?
&lt;/h3&gt;

&lt;p&gt;A: No. Reports are AI research estimates, not certified appraisals. For insurance, estate, or tax purposes — or whenever an item may be worth more than $1,000 — use a professional appraiser. The report helps you decide whether that step is worth the fee.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can the antique identifier tell if my item is a reproduction?
&lt;/h3&gt;

&lt;p&gt;A: It flags the signs — modern construction, inconsistent wear, wrong materials for the claimed period, or a mark style that postdates the piece. Concerns are stated plainly under uncertainties rather than ignored.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How many photos should I upload?
&lt;/h3&gt;

&lt;p&gt;A: Up to five. Start with a full side profile, then add the bottom or base, any maker's mark or hallmark, and close-ups of damage or restoration. The base and mark shots usually matter most; five slots cover nearly every item.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What does a scan cost?
&lt;/h3&gt;

&lt;p&gt;A: Your first scan is free. After that, a Full Antique Report is $3.98 — one-time payment, no subscription. Credits never expire, and failed scans are refunded automatically.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How long does an identification take?
&lt;/h3&gt;

&lt;p&gt;A: Most scans return in under two minutes once they run. Free scans sit in a short queue first; paid scans start instantly on a stronger model.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What happens to my photos?
&lt;/h3&gt;

&lt;p&gt;A: They're stored privately and never published. The analysis model receives short-lived, expiring links — typically 15 minutes — and you can delete your account and data at any time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Does it work for items from any country?
&lt;/h3&gt;

&lt;p&gt;A: Yes. The scanner reads British hallmarks, continental factory marks, American art pottery, Asian ceramics, and more — wherever the photos carry readable form, materials, or marks. Reports are written in English whatever the item's origin.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can one scan cover a set of items?
&lt;/h3&gt;

&lt;p&gt;A: No — scan one item at a time so marks and materials don't blend together. For sets like flatware or plates, scan the best-marked piece first: the identification usually covers the pattern, and value scales by count.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion &amp;amp; Next Steps {#conclusion}
&lt;/h2&gt;

&lt;p&gt;If you're holding an old object and wondering what it is and what it's worth, &lt;strong&gt;&lt;a href="https://antiquescanner.org/" rel="noopener noreferrer"&gt;Antique Scanner&lt;/a&gt;&lt;/strong&gt; is the most honest first step available online: it reads the marks, materials, and wear in your photos; labels every finding with confidence and evidence; and gives you a three-tier value range instead of a single invented number — with your first scan free and full reports at a one-time $3.98.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recommended next steps:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Start with the &lt;a href="https://antiquescanner.org/antique-identifier" rel="noopener noreferrer"&gt;Antique Identifier&lt;/a&gt;&lt;/strong&gt; to name a mystery item, or the homepage scanner for the full identify-and-value workflow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Photograph deliberately&lt;/strong&gt;: full profile, base, marks, damage — in raking light for worn punches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Let the report's confidence labels guide you&lt;/strong&gt;: act on &lt;em&gt;Identified&lt;/em&gt; findings, keep researching &lt;em&gt;Possible&lt;/em&gt; ones with the suggested reshoots.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Escalate when it matters&lt;/strong&gt;: for insurance, estate, tax, or items possibly worth over $1,000, take the report to a professional appraiser — it makes that conversation faster and cheaper.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Related resources:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://antiquescanner.org/" rel="noopener noreferrer"&gt;Antique Scanner — homepage tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://antiquescanner.org/antique-identifier" rel="noopener noreferrer"&gt;Antique Identifier&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-value-checker" rel="noopener noreferrer"&gt;Antique Value Checker&lt;/a&gt; · &lt;a href="https://antiquescanner.org/identify-antiques-by-photo" rel="noopener noreferrer"&gt;Identify Antiques by Photo&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-appraisal-online" rel="noopener noreferrer"&gt;Antique Appraisal Online&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Category pages: &lt;a href="https://antiquescanner.org/antique-pottery-identifier" rel="noopener noreferrer"&gt;pottery&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-porcelain-identifier" rel="noopener noreferrer"&gt;porcelain&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-silver-identifier" rel="noopener noreferrer"&gt;silver&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-furniture-identifier" rel="noopener noreferrer"&gt;furniture&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-glass-identifier" rel="noopener noreferrer"&gt;glass&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-watch-identifier" rel="noopener noreferrer"&gt;watches&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-vase-identifier" rel="noopener noreferrer"&gt;vases&lt;/a&gt; · &lt;a href="https://antiquescanner.org/antique-jewelry-identifier" rel="noopener noreferrer"&gt;jewelry&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;blockquote&gt;
&lt;p&gt;Disclaimer: This article is based on publicly available content from antiquescanner.org, last verified on September 19, 2026. Prices and features are subject to the live site. AI identification results are research estimates and do not constitute a certified appraisal.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Originally published at &lt;a href="https://a2aprotocol.ai/insights/2026-antique-scanner-complete-guide" rel="noopener noreferrer"&gt;a2aprotocol.ai&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>tools</category>
      <category>vintage</category>
      <category>history</category>
    </item>
    <item>
      <title>AI 80s Photo Generator (2026): Turn Any Selfie into a 1985 Photo</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Wed, 09 Sep 2026 14:41:46 +0000</pubDate>
      <link>https://dev.to/czmilo/ai-80s-photo-generator-2026-turn-any-selfie-into-a-1985-photo-1fa7</link>
      <guid>https://dev.to/czmilo/ai-80s-photo-generator-2026-turn-any-selfie-into-a-1985-photo-1fa7</guid>
      <description>&lt;p&gt;The "see yourself in the 80s" trend is one of the biggest AI photo phenomena since the AI yearbook: you upload one selfie, and a few seconds later you're staring at what looks like a real photograph of you from 1985 — big hair, statement shoulders, direct flash, analog grain, and that unmistakable red-orange date stamp in the corner. This guide explains how an &lt;strong&gt;80s Photo Generator&lt;/strong&gt; works, gives you the exact &lt;strong&gt;80s Photo Prompt&lt;/strong&gt; you can paste into ChatGPT today, and shows the one-click way to get the same result without writing a single prompt — plus 10 real before/after examples so you know exactly what to expect.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Key Takeaways (TL;DR)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What it is:&lt;/strong&gt; An AI 80s Photo Generator turns a modern selfie into a convincing 1985 photograph while preserving your face, skin tone, and age — only your hair, outfit, accessories, and surroundings change.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Two ways to do it:&lt;/strong&gt; Paste our copy-ready 80s Photo Prompt into ChatGPT (GPT-Image) with your photo, or use the &lt;a href="https://imagelayered.com/tools/80s-photo-generator" rel="noopener noreferrer"&gt;80s Photo Generator on ImageLayered&lt;/a&gt; where the prompt is already locked in for you.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost &amp;amp; speed:&lt;/strong&gt; About 1 minute per photo. On ImageLayered it costs 3 credits (≈ $0.15), refunded automatically if generation fails.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Best input:&lt;/strong&gt; One clear, well-lit photo of one person, face toward the camera, JPG/PNG/WebP up to 10MB.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is an AI 80s Photo Generator?&lt;/li&gt;
&lt;li&gt;What Is an 80s Photo Prompt?&lt;/li&gt;
&lt;li&gt;The 80s Photo Prompt (Copy and Paste)&lt;/li&gt;
&lt;li&gt;Method 1: How to Use the 80s Photo Prompt in ChatGPT&lt;/li&gt;
&lt;li&gt;Method 2 (Simpler): The One-Click 80s Photo Generator&lt;/li&gt;
&lt;li&gt;80s Photo Generator vs ChatGPT: Which Should You Use?&lt;/li&gt;
&lt;li&gt;10 Real Before/After Examples&lt;/li&gt;
&lt;li&gt;Tips for the Best Result&lt;/li&gt;
&lt;li&gt;How Much Does an 80s Photo Cost?&lt;/li&gt;
&lt;li&gt;Frequently Asked Questions&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is an AI 80s Photo Generator?
&lt;/h2&gt;

&lt;p&gt;An AI 80s Photo Generator is a tool that transforms a photo taken today into a photograph that looks like it was shot around 1985. It belongs to the same family as the viral "glorious 80s trend" and the ChatGPT 80s photo trend that flooded Instagram and X: identity-preserving image models got good enough to keep &lt;em&gt;you&lt;/em&gt; recognizable while completely restyling everything around your face.&lt;/p&gt;

&lt;p&gt;A good 80s Photo Generator changes exactly two categories of things:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What changes&lt;/th&gt;
&lt;th&gt;What stays the same&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Hairstyle (period-accurate silhouettes)&lt;/td&gt;
&lt;td&gt;Facial features&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Clothing, accessories, layers&lt;/td&gt;
&lt;td&gt;Skin tone&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Surroundings and props&lt;/td&gt;
&lt;td&gt;Age&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Film treatment: analog grain, faded color, direct flash, softness&lt;/td&gt;
&lt;td&gt;Overall identity — it's still unmistakably you&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Finishing touch: red-orange 1985 date stamp&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That last row matters more than people expect. The date stamp, the grain, and the slightly blown-out flash look are the details that make the result read as a &lt;em&gt;photograph from the era&lt;/em&gt; rather than a modern photo with a retro filter slapped on. This is also where dedicated 80s photo filters fall short — a filter recolors your photo; a generator rebuilds it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Pro tip&lt;/strong&gt;&lt;br&gt;
The phrase to search for is "80s Photo Generator" or "what would I look like in the 80s." Both lead to the same class of tool — the difference is entirely in how well the underlying prompt preserves identity and era accuracy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What Is an 80s Photo Prompt?
&lt;/h2&gt;

&lt;p&gt;An &lt;strong&gt;80s Photo Prompt&lt;/strong&gt; is the text instruction you give an AI image model to produce the 1985 look. It's the difference between "make this photo 80s style" (results: random neon grid, synthwave sun, your face half-melted) and a genuinely convincing 1985 photo.&lt;/p&gt;

&lt;p&gt;Every effective 80s Photo Prompt does four jobs:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Identity lock&lt;/strong&gt; — tells the model to preserve your facial features, skin tone, age, and recognizable appearance &lt;em&gt;before&lt;/em&gt; it restyles anything. Without this, you get a generic 80s stranger.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Era styling&lt;/strong&gt; — directs the model to hair, clothing, accessories, and surroundings with specific 1985 vocabulary: expressive silhouettes, statement accessories, layered details, distinctive colors and textures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Film realism&lt;/strong&gt; — requests analog grain, faded color, direct flash, and subtle softness, so the output reads as an analog photograph.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Negative constraints&lt;/strong&gt; — forbids modern objects and text, and adds the period-accurate red-orange date stamp that anchors the photo in time.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The 80s Photo Prompt (Copy and Paste)
&lt;/h2&gt;

&lt;p&gt;Here is the exact prompt used by the &lt;a href="https://imagelayered.com/tools/80s-photo-generator" rel="noopener noreferrer"&gt;ImageLayered 80s Photo Generator&lt;/a&gt;. It works in ChatGPT (GPT-Image), and you can paste it anywhere that accepts image prompts:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Using my uploaded photo, show me what I would have looked like around 1985. Preserve my identity, facial features, skin tone, age, and recognizable appearance. Reimagine my hair, clothing, accessories, and surroundings with bold, unmistakably mid-1980s styling—expressive silhouettes, statement accessories, layered details, distinctive colors, and textures. Make it feel like a genuine 1985 photograph with analog grain, faded color, direct flash, and subtle softness. Add a period-accurate 1980s red-orange &lt;span class="nb"&gt;date &lt;/span&gt;stamp &lt;span class="k"&gt;in &lt;/span&gt;the lower corner. No modern objects or text.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Why this 80s Photo Prompt works, line by line:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Prompt segment&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;"show me what I would have looked like around 1985"&lt;/td&gt;
&lt;td&gt;Sets the era target explicitly — the model anchors styling to mid-80s, not a vague "retro" look&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"Preserve my identity, facial features, skin tone, age"&lt;/td&gt;
&lt;td&gt;The identity lock. This is the single most important sentence — it's what keeps the result &lt;em&gt;you&lt;/em&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"bold, unmistakably mid-1980s styling"&lt;/td&gt;
&lt;td&gt;Pushes the model away from safe, generic outfits toward era-defining silhouettes and accessories&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"analog grain, faded color, direct flash, subtle softness"&lt;/td&gt;
&lt;td&gt;The four ingredients of an authentic point-and-shoot film photo&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"period-accurate 1980s red-orange date stamp in the lower corner"&lt;/td&gt;
&lt;td&gt;The timestamp detail that instantly sells the photo as real&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;"No modern objects or text"&lt;/td&gt;
&lt;td&gt;Negative constraint — stops smartphones, modern logos, and added captions from leaking in&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Method 1: How to Use the 80s Photo Prompt in ChatGPT
&lt;/h2&gt;

&lt;p&gt;If you already have a ChatGPT subscription with image generation, you can run the 80s Photo Prompt there right now:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Open ChatGPT&lt;/strong&gt; and start a new conversation (GPT-4o or newer with image generation enabled).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Upload your photo&lt;/strong&gt; — a clear selfie or portrait works best (see tips).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paste the 80s Photo Prompt&lt;/strong&gt; from the section above, exactly as written.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wait for generation&lt;/strong&gt; — usually 30–60 seconds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review the result.&lt;/strong&gt; If your face drifted, regenerate and make sure your photo is well-lit and unobstructed.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Note&lt;/strong&gt;&lt;br&gt;
ChatGPT results vary run to run, and free-tier limits can cap how many times you can regenerate. If your first output doesn't preserve your identity well, refining the prompt helps less than uploading a better source photo.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Method 2 (Simpler): The One-Click 80s Photo Generator
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://imagelayered.com/tools/80s-photo-generator" rel="noopener noreferrer"&gt;80s Photo Generator on ImageLayered&lt;/a&gt; runs the same class of identity-preserving model with the tuned 1985 prompt above &lt;strong&gt;already baked in&lt;/strong&gt;. No prompt writing, no regenerating to chase a good result:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Upload your photo&lt;/strong&gt; — drag and drop a JPG, PNG, or WebP up to 10MB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Click "Generate My 80s Photo."&lt;/strong&gt; The 1985 look is locked in by default.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Download your photo&lt;/strong&gt; — a high-quality JPEG, ready in about a minute. Save it right away: generations aren't stored on your account, and download links expire.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Pro tip&lt;/strong&gt;&lt;br&gt;
Want to use the engine for a different decade or style? The generator has an &lt;strong&gt;Advanced&lt;/strong&gt; option where you can edit the 80s Photo Prompt directly — for example, shift the styling and date stamp to the 90s or Y2K.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  80s Photo Generator vs ChatGPT: Which Should You Use?
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;80s Photo Generator (ImageLayered)&lt;/th&gt;
&lt;th&gt;ChatGPT with the prompt&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Setup&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;None — prompt pre-configured&lt;/td&gt;
&lt;td&gt;Paste the 80s Photo Prompt manually&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Best for&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Everyone, especially first-timers&lt;/td&gt;
&lt;td&gt;Existing ChatGPT subscribers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Identity consistency&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Tuned prompt, tuned pipeline&lt;/td&gt;
&lt;td&gt;Varies between runs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Cost&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;3 credits ≈ $0.15 per photo, refunded on failure&lt;/td&gt;
&lt;td&gt;Included in ChatGPT plan, subject to usage limits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Speed&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~1 minute&lt;/td&gt;
&lt;td&gt;~30–60 seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Editing the style&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Advanced prompt editor built in&lt;/td&gt;
&lt;td&gt;Edit the prompt text yourself&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Photo storage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Not stored; download links expire&lt;/td&gt;
&lt;td&gt;Stays in your chat history&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Our take:&lt;/strong&gt; if you just want your 1985 photo with zero friction, use the &lt;a href="https://imagelayered.com/tools/80s-photo-generator" rel="noopener noreferrer"&gt;80s Photo Generator&lt;/a&gt;. If you're already paying for ChatGPT and enjoy tinkering with prompts, running the 80s Photo Prompt there is a fine free-feeling alternative — just expect a bit more trial and error.&lt;/p&gt;

&lt;h2&gt;
  
  
  10 Real Before/After Examples
&lt;/h2&gt;

&lt;p&gt;We prepared 10 before/after pairs so you can see the identity preservation and era styling for yourself. Each pair shows the original photo (left/before) next to its AI-generated 1985 version (right/after):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Original photo (before)&lt;/th&gt;
&lt;th&gt;1985 photo (after)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fubcvulax4b9vvdju204q.webp" alt="Original photo, 80s photo generator example 01" width="800" height="1200"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fzgxvj5q262iqlj3jj2pa.webp" alt="AI-generated 1985 photo, 80s photo generator example 01" width="800" height="1200"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpprn6lesgvt5et7q1v0v.webp" alt="Original photo, 80s photo generator example 02" width="800" height="1203"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1q9e5zrvw7okysbcwyeo.webp" alt="AI-generated 1985 photo, 80s photo generator example 02" width="800" height="1200"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Frk66a0r60nm110ll7wer.webp" alt="Original photo, 80s photo generator example 03" width="800" height="1200"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7xtoy49w731o9bkl15e5.webp" alt="AI-generated 1985 photo, 80s photo generator example 03" width="800" height="1200"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwcegnwi7iohoegazlu42.webp" alt="Original photo, 80s photo generator example 04" width="800" height="1200"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fggj6c1ugmsqhgf9pjlhd.webp" alt="AI-generated 1985 photo, 80s photo generator example 04" width="800" height="1200"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffn1vgiompdq9avtxv20q.webp" alt="Original photo, 80s photo generator example 05" width="800" height="1200"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsg55sgphs5m3ugw9ukec.webp" alt="AI-generated 1985 photo, 80s photo generator example 05" width="800" height="1200"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq0vlk0ykcs3oymrln96l.webp" alt="Original photo, 80s photo generator example 06" width="800" height="1141"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F4ily67vf2ibu7j7amxdd.webp" alt="AI-generated 1985 photo, 80s photo generator example 06" width="800" height="1200"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F56rbcn5ukwn9xd8ze1ns.webp" alt="Original photo, 80s photo generator example 07" width="800" height="1423"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh695drif33xn96yhrh1k.webp" alt="AI-generated 1985 photo, 80s photo generator example 07" width="800" height="1200"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fug0nuc4ebpfkwfg3esc4.webp" alt="Original photo, 80s photo generator example 08" width="800" height="534"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz4uwmvqx9377vu7aljpf.webp" alt="AI-generated 1985 photo, 80s photo generator example 08" width="800" height="534"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Flvh8fdakn0h21cqv00ju.webp" alt="Original photo, 80s photo generator example 09" width="800" height="533"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F39p8ktshokvf7e69ou1o.webp" alt="AI-generated 1985 photo, 80s photo generator example 09" width="800" height="533"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp3ko5qzykxufuxao6fhb.webp" alt="Original photo, 80s photo generator example 10" width="800" height="1200"&gt;&lt;/td&gt;
&lt;td&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffy86d94tws60m3anmzm7.webp" alt="AI-generated 1985 photo, 80s photo generator example 10" width="800" height="1200"&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Two things to notice across the gallery:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The face never changes.&lt;/strong&gt; Different skin tones, ages, and face shapes — every "after" is recognizably the same person as the "before."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The styling always commits.&lt;/strong&gt; Volume-heavy hair, layered outfits, statement accessories, direct-flash falloff, and the red-orange date stamp. Nothing half-hearted.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ &lt;strong&gt;Best practice&lt;/strong&gt;&lt;br&gt;
Publishing this on your own site? Keep the before/after pairs side by side with descriptive alt text (e.g., "original selfie next to AI-generated 1985 photo, example 3") — before/after galleries are exactly what image search rewards for 80s photo queries.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Tips for the Best Result
&lt;/h2&gt;

&lt;p&gt;Whichever method you choose, the source photo drives the outcome:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;One person per photo.&lt;/strong&gt; Group photos confuse identity locking — crop to a single subject.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Face the camera, eyes visible.&lt;/strong&gt; Sunglasses, hands, or heavy shadows over the face degrade preservation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Good light beats good everything else.&lt;/strong&gt; A well-lit phone selfie outperforms a dark studio portrait.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Higher resolution helps but isn't required.&lt;/strong&gt; Anything clear up to 10MB works.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Don't pre-filter.&lt;/strong&gt; Skip the retro filters before uploading — the 80s Photo Prompt applies the film treatment itself; stacking filters compounds artifacts.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Note&lt;/strong&gt;&lt;br&gt;
Treat the output as a fun portrait, not a historical record. Like all generative AI, styling details (fabric patterns, background objects) are imagined and may not be period-perfect.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  How Much Does an 80s Photo Cost?
&lt;/h2&gt;

&lt;p&gt;On the &lt;a href="https://imagelayered.com/tools/80s-photo-generator" rel="noopener noreferrer"&gt;ImageLayered 80s Photo Generator&lt;/a&gt;, each generation costs &lt;strong&gt;3 credits (≈ $0.15)&lt;/strong&gt;. Credits work across every ImageLayered tool, and if a generation fails or times out, your credits are refunded automatically — you only pay for photos you actually receive.&lt;/p&gt;

&lt;p&gt;Compare that to the alternatives: a vintage-style photoshoot runs into the hundreds, and most "80s photo filter" apps either watermark the result or hide the download behind a subscription.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤔 Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Q: What is an 80s Photo Generator?
&lt;/h3&gt;

&lt;p&gt;A: An 80s Photo Generator is an AI tool that transforms a modern photo of you into a convincing 1985 photograph. It preserves your identity — facial features, skin tone, age — while restyling your hair, clothing, accessories, and surroundings with mid-1980s fashion, then finishes the image with analog grain, faded colors, direct flash, and a red-orange date stamp.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What is an 80s Photo Prompt?
&lt;/h3&gt;

&lt;p&gt;A: An 80s Photo Prompt is the text instruction that tells an AI image model to produce the 1985 look. A complete one includes four parts: an identity lock (preserve face, skin tone, age), era styling directions (hair, clothing, accessories), film realism cues (analog grain, faded color, direct flash), and negative constraints (no modern objects or text). The full prompt used by the ImageLayered generator is in this section.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Is this the same as the ChatGPT 80s photo trend?
&lt;/h3&gt;

&lt;p&gt;A: Same idea, same model class. The viral trend runs OpenAI's GPT-Image model with a reference photo to keep your identity; the ImageLayered 80s Photo Generator uses the same approach with a carefully tuned 1985 prompt — the difference is you don't have to write or paste the 80s Photo Prompt yourself.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Does the 80s Photo Generator keep my face?
&lt;/h3&gt;

&lt;p&gt;A: Yes. Identity preservation is built into the prompt itself: facial features, skin tone, age, and overall recognizable appearance stay yours. Only hair, clothing, accessories, surroundings, and the film treatment change.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can I use the 80s Photo Prompt for free?
&lt;/h3&gt;

&lt;p&gt;A: If you have a ChatGPT plan that includes image generation, you can paste the 80s Photo Prompt there at no extra cost, subject to ChatGPT's usage limits. The ImageLayered generator costs 3 credits (≈ $0.15) per photo, with automatic refunds on failure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What photo should I upload?
&lt;/h3&gt;

&lt;p&gt;A: A clear, well-lit photo of one person facing the camera, with the face unobstructed. Selfies, portraits, and casual snapshots all work. JPG, PNG, and WebP up to 10MB are supported.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Are my photos stored?
&lt;/h3&gt;

&lt;p&gt;A: No. On the ImageLayered generator there's no gallery and no history — your upload is used to generate the photo, and the result is delivered straight to you. Download it promptly, because links expire.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can I generate other decades, like the 90s or Y2K?
&lt;/h3&gt;

&lt;p&gt;A: Yes. The default is locked to 1985, but the Advanced option lets you edit the 80s Photo Prompt — change the era, styling, and date stamp to create a different decade's look with the same engine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion and Recommendations
&lt;/h2&gt;

&lt;p&gt;The 80s photo trend is equal parts nostalgia and novelty — and it's never been easier to join. You have two solid paths:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fastest:&lt;/strong&gt; Open the &lt;a href="https://imagelayered.com/tools/80s-photo-generator" rel="noopener noreferrer"&gt;80s Photo Generator&lt;/a&gt;, upload a selfie, click generate, download your 1985 photo for about $0.15.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hands-on:&lt;/strong&gt; Copy the 80s Photo Prompt above into ChatGPT with your photo and tinker with the styling yourself.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Either way, the formula is the same: protect the identity, commit to the era styling, and finish with the film details — grain, faded color, direct flash, and that red-orange date stamp. Now go find out what you would have looked like in 1985.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Originally published at:&lt;/strong&gt; &lt;a href="https://lovableapp.org/blog/ai-80s-photo-generator-2026" rel="noopener noreferrer"&gt;AI 80s Photo Generator (2026): Turn Any Selfie into a 1985 Photo&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>photography</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Meta Glasses Converter – Official Website, What It Is &amp; How to Use</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Thu, 03 Sep 2026 12:25:50 +0000</pubDate>
      <link>https://dev.to/czmilo/meta-glasses-converter-official-website-what-it-is-how-to-use-45k2</link>
      <guid>https://dev.to/czmilo/meta-glasses-converter-official-website-what-it-is-how-to-use-45k2</guid>
      <description>&lt;p&gt;Instagram has a small party trick that only Ray-Ban Meta Smart Glasses owners are supposed to see: post a Story from the glasses and Instagram attaches a special glasses icon with a 3D "spin view" parallax effect, because the photo's EXIF metadata says &lt;code&gt;Meta AI / Ray-Ban Meta Smart Glasses 2&lt;/code&gt;. The glasses cost around $299. &lt;strong&gt;Meta Glasses Converter&lt;/strong&gt; (&lt;a href="https://habeebbk.github.io/metarayban/" rel="noopener noreferrer"&gt;https://habeebbk.github.io/metarayban/&lt;/a&gt;) is a free, single-page web tool that takes any ordinary JPG and rebuilds it to the exact Ray-Ban Meta format — 3024×4032 pixels, camera EXIF rewritten to "Meta AI", GPS and other identifying tags wiped — entirely inside your browser.&lt;/p&gt;

&lt;p&gt;We opened the site, read its full source code, and traced exactly which metadata fields it writes and deletes, so you know precisely what it does before you hand it a photo.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Meta Glasses Converter is a free, no-login, 100% client-side web app&lt;/strong&gt; hosted on GitHub Pages under the account &lt;strong&gt;habeebbk&lt;/strong&gt;, first published on &lt;strong&gt;September 1, 2026&lt;/strong&gt; and updated for mobile on September 2.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Its job is one conversion&lt;/strong&gt;: any JPG → &lt;strong&gt;3024×4032 px portrait&lt;/strong&gt; with EXIF &lt;code&gt;Make = Meta AI&lt;/code&gt; and &lt;code&gt;Model = Ray-Ban Meta Smart Glasses 2&lt;/code&gt; — the exact signature Instagram looks for when it enables the Ray-Ban Meta 3D Spin View effect on Stories.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It deletes sensitive metadata at the same time&lt;/strong&gt;: GPS coordinates, software watermarks, lens details, and maker notes are stripped before the new camera tags are injected.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One tap does everything&lt;/strong&gt;: the ALL-IN-ONE button converts, copies the photo as Base64 to your clipboard, and opens the native Save/Share sheet (or downloads the file on desktop).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real limits we verified in the code&lt;/strong&gt;: it accepts JPG/JPEG only (no PNG, WebP, or HEIC), it stretches rather than crops to fill the 3:4 frame, and the EXIF survives only if you don't re-share the image through chat apps, which re-compress and strip metadata.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Meta Glasses Converter Official Website
&lt;/h2&gt;

&lt;p&gt;Meta Glasses Converter is a client-side photo converter for Ray-Ban Meta Smart Glasses format.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Official app:&lt;/strong&gt; &lt;a href="https://habeebbk.github.io/metarayban/" rel="noopener noreferrer"&gt;https://habeebbk.github.io/metarayban/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Creator:&lt;/strong&gt; habeebbk (independent developer; GitHub account with contact email &lt;a href="mailto:habeebbk950@gmail.com"&gt;habeebbk950@gmail.com&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Price:&lt;/strong&gt; Free — no payments are requested anywhere on the page&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Login required:&lt;/strong&gt; No — there is no account, sign-up, or Google/Discord login&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform:&lt;/strong&gt; Web (static single HTML page hosted on GitHub Pages, mobile-first design)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Main use:&lt;/strong&gt; Convert ordinary JPG photos into Ray-Ban Meta Smart Glasses format (3024×4032 + Meta AI EXIF) — most often to unlock Instagram's Ray-Ban Meta Story effects&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Last checked:&lt;/strong&gt; September 3, 2026&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://habeebbk.github.io/metarayban/" rel="noopener noreferrer"&gt;Visit Meta Glasses Converter&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We are not the official developer of Meta Glasses Converter. This page helps users find, understand, and use the product.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What Is Meta Glasses Converter?
&lt;/h2&gt;

&lt;p&gt;Meta Glasses Converter is a one-page tool that solves a strangely specific problem: photos taken with Ray-Ban Meta (Gen 2) smart glasses carry a 3024×4032 resolution and a distinctive EXIF signature — the camera make reads &lt;strong&gt;"Meta AI"&lt;/strong&gt; and the model reads &lt;strong&gt;"Ray-Ban Meta Smart Glasses 2"&lt;/strong&gt;. Platforms like Instagram detect that signature and reward it with exclusive Story features, most notably the &lt;strong&gt;3D Spin View&lt;/strong&gt; effect, where viewers can tilt their phone and the photo rotates in parallax. If your photo came from an iPhone or a Samsung, none of that appears — no matter how good the picture is.&lt;/p&gt;

&lt;p&gt;The converter rewrites your photo's identity:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;It rescales your image to 3024×4032&lt;/strong&gt; (the 12 MP portrait format of the Gen 2 glasses), correctly handling EXIF orientation — a sideways phone photo comes out upright.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It rebuilds the camera metadata&lt;/strong&gt;: &lt;code&gt;Make → Meta AI&lt;/code&gt;, &lt;code&gt;Model → Ray-Ban Meta Smart Glasses 2&lt;/code&gt;, pixel dimensions and sRGB color-space tags set to match genuine glasses captures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It cleans you out of the file first&lt;/strong&gt;: GPS coordinates, the software/host-computer watermark, lens make/model strings, and camera maker notes are deleted, so the converted file carries none of your own device's trail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It hands the result straight to your phone&lt;/strong&gt;: converted image preview (tap and hold to save), Base64 copy, and the native share sheet via the Web Share API.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The experience difference versus a general-purpose editor: there is nothing to configure. No settings, no quality sliders, no accounts — you tap a photo, press one button, and get a file that is byte-for-byte shaped like a glasses capture.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Use Meta Glasses Converter
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Open the official website&lt;/strong&gt; — &lt;a href="https://habeebbk.github.io/metarayban/" rel="noopener noreferrer"&gt;https://habeebbk.github.io/metarayban/&lt;/a&gt; — in any mobile or desktop browser. No installation, no extension.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick a photo.&lt;/strong&gt; Tap &lt;strong&gt;📷 Take Photo&lt;/strong&gt; to shoot directly through your camera, or &lt;strong&gt;🖼️ Photo Library&lt;/strong&gt; (the big ⚡ drop zone does the same) to choose an existing picture. Only &lt;strong&gt;JPG/JPEG&lt;/strong&gt; files are accepted — PNG, WebP, and HEIC show an error.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Press ⚡ ALL-IN-ONE: Convert, Copy &amp;amp; Save.&lt;/strong&gt; The app rescales the image to 3024×4032, rewrites the EXIF, and does three things at once: shows the converted preview (tagged "3024×4032 Ready"), copies the raw &lt;strong&gt;Base64&lt;/strong&gt; string to your clipboard, and opens your phone's &lt;strong&gt;share sheet&lt;/strong&gt; — choose &lt;em&gt;Save Image&lt;/em&gt; to drop it into your camera roll. On desktop it falls back to a normal download named &lt;code&gt;meta-glasses-converted.jpg&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Post it while the metadata is intact.&lt;/strong&gt; To get the Ray-Ban Meta effects on Instagram, share the saved file directly into a new Story. Do &lt;strong&gt;not&lt;/strong&gt; route it through WhatsApp, Telegram, or Messenger first — chat apps re-compress images and strip EXIF, which removes the glasses signature.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The two secondary buttons (&lt;strong&gt;📋 Copy Base64&lt;/strong&gt;, &lt;strong&gt;💾 Save / Share&lt;/strong&gt;) re-run the copy and save steps individually if you skipped or cancelled them the first time.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Exactly Does It Change? (Verified in Source Code)
&lt;/h2&gt;

&lt;p&gt;We read the app's JavaScript (it loads the open-source &lt;strong&gt;piexif.js 1.0.6&lt;/strong&gt; library from cdnjs and uses the HTML5 Canvas). Here is the full metadata transformation:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;EXIF field&lt;/th&gt;
&lt;th&gt;Your original photo&lt;/th&gt;
&lt;th&gt;After conversion&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Make&lt;/td&gt;
&lt;td&gt;Apple / Samsung / Google…&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Meta AI&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Model&lt;/td&gt;
&lt;td&gt;iPhone 15, Galaxy S24…&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Ray-Ban Meta Smart Glasses 2&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pixel dimensions&lt;/td&gt;
&lt;td&gt;Variable&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;3024 × 4032&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Orientation&lt;/td&gt;
&lt;td&gt;1–8 (varies)&lt;/td&gt;
&lt;td&gt;1 (pixels physically rotated upright)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ColorSpace&lt;/td&gt;
&lt;td&gt;Varies&lt;/td&gt;
&lt;td&gt;sRGB (tag 1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPS block&lt;/td&gt;
&lt;td&gt;May contain lat/long/altitude&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Deleted entirely&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Software / HostComputer&lt;/td&gt;
&lt;td&gt;e.g. "iOS 18.2"&lt;/td&gt;
&lt;td&gt;Deleted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LensMake / LensModel / LensSpecification&lt;/td&gt;
&lt;td&gt;Your phone's lens data&lt;/td&gt;
&lt;td&gt;Deleted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MakerNote&lt;/td&gt;
&lt;td&gt;Proprietary camera data&lt;/td&gt;
&lt;td&gt;Deleted&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;One thing to know before you convert a favorite photo: the resize step &lt;strong&gt;stretches&lt;/strong&gt; the image to fill 3024×4032 — it does not crop to preserve your original aspect ratio. A landscape photo will look vertically stretched. Portrait or square photos survive the conversion much better, and re-encoding happens at JPEG quality 0.95, so there is a slight (usually invisible) quality loss.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is Meta Glasses Converter Safe?
&lt;/h2&gt;

&lt;p&gt;Based on the page source and live testing on September 3, 2026:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Your photo never leaves your device.&lt;/strong&gt; The entire app is one static HTML file with client-side JavaScript; there is no upload endpoint, no form, and no network call that carries image data. Processing happens in your browser via Canvas + piexif.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No login, no tracking, no ads.&lt;/strong&gt; We found no analytics scripts, no ad networks, and no third-party logins. The only external resources are Google Fonts (Plus Jakarta Sans) and the piexif.js library on cdnjs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It actively removes private data&lt;/strong&gt; — GPS coordinates, device serials (maker notes), and software watermarks are stripped from every converted file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No payments are requested&lt;/strong&gt; anywhere on the page, and the domain is plain GitHub Pages (&lt;code&gt;habeebbk.github.io&lt;/code&gt;), so the code you run is exactly what's published in the public &lt;code&gt;metarayban&lt;/code&gt; GitHub repository.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The honest caveats: the tool's &lt;em&gt;purpose&lt;/em&gt; is to make a non-glasses photo carry glasses metadata. Using it to unlock an Instagram effect is harmless fun — but presenting a converted photo as a genuine glasses capture (to a buyer, a contest, or a client) is misrepresentation, and EXIF metadata is trivially easy for platforms to fake-check or for recipients to inspect. Also note the opposite risk: some people assume "EXIF says Ray-Ban Meta, therefore authentic." As this very tool demonstrates, metadata is editable — treat it as a weak signal, not proof.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Is Meta Glasses Converter Popular?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Instagram Ray-Ban Meta Story effect is the engine.&lt;/strong&gt; Instagram reserves the glasses icon and 3D spin/parallax Story effect for photos with genuine Meta AI EXIF and 3024×4032 portrait framing. That turned "Ray-Ban Meta photo converter" into a search trend of its own — at least one competing converter (OD2's Ray-Ban Meta Spin View Converter) exists purely for this trick and documents the same detection criteria: matching Make/Model strings, exact pixel dimensions, and an sRGB color-space tag.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The glasses are expensive; the format is free.&lt;/strong&gt; A $299 hardware purchase versus a one-page website is an easy decision for someone who just wants the effect.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It is new and moving fast.&lt;/strong&gt; The GitHub repository shows the app was created September 1, 2026 and received mobile-experience fixes the very next day (Web Share API support, camera/gallery triggers, safe-area UI) — a quick iteration loop aimed squarely at phone users.&lt;/li&gt;
&lt;li&gt;Beyond Instagram, the same demand shows up elsewhere: Ray-Ban Meta communities have active threads from people hunting for original photos "with metadata intact." Meta Glasses Converter appears to be spreading through direct sharing and word-of-mouth in exactly those circles; there is no clear public source showing where the trend originated.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Meta Glasses Converter Not Working?
&lt;/h2&gt;

&lt;p&gt;If the page won't load or a conversion misbehaves, try:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Refresh the page (the app is a single file — a hard reload fixes most stale-cache issues).&lt;/li&gt;
&lt;li&gt;Open it in another browser; on iOS, Safari handles the Web Share / save-to-photos flow best.&lt;/li&gt;
&lt;li&gt;Temporarily disable ad blockers or privacy extensions — they can block the cdnjs script the EXIF engine depends on. Without piexif.js, conversion fails.&lt;/li&gt;
&lt;li&gt;Confirm your file is a &lt;strong&gt;JPG/JPEG&lt;/strong&gt;. PNG, WebP, and HEIC files are rejected with an error — export to JPG first (iPhones: Settings → Camera → Formats → Most Compatible, or share out of Photos as JPEG).&lt;/li&gt;
&lt;li&gt;Check your photo's aspect ratio. The output is always 3024×4032 portrait; a landscape photo gets stretched — that's a design limitation, not a bug.&lt;/li&gt;
&lt;li&gt;If the "Save" step does nothing on desktop, use the preview image instead: tap and hold (mobile) or right-click (desktop) to save manually.&lt;/li&gt;
&lt;li&gt;Check whether the GitHub Pages deployment is still online — it's a free static host, and the developer may push updates at any time.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the site is confirmed offline:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The original Meta Glasses Converter website appears to be unavailable as of September 3, 2026. The source remains viewable in the public &lt;code&gt;habeebbk/metarayban&lt;/code&gt; repository on GitHub.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Meta Glasses Converter Alternatives
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;OD2 Ray-Ban Meta Spin View Converter&lt;/strong&gt; (od2.in/meta-glasses-converter) — the closest competitor, built for the same Instagram trick; accepts JPG/PNG/WebP and crops "native fill" instead of stretching, though it lacks the Base64 copy feature.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ExifTool&lt;/strong&gt; (exiftool.org) — the desktop power-tool route: a free command-line utility that can set &lt;code&gt;Make&lt;/code&gt;/&lt;code&gt;Model&lt;/code&gt;, resize, and strip GPS on any OS, with full control but no friendly buttons.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The official Meta AI app&lt;/strong&gt; — if you actually own Ray-Ban Meta or Oakley Meta glasses, this is the legitimate way to import, manage, and share real glasses captures with their original metadata.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is the official Meta Glasses Converter website?
&lt;/h3&gt;

&lt;p&gt;The official website is &lt;a href="https://habeebbk.github.io/metarayban/" rel="noopener noreferrer"&gt;https://habeebbk.github.io/metarayban/&lt;/a&gt; — a single-page app titled "Meta Glasses Converter — Mobile First." Beware of copycats; the tool's code is also published in the public &lt;code&gt;habeebbk/metarayban&lt;/code&gt; GitHub repository.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Meta Glasses Converter free?
&lt;/h3&gt;

&lt;p&gt;Yes. The tool is completely free with no ads, no premium tier, and no payment prompts of any kind.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need an account to use Meta Glasses Converter?
&lt;/h3&gt;

&lt;p&gt;No. There is no sign-up, login, or third-party authorization — you open the page and start converting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who created Meta Glasses Converter?
&lt;/h3&gt;

&lt;p&gt;An independent developer publishing under the GitHub username &lt;strong&gt;habeebbk&lt;/strong&gt; (contact: &lt;a href="mailto:habeebbk950@gmail.com"&gt;habeebbk950@gmail.com&lt;/a&gt;). The repository history shows the app was first committed on September 1, 2026.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Meta Glasses Converter still available?
&lt;/h3&gt;

&lt;p&gt;Yes — the site was online and fully functional when we checked on September 3, 2026. It is hosted free on GitHub Pages, so brief downtime during updates is possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why does my converted photo lose the glasses effect after sending it to a friend?
&lt;/h3&gt;

&lt;p&gt;Chat apps like WhatsApp, Telegram, and Messenger re-compress images and strip EXIF metadata in transit. Save the converted file to your camera roll and upload it to Instagram directly.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Originally published at:&lt;/strong&gt; &lt;a href="https://a2aprotocol.ai/insights/2026-meta-glasses-converter-official-website-guide" rel="noopener noreferrer"&gt;Meta Glasses Converter – Official Website, What It Is &amp;amp; How to Use&lt;/a&gt;&lt;/p&gt;

</description>
      <category>instagram</category>
      <category>exif</category>
      <category>photography</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Magic Layers Review 2026: AI Turns Any Image into Editable Layers</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Thu, 27 Aug 2026 07:30:15 +0000</pubDate>
      <link>https://dev.to/czmilo/magic-layers-review-2026-ai-turns-any-image-into-editable-layers-3llp</link>
      <guid>https://dev.to/czmilo/magic-layers-review-2026-ai-turns-any-image-into-editable-layers-3llp</guid>
      <description>&lt;h1&gt;
  
  
  Magic Layers Review 2026: AI Turns Any Image into Editable Layers
&lt;/h1&gt;

&lt;p&gt;Every designer knows the pain: the final image is perfect, but the project file is gone — the source was never shared, or the laptop that held it is long gone. Magic Layers (&lt;a href="https://magiclayers.net/" rel="noopener noreferrer"&gt;https://magiclayers.net/&lt;/a&gt;) is a new AI web tool built for exactly that moment: it takes one flat PNG or JPEG and splits it back into its individual visual elements as editable layers.&lt;/p&gt;

&lt;p&gt;In this review, we walk through what Magic Layers actually does, how it works, what it costs, the honest limits of its output, and how it compares to the background removers you already know.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎯 Key Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Magic Layers is an "image-to-layers" AI tool&lt;/strong&gt;: upload one flat PNG or JPEG and get back a base image plus named transparent PNG layers for the text, subject, decorations, and background.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The separation is inferred from pixels alone&lt;/strong&gt; — no project file, no source history, no metadata needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You only pay for what you get&lt;/strong&gt;: each generated layer costs 2 credits, and the layer count you choose (2–12) is your price ceiling.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Honest limit&lt;/strong&gt;: output is transparent raster PNGs, not a recovered Photoshop or Figma file — live text, fonts, and vector paths cannot come back.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pricing starts at $29/month&lt;/strong&gt; (400 credits, up to 200 layers); no free tier, but files are private and auto-deleted after 7 days.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Is Magic Layers?
&lt;/h2&gt;

&lt;p&gt;Magic Layers is a web-based AI tool that performs &lt;strong&gt;image layer separation&lt;/strong&gt;: taking a single, already-rendered image and splitting it back into the visual elements it was built from — background, subject, text, and decorations — as separate images with transparency.&lt;/p&gt;

&lt;p&gt;You upload one PNG or JPEG (up to 30 MB, at least 512×512 px), choose a target layer count between 2 and 12, and the AI returns a base image plus one transparent PNG per element it finds. Every layer comes with a name (like "Gold circle" or "Headline"), a short description, and its detected position in the original image.&lt;/p&gt;

&lt;h3&gt;
  
  
  Magic Layers at a Glance
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Detail&lt;/th&gt;
&lt;th&gt;Info&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Official website&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://magiclayers.net/" rel="noopener noreferrer"&gt;https://magiclayers.net/&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Category&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;AI image layer separation / image-to-layers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Developer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Independently built and operated (not affiliated with Adobe, Figma, or Canva)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Price&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$29–$149/month plans, or one-time credit packs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Login required&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes (credits are tied to an account)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Platform&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Web app, runs on Cloudflare Workers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Input format&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;PNG or JPEG, up to 30 MB, min 512×512 px&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Layers per job&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;2–12, chosen by you before the job starts&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Output format&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Transparent PNG layers + base image&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Storage&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Private to your account, kept for 7 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Last checked&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;August 27, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The killer scenario is the one its About page names directly: &lt;em&gt;a visual exists but its project file does not&lt;/em&gt;. Because the separation is inferred from pixels, Magic Layers works on images you received as a screenshot, a PDF slide, a shared export, or a design from someone else — cases where no tool could ever "open the source."&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Use Magic Layers
&lt;/h2&gt;

&lt;p&gt;Getting layered output from a flat image takes three steps, all on the homepage:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Upload your image.&lt;/strong&gt; Drop a PNG or JPEG (up to 30 MB, at least 512×512 px) into the uploader. The site notes that files stay private and are never shown to other users.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Choose how many layers.&lt;/strong&gt; Use the slider to pick a target between 2 and 12 layers. The credit cost is displayed before you commit — for example, a 5-layer target shows "Up to 10 Credits."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Review and download.&lt;/strong&gt; The job runs on a third-party AI model (ByteDance Volcano Engine Ark / Seedream) and returns a base image plus one transparent PNG per element. Click any layer to see exactly where it sat in the original, then download only the layers you need.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Pro tip&lt;/strong&gt;: pick your layer target as a real intent, not a guess — the chosen count is both your guide and your price ceiling. You are never charged for more layers than you asked for, and if the image contains fewer meaningful elements, you get fewer layers and pay less.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What You Get Back
&lt;/h2&gt;

&lt;p&gt;Magic Layers isn't a folder of anonymous crops. Each separated element arrives ready to use in the tools designers already work in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Transparent PNG layers&lt;/strong&gt; — every element has a clean alpha channel, so it drops straight into Photoshop, Figma, Canva, a slide deck, or a game engine.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Named and described&lt;/strong&gt; — the AI labels each layer ("Gold circle," "Headline," "Product bottle"), so you know what a file is before you open it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Position per layer&lt;/strong&gt; — each layer keeps its detected position and stacking order; click a layer to highlight it in the original image.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Magic Layers vs. Background Remover
&lt;/h2&gt;

&lt;p&gt;The simplest way to understand the product is to compare it with the tools most people already have in mind. A background remover (like remove.bg) gives you &lt;em&gt;one subject on transparent background&lt;/em&gt; and discards everything else — text and decorations stay flattened, and you rebuild the rest by hand. Magic Layers separates &lt;strong&gt;every major element&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Background remover&lt;/th&gt;
&lt;th&gt;Magic Layers&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Output&lt;/td&gt;
&lt;td&gt;One subject cutout&lt;/td&gt;
&lt;td&gt;Every major element separated&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Naming&lt;/td&gt;
&lt;td&gt;Anonymous&lt;/td&gt;
&lt;td&gt;Each layer named and described&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;Stays flattened&lt;/td&gt;
&lt;td&gt;Split from subject and background&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Decorations&lt;/td&gt;
&lt;td&gt;Discarded&lt;/td&gt;
&lt;td&gt;Returned as their own layers&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost model&lt;/td&gt;
&lt;td&gt;Flat per image&lt;/td&gt;
&lt;td&gt;Per layer, you choose 2–12&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Magic Layers Pricing
&lt;/h2&gt;

&lt;p&gt;Every generated layer costs &lt;strong&gt;2 credits&lt;/strong&gt;, including the base image. Before a job starts, Magic Layers holds the maximum charge for your chosen target, then settles to the actual number of layers produced. Failed jobs release the hold back to your balance.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Credits/month&lt;/th&gt;
&lt;th&gt;Layers&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Basic&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$29/month&lt;/td&gt;
&lt;td&gt;400 credits&lt;/td&gt;
&lt;td&gt;up to 200&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Pro&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$79/month&lt;/td&gt;
&lt;td&gt;1,200 credits&lt;/td&gt;
&lt;td&gt;up to 600&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Studio&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$149/month&lt;/td&gt;
&lt;td&gt;2,400 credits&lt;/td&gt;
&lt;td&gt;up to 1,200&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;All plans include "only pay for layers you get," 7-day file retention, and cancel-anytime billing through Stripe. One-time credit packs are also available on the pricing page, which makes the tool usable for occasional one-off jobs without a subscription.&lt;/p&gt;

&lt;h2&gt;
  
  
  What People Use Image Layer Separation For
&lt;/h2&gt;

&lt;p&gt;Magic Layers names six real-world use cases, and they are all variations of the same need: &lt;em&gt;a finished visual needs to become editable again&lt;/em&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Marketing creative variations&lt;/strong&gt; — split a finished campaign visual into background, headline, product, and badges, then test new copy and layouts without hunting for the lost source file.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Social posts and thumbnails&lt;/strong&gt; — recompose one thumbnail into vertical stories, square posts, and wide video covers instead of masking the subject out by hand.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Presentation assets&lt;/strong&gt; — pull charts, icons, labels, and shapes out of a flat slide screenshot and rebuild a clean, editable composition.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Game and UI prototyping&lt;/strong&gt; — turn flattened concept art and interface mockups into separate characters, panels, and props for parallax scenes and clickable prototypes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;E-commerce imagery&lt;/strong&gt; — separate product, price label, and background so you can restage a shot for a new placement or marketplace.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Studying a design&lt;/strong&gt; — step through how a visual is built; useful for learning composition and planning your own original version.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Is Magic Layers Safe?
&lt;/h2&gt;

&lt;p&gt;Based on what the site itself publishes, here is what we can verify:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;You must sign in&lt;/strong&gt; to use the tool; credits and generated files are tied to your account.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Images are private&lt;/strong&gt; — uploads and generated layers are never published or shown to other users.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;7-day retention&lt;/strong&gt; — input and output objects are configured for 7-day retention (under the site's R2 storage lifecycle rules), after which preview and download links stop working and files are removed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No third-party login or ad networks&lt;/strong&gt; were observed on the public pages; billing goes through Stripe subscriptions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infrastructure&lt;/strong&gt; — the site runs on Cloudflare Workers, with D1 for account/billing records and R2 for temporary image storage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The company is honest about its limits&lt;/strong&gt; — an About page documents exactly what the tool can and cannot do, and contact is a monitored address (&lt;a href="mailto:contact@magiclayers.net"&gt;contact@magiclayers.net&lt;/a&gt;), not a no-reply.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One thing to keep in mind: separation is a &lt;em&gt;technical operation, not a licence&lt;/em&gt; — running an image through the tool doesn't grant any rights in the source artwork.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Magic Layers Cannot Do
&lt;/h2&gt;

&lt;p&gt;The About page is refreshingly direct about the limits, and you should read them before buying:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The layers are transparent raster PNGs, not a recovered document.&lt;/strong&gt; Live text, fonts, vector paths, and effects that only existed in the authoring file cannot be brought back from a flat image.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The target layer count is guidance, not a guarantee.&lt;/strong&gt; A simple image may contain fewer meaningful elements than you asked for — you get fewer layers and pay less.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Boundaries, names, and quality vary by image.&lt;/strong&gt; Busy or low-contrast compositions separate less cleanly than graphic, high-contrast ones.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Bottom line&lt;/strong&gt;: Magic Layers recovers &lt;em&gt;pixels&lt;/em&gt;, not design source files. If you need to re-edit the text copy, you'll still want an editor — but now you can select and restyle the text element instead of masking around it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Magic Layers Not Working?
&lt;/h2&gt;

&lt;p&gt;If the site won't load or a job fails, the standard web-app checklist applies:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Refresh the page (headless/background tabs can interact badly with the credits display).&lt;/li&gt;
&lt;li&gt;Open it in another browser or an incognito window.&lt;/li&gt;
&lt;li&gt;Disable ad blockers temporarily.&lt;/li&gt;
&lt;li&gt;Confirm your image meets the limits: up to 30 MB, at least 512×512 px, PNG or JPEG.&lt;/li&gt;
&lt;li&gt;Check whether your credit balance covers the selected target — the job shows the max charge before it starts.&lt;/li&gt;
&lt;li&gt;Try again later if the service is being updated; for billing or persistent bugs, contact &lt;a href="mailto:contact@magiclayers.net"&gt;contact@magiclayers.net&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Magic Layers Alternatives
&lt;/h2&gt;

&lt;p&gt;If layer separation isn't quite what you need, these are the genuinely close options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;remove.bg&lt;/strong&gt; — the classic background remover: one subject, one cutout. Simpler and faster for that single use case.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Photopea&lt;/strong&gt; — free browser-based Photoshop alternative for &lt;em&gt;manual&lt;/em&gt; layer work; no AI separation, but full control.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Figma / Canva&lt;/strong&gt; — the right tools if you still have (or can rebuild) the original design; Magic Layers' output is designed to slot directly into their layer panels.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Frequently Asked Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is the official Magic Layers website?
&lt;/h3&gt;

&lt;p&gt;The official website is &lt;strong&gt;&lt;a href="https://magiclayers.net/" rel="noopener noreferrer"&gt;https://magiclayers.net/&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Magic Layers free?
&lt;/h3&gt;

&lt;p&gt;No free tier, but there's an upfront-displayed cost model: each generated layer costs 2 credits, and you're only charged for the layers you actually get. Monthly plans start at $29/month (400 credits) and one-time credit packs are available.&lt;/p&gt;

&lt;h3&gt;
  
  
  Do I need an account to use Magic Layers?
&lt;/h3&gt;

&lt;p&gt;Yes. Credits are attached to your account and require signing in to run jobs.&lt;/p&gt;

&lt;h3&gt;
  
  
  How many layers will I get?
&lt;/h3&gt;

&lt;p&gt;You choose the target between 2 and 12 before the job starts. If an image has fewer meaningful elements, you get fewer layers — and pay less.&lt;/p&gt;

&lt;h3&gt;
  
  
  What image formats does Magic Layers support?
&lt;/h3&gt;

&lt;p&gt;PNG and JPEG up to 30 MB and at least 512×512 px. Because JPEG doesn't support an alpha channel, every upload returns PNG layers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I use the layers in commercial work?
&lt;/h3&gt;

&lt;p&gt;The site positions the layers for commercial pipelines (marketing creatives, e-commerce, game prototypes), but separation doesn't grant any rights to the source artwork — commercial use still depends on your rights in the original image.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is Magic Layers still available?
&lt;/h3&gt;

&lt;p&gt;Yes — the site is live and was last verified on August 27, 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Magic Layers solves a genuinely common problem that existing tools only half-solve: making a finished flat image editable again. It won't bring back your original design file, and it says so plainly — but it will give you named, positioned, transparent layers out of any PNG or JPEG, so you can move, replace, or restyle any part of the image without redoing the work by hand. If you regularly work with marketing visuals, thumbnails, slide exports, or flattened mockups whose source files are long gone, it's a tool worth trying.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://magiclayers.net/" rel="noopener noreferrer"&gt;Visit Magic Layers&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Originally published at:&lt;/strong&gt; &lt;a href="https://a2aprotocol.ai/insights/2026-magic-layers-image-to-layers-guide" rel="noopener noreferrer"&gt;Magic Layers Review 2026: AI Turns Any Image into Editable Layers&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>tools</category>
      <category>design</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Qwen3.8-Flash-Next (2026): The Complete Guide to Qwen’s Qwen4-Preview Architecture Model</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Wed, 26 Aug 2026 14:08:04 +0000</pubDate>
      <link>https://dev.to/czmilo/qwen38-flash-next-2026-the-complete-guide-to-qwens-qwen4-preview-architecture-model-3b6j</link>
      <guid>https://dev.to/czmilo/qwen38-flash-next-2026-the-complete-guide-to-qwens-qwen4-preview-architecture-model-3b6j</guid>
      <description>&lt;h1&gt;
  
  
  Qwen3.8-Flash-Next (2026): The Complete Guide to Qwen's Qwen4-Preview Architecture Model
&lt;/h1&gt;

&lt;h2&gt;
  
  
  🎯 Core Takeaways (TL;DR)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is Alibaba Qwen's open-weight preview of the architecture that will underpin &lt;strong&gt;Qwen4&lt;/strong&gt; — a 125B-parameter MoE model that activates just &lt;strong&gt;6B parameters per token&lt;/strong&gt; (plus a 51B n-gram embedding), delivering frontier-adjacent intelligence at a fraction of the compute cost.&lt;/li&gt;
&lt;li&gt;The headline is &lt;strong&gt;efficiency&lt;/strong&gt;: &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; scored DeepSWE 1.1 at &lt;strong&gt;58.7&lt;/strong&gt;, SWE-bench Pro at &lt;strong&gt;62.5&lt;/strong&gt;, and &lt;strong&gt;91.9&lt;/strong&gt; on LiveCodeBench v6 — beating Claude Opus 4.6 Max on most benchmarks despite being a "mid-tier Flash" release. Training cost came in at roughly &lt;strong&gt;one-ninth of Qwen3.7-Plus&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; introduces three genuinely new architectural building blocks — &lt;strong&gt;Qwen Sparse Attention (QSA)&lt;/strong&gt;, &lt;strong&gt;Gated Residual&lt;/strong&gt;, and &lt;strong&gt;N-gram Embedding&lt;/strong&gt; — rethinking how the core components of a modern LLM interact at scale.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; ships with a native &lt;strong&gt;262,144-token (256K) context window&lt;/strong&gt;, extensible to &lt;strong&gt;1M tokens&lt;/strong&gt; via YaRN, with Qwen reporting prefill up to &lt;strong&gt;7.6× faster&lt;/strong&gt; and decode up to &lt;strong&gt;4.9× faster&lt;/strong&gt; at the 1M-token mark. The official hosted version, &lt;strong&gt;Qwen3.8-Flash&lt;/strong&gt;, adds 1M context by default and built-in tools.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is Qwen3.8-Flash-Next?&lt;/li&gt;
&lt;li&gt;Qwen3.8-Flash-Next Architecture &amp;amp; Specs&lt;/li&gt;
&lt;li&gt;Qwen3.8-Flash-Next Benchmarks: The Efficiency Leap&lt;/li&gt;
&lt;li&gt;Why "Flash" Matters: Qwen3.8-Flash-Next Efficiency&lt;/li&gt;
&lt;li&gt;Running Qwen3.8-Flash-Next (Deployment &amp;amp; API)&lt;/li&gt;
&lt;li&gt;Qwen3.8-Flash-Next vs the Competition&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;li&gt;Summary &amp;amp; Recommended Actions&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is Qwen3.8-Flash-Next?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is the newest open-weight release from Alibaba's Qwen team, and it marks a pivotal shift in the company's roadmap. Unlike Qwen3.8-Max (the 2.4T-parameter flagship) or Qwen3.8-27B (the 27B dense model), &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is the first open-weight model built on a fundamentally reworked architecture — what the model card calls "an experimental preview of the architecture that will underpin Qwen4."&lt;/p&gt;

&lt;p&gt;The name tells the story. "Flash" is Qwen's mid-tier, efficiency-first brand: a model that trades some raw ceiling for dramatically lower cost and faster inference. "Next" signals that this is the architectural blueprint for the coming generation. In &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt;, the old pairing of Gated DeltaNet with Gated Attention has been reworked into &lt;strong&gt;Gated DeltaNet plus Qwen Sparse Attention (QSA)&lt;/strong&gt;, alongside two other brand-new components: &lt;strong&gt;Gated Residual&lt;/strong&gt; and &lt;strong&gt;N-gram Embedding&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The result is a model that Qwen positions as delivering "most of the reasoning and coding capability of its larger Qwen3.8 line while running at a fraction of the compute cost." As the official announcement frames it: the question is no longer &lt;em&gt;how much&lt;/em&gt; we can scale, but &lt;em&gt;how efficiently&lt;/em&gt; we can do so.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Professional Tip:&lt;/strong&gt; &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is available on Hugging Face at &lt;code&gt;Qwen/Qwen3.8-Flash-Next&lt;/code&gt; under the &lt;strong&gt;qwen-community-1.0&lt;/strong&gt; license (open weights, not fully permissive Apache 2.0). For managed inference, the official &lt;strong&gt;Qwen3.8-Flash&lt;/strong&gt; on Qwen Cloud is the production-hardened version with 1M context by default and official built-in tools.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Architecture and Specs
&lt;/h2&gt;

&lt;p&gt;Here's what's under the hood of &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Spec&lt;/th&gt;
&lt;th&gt;Qwen3.8-Flash-Next&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Model type&lt;/td&gt;
&lt;td&gt;Causal LM with vision encoder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Total parameters&lt;/td&gt;
&lt;td&gt;125B MoE + 51B n-gram embedding + 4B MTP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Activated parameters per token&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;6B&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mixture of Experts&lt;/td&gt;
&lt;td&gt;512 experts (10 routed + 1 shared activated), expert intermediate dim 640&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hidden dimension&lt;/td&gt;
&lt;td&gt;2,560&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Number of layers&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hidden layout&lt;/td&gt;
&lt;td&gt;12 × (3 × (Gated DeltaNet → MoE) → 1 × (Qwen Sparse Attention → MoE))&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vision&lt;/td&gt;
&lt;td&gt;Yes (image + text input, native multimodal)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Native context&lt;/td&gt;
&lt;td&gt;262,144 tokens (256K)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Extensible context&lt;/td&gt;
&lt;td&gt;Up to 1,000,000 tokens (YaRN)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;License&lt;/td&gt;
&lt;td&gt;qwen-community-1.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The defining feature of &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is that it's not just a bigger or smaller model — it's an architectural redesign. Three new mechanisms stand out:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Hybrid Attention with Qwen Sparse Attention (QSA)
&lt;/h3&gt;

&lt;p&gt;The biggest change is in how &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; handles attention. Instead of selecting individual tokens, &lt;strong&gt;QSA&lt;/strong&gt; operates at the &lt;strong&gt;micro-block level&lt;/strong&gt; — it picks entire blocks of tokens to attend to, using a lightweight indexer (MQA with 4 query heads and 1 shared key head, 128-dim). This dramatically cuts long-context latency, which matters as agentic workloads — tasks with huge tool-call histories and long codebases — dominate real usage. Budget: 512 blocks, or 2,048 tokens.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Gated Residual
&lt;/h3&gt;

&lt;p&gt;Deep LLM training is only manageable because of residual streams with normalization. &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; refines this with a &lt;strong&gt;Gated Residual&lt;/strong&gt; that modulates information flowing through widened residual streams via an element-wise, data-dependent read gate and a per-branch scalar write gate (4 branches, bottleneck rank 320). The result is finer-grained expressiveness across layers while preserving training stability and keeping inference overhead low.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. N-gram Embedding
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; scales parameters along a new axis: embeddings rather than expert weights. By indexing with short n-grams (20M bigrams/trigrams at layer 2, with 51B of embedding parameters), the model achieves parameter scaling that requires less computation and is far more amenable to memory offloading than a pure MoE — highly efficient for memory-constrained accelerators. This is why &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; can hold 125B+ parameters while activating only 6B.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. A Tailored Training Recipe
&lt;/h3&gt;

&lt;p&gt;Training memory and cost were optimized with a tailored recipe that applies &lt;strong&gt;Muon&lt;/strong&gt; and &lt;strong&gt;AdamW&lt;/strong&gt; optimizers to specific weight categories. Guided by refitted scaling laws, Qwen eliminated traditional batch-size warmups and started directly at the target batch size — substantially reducing optimizer steps while safely supporting larger learning rates. This is a large part of how training cost dropped to roughly one-ninth of Qwen3.7-Plus.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ &lt;strong&gt;Best Practice:&lt;/strong&gt; For agentic work with &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt;, use thinking mode (on by default) with &lt;code&gt;reasoning_effort="xhigh"&lt;/code&gt; for complex planning. But remember: higher &lt;code&gt;reasoning_effort&lt;/code&gt; isn't always slower overall — lower effort can cause insufficient analysis, more failures, and retries that inflate total latency and token spend.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Benchmarks
&lt;/h2&gt;

&lt;p&gt;The reason momentum around &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; built so quickly is the shape of its benchmark curve: a "Flash" (mid-tier) model beating a frontier flagship on most tests. Here are the official language benchmarks, with comparison to prior Qwen models, DeepSeek-V4-Flash-0731, and Claude Opus 4.6 Max:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;Qwen3.8-Flash-Next&lt;/th&gt;
&lt;th&gt;Qwen3.8-27B&lt;/th&gt;
&lt;th&gt;Qwen3.7-Plus&lt;/th&gt;
&lt;th&gt;DeepSeek V4 Flash 0731&lt;/th&gt;
&lt;th&gt;Opus 4.6 Max&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Activated params&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;6B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;27B&lt;/td&gt;
&lt;td&gt;17B&lt;/td&gt;
&lt;td&gt;13B&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSWE 1.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;58.7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;42.2&lt;/td&gt;
&lt;td&gt;16.5&lt;/td&gt;
&lt;td&gt;54.4&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SWE-bench Pro&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;62.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;61.7&lt;/td&gt;
&lt;td&gt;55.8&lt;/td&gt;
&lt;td&gt;56.0&lt;/td&gt;
&lt;td&gt;53.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SWE-bench Multilingual&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;81.0&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;73.8&lt;/td&gt;
&lt;td&gt;75.8&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;td&gt;77.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NL2Repo-Bench&lt;/td&gt;
&lt;td&gt;48.1&lt;/td&gt;
&lt;td&gt;42.3&lt;/td&gt;
&lt;td&gt;41.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;54.2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;47.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CoWorkBench&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;73.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;70.7&lt;/td&gt;
&lt;td&gt;65.1&lt;/td&gt;
&lt;td&gt;45.1&lt;/td&gt;
&lt;td&gt;68.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JobBench&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;55.7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;33.4&lt;/td&gt;
&lt;td&gt;27.6&lt;/td&gt;
&lt;td&gt;41.3&lt;/td&gt;
&lt;td&gt;36.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agents' Last Exam (score)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;51.2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;42.9&lt;/td&gt;
&lt;td&gt;33.6&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Toolathlon Verified&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;73.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;67.1&lt;/td&gt;
&lt;td&gt;50.6&lt;/td&gt;
&lt;td&gt;70.3&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IFBench&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;81.3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;79.5&lt;/td&gt;
&lt;td&gt;79.1&lt;/td&gt;
&lt;td&gt;79.2&lt;/td&gt;
&lt;td&gt;62.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPQA Diamond&lt;/td&gt;
&lt;td&gt;91.7&lt;/td&gt;
&lt;td&gt;89.2&lt;/td&gt;
&lt;td&gt;90.3&lt;/td&gt;
&lt;td&gt;90.8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;91.3&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HLE&lt;/td&gt;
&lt;td&gt;35.9&lt;/td&gt;
&lt;td&gt;30.8&lt;/td&gt;
&lt;td&gt;34.7&lt;/td&gt;
&lt;td&gt;33.8&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;40.0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LiveCodeBench v6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;91.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;90.3&lt;/td&gt;
&lt;td&gt;89.6&lt;/td&gt;
&lt;td&gt;90.6&lt;/td&gt;
&lt;td&gt;88.8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The message is unmistakable. &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; leads on DeepSWE 1.1 (58.7), SWE-bench Pro (62.5), SWE-bench Multilingual (81.0), CoWorkBench (73.9), JobBench (55.7), Toolathlon Verified (73.5), and LiveCodeBench v6 (91.9) — all with only &lt;strong&gt;6B activated parameters&lt;/strong&gt;. Claude Opus 4.6 Max maintains its edge on GPQA Diamond (91.3) and Humanity's Last Exam (40.0), and DeepSeek-V4-Flash wins NL2Repo-Bench (54.2).&lt;/p&gt;

&lt;h3&gt;
  
  
  Vision-Language Benchmarks
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is also a native vision-language model. On multimodal agentic and general intelligence tests:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;Qwen3.8-Flash-Next&lt;/th&gt;
&lt;th&gt;Qwen3.8-27B&lt;/th&gt;
&lt;th&gt;Qwen3.7-Plus&lt;/th&gt;
&lt;th&gt;Opus 4.6 Max&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ClawEval-MM (Pass@3 / avg)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;64.4 / 60.4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;57.4 / 56.9&lt;/td&gt;
&lt;td&gt;57.4 / 60.1&lt;/td&gt;
&lt;td&gt;52.5 / 54.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RecreationBench&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;49.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;47.1&lt;/td&gt;
&lt;td&gt;30.2&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AndroidWorld&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;84.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;81.9&lt;/td&gt;
&lt;td&gt;81.0&lt;/td&gt;
&lt;td&gt;62.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OSWorld 2.0 (binary / partial)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;19.4 / 52.3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;19.4 / 48.0&lt;/td&gt;
&lt;td&gt;2.8 / 21.5&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vision2Web&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;64.0&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;62.9&lt;/td&gt;
&lt;td&gt;42.1&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ERQA&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;72.3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;65.5&lt;/td&gt;
&lt;td&gt;69.8&lt;/td&gt;
&lt;td&gt;40.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LVBench (long video)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;76.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;72.4&lt;/td&gt;
&lt;td&gt;76.2&lt;/td&gt;
&lt;td&gt;63.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RealWorldQA&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;88.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;85.9&lt;/td&gt;
&lt;td&gt;86.9&lt;/td&gt;
&lt;td&gt;73.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MathVision (with CI)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;95.7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;94.6&lt;/td&gt;
&lt;td&gt;88.7&lt;/td&gt;
&lt;td&gt;65.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CharXiv RQ (with CI)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;90.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;90.2&lt;/td&gt;
&lt;td&gt;85.9&lt;/td&gt;
&lt;td&gt;66.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; beats Claude Opus 4.6 Max across computer use, mobile use, long-video understanding, embodied perception, and visual math — all from a model that activates just 6B parameters.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Attention:&lt;/strong&gt; These are Qwen's own reported numbers, not yet independently verified. Treat the deepest benchmark claims as directional until third-party leaderboards (like a DeepSWE or SWE-bench Pro leaderboard) confirm them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why "Flash" Matters
&lt;/h2&gt;

&lt;p&gt;Positioning matters as much as raw scores. &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is deliberately priced and sized as a &lt;strong&gt;mid-tier, efficiency-first&lt;/strong&gt; model — not a flagship. That framing makes its benchmark results genuinely surprising: a cheap, low-activation model taking the lead on the agentic-coding and long-horizon benchmarks that enterprises care most about.&lt;/p&gt;

&lt;p&gt;The economics are the story. Qwen claims training &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; cost roughly &lt;strong&gt;one-ninth&lt;/strong&gt; of &lt;strong&gt;Qwen3.7-Plus&lt;/strong&gt;, while beating it on nearly every benchmark. This is the same efficiency direction Qwen took with Qwen3.8-27B a few weeks earlier — position a smaller/cheaper model against far larger rivals and still come out competitive. Flash-Next takes the argument further by redesigning the architecture itself, so the savings come from &lt;em&gt;how&lt;/em&gt; the model computes, not just how many parameters it has.&lt;/p&gt;

&lt;p&gt;For anyone paying for API tokens or running their own GPUs, &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt;'s activation ratio (6B active out of 125B) is the practical headline: most of the intelligence, a fraction of the compute.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Professional Tip:&lt;/strong&gt; If your workload is dominated by long-context agent tasks — large tool-call histories, chat logs, multi-file codebases — &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt;'s QSA and 256K→1M context extension are purpose-built for you. Qwen reports prefill up to &lt;strong&gt;7.6× faster&lt;/strong&gt; and decode up to &lt;strong&gt;4.9× faster&lt;/strong&gt; at the 1M-token mark than the prior architecture.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Running Qwen3.8-Flash-Next
&lt;/h2&gt;

&lt;p&gt;Getting &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; running is straightforward. Qwen recommends API-based integration for most users, and for self-hosting it ships as Transformers-compatible weights usable with SGLang, vLLM, and TokenSpeed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Supported Inference Frameworks
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Framework&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SGLang&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;a href="https://docs.sglang.io/cookbook/autoregressive/Qwen/Qwen3.8-Flash-Next" rel="noopener noreferrer"&gt;Qwen3.8-Flash-Next Cookbook&lt;/a&gt; — recommended for production/high throughput&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;vLLM&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://recipes.vllm.ai/Qwen/Qwen3.8-Flash-Next" rel="noopener noreferrer"&gt;Qwen3.8-Flash-Next Recipe&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;TokenSpeed&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;a href="https://lightseek.org/tokenspeed/recipes/models#qwen3-8-flash-next" rel="noopener noreferrer"&gt;Qwen3.8-Flash-Next Recipe&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;KTransformers&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Recommended for high-throughput serving&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Qwen Cloud&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Official hosted &lt;strong&gt;Qwen3.8-Flash&lt;/strong&gt; — 1M context by default + built-in tools&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;[!Important]&lt;br&gt;
Inference efficiency and throughput vary significantly across frameworks. Qwen strongly recommends using the latest framework versions, and for production or high-throughput workloads, dedicated serving engines such as &lt;strong&gt;SGLang&lt;/strong&gt;, &lt;strong&gt;KTransformers&lt;/strong&gt;, or &lt;strong&gt;vLLM&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  API Usage
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; operates in &lt;strong&gt;thinking mode by default&lt;/strong&gt;, generating reasoning content (signified by &lt;code&gt;\n...\n\n&lt;/code&gt;) before the final answer. You can control thinking behavior with &lt;code&gt;enable_thinking&lt;/code&gt;, &lt;code&gt;preserve_thinking&lt;/code&gt;, and &lt;code&gt;reasoning_effort&lt;/code&gt; (levels: &lt;code&gt;xhigh&lt;/code&gt;, &lt;code&gt;medium&lt;/code&gt;, &lt;code&gt;low&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Recommended sampling parameters:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Thinking Mode:&lt;/strong&gt; &lt;code&gt;temperature=1.0&lt;/code&gt;, &lt;code&gt;top_p=0.95&lt;/code&gt;, &lt;code&gt;top_k=20&lt;/code&gt;, &lt;code&gt;min_p=0.0&lt;/code&gt;, &lt;code&gt;presence_penalty=0.0&lt;/code&gt;, &lt;code&gt;repetition_penalty=1.0&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instruct (non-thinking) mode:&lt;/strong&gt; &lt;code&gt;temperature=0.7&lt;/code&gt;, &lt;code&gt;top_p=0.80&lt;/code&gt;, &lt;code&gt;top_k=20&lt;/code&gt;, &lt;code&gt;min_p=0.0&lt;/code&gt;, &lt;code&gt;presence_penalty=1.5&lt;/code&gt;, &lt;code&gt;repetition_penalty=1.0&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Text-only example&lt;/strong&gt; (OpenAI-compatible API):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;openai&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;OpenAI&lt;/span&gt;

&lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;OpenAI&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;  &lt;span class="c1"&gt;# set OPENAI_BASE_URL and OPENAI_API_KEY
&lt;/span&gt;
&lt;span class="n"&gt;completion&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;chat&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;completions&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Qwen/Qwen3.8-Flash-Next&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;messages&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;role&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;user&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;content&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Write a Python function to merge two sorted linked lists.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}],&lt;/span&gt;
    &lt;span class="n"&gt;extra_body&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;chat_template_kwargs&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;enable_thinking&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;   &lt;span class="c1"&gt;# on by default
&lt;/span&gt;            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;preserve_thinking&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;# on by default
&lt;/span&gt;        &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="n"&gt;reasoning_effort&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;xhigh&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;          &lt;span class="c1"&gt;# xhigh by default; levels xhigh, medium, low
&lt;/span&gt;    &lt;span class="n"&gt;stream&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;stream_options&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;include_usage&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; also accepts &lt;strong&gt;image input&lt;/strong&gt; through the standard OpenAI &lt;code&gt;image_url&lt;/code&gt; content type, making it a drop-in native vision-language model for the Chat Completions API.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparison
&lt;/h2&gt;

&lt;p&gt;How does &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; stack up against the models it's being compared to?&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Total params&lt;/th&gt;
&lt;th&gt;Activated&lt;/th&gt;
&lt;th&gt;DeepSWE&lt;/th&gt;
&lt;th&gt;SWE-bench Pro&lt;/th&gt;
&lt;th&gt;Local-friendly&lt;/th&gt;
&lt;th&gt;Vision&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;125B&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;6B&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;58.7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;62.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;✅ (efficient)&lt;/td&gt;
&lt;td&gt;✅ native&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.8-27B&lt;/td&gt;
&lt;td&gt;27B dense&lt;/td&gt;
&lt;td&gt;27B&lt;/td&gt;
&lt;td&gt;42.2&lt;/td&gt;
&lt;td&gt;61.7&lt;/td&gt;
&lt;td&gt;✅ (consumer GPU)&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek V4 Flash 0731&lt;/td&gt;
&lt;td&gt;284B&lt;/td&gt;
&lt;td&gt;13B&lt;/td&gt;
&lt;td&gt;54.4&lt;/td&gt;
&lt;td&gt;56.0&lt;/td&gt;
&lt;td&gt;⚠️ (larger)&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.7-Plus&lt;/td&gt;
&lt;td&gt;397B&lt;/td&gt;
&lt;td&gt;17B&lt;/td&gt;
&lt;td&gt;16.5&lt;/td&gt;
&lt;td&gt;55.8&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Opus 4.6 Max&lt;/td&gt;
&lt;td&gt;frontier&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;td&gt;53.4&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The clearest takeaway: &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; beats not only its bigger, more expensive sibling Qwen3.7-Plus, but also the frontier Claude Opus 4.6 Max on the majority of shared benchmarks — while activating a mere 6B parameters. Its main losses are narrow: DeepSeek-V4-Flash on NL2Repo-Bench, and Claude on the hardest frontier-reasoning tests (GPQA Diamond and HLE). For agentic coding and long-horizon work, &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is currently the efficiency king.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Q: What is Qwen3.8-Flash-Next?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is Alibaba Qwen's open-weight preview of the Qwen4 architecture — a 125B-parameter Mixture-of-Experts vision-language model that activates only 6B parameters per token, plus a 51B n-gram embedding. It introduces Qwen Sparse Attention, Gated Residual, and N-gram Embedding, and targets coding, agent, and long-context workloads with high efficiency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How many parameters does Qwen3.8-Flash-Next activate?
&lt;/h3&gt;

&lt;p&gt;A: Only &lt;strong&gt;6B&lt;/strong&gt; parameters are active per token out of 125B total, with 51B additional n-gram embedding parameters and 4B MTP. This low activation ratio is the core efficiency design of &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How good is Qwen3.8-Flash-Next on benchmarks?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; scores DeepSWE 1.1 at 58.7, SWE-bench Pro at 62.5, SWE-bench Multilingual at 81.0, Toolathlon Verified at 73.5, and LiveCodeBench v6 at 91.9 — beating Claude Opus 4.6 Max on most shared benchmarks with only 6B activated parameters.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What is the context length of Qwen3.8-Flash-Next?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; natively supports 262,144 tokens (256K) and can be extended up to 1,000,000 tokens via YaRN scaling. With Qwen's reworked attention kernels, prefill is up to 7.6× faster and decode up to 4.9× faster at the 1M-token mark.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Is Qwen3.8-Flash-Next open source?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is released as open weights under the &lt;strong&gt;qwen-community-1.0&lt;/strong&gt; license (not Apache 2.0), available on Hugging Face at &lt;code&gt;Qwen/Qwen3.8-Flash-Next&lt;/code&gt; and ModelScope. Commercial use is subject to the community license terms.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can I run Qwen3.8-Flash-Next locally?
&lt;/h3&gt;

&lt;p&gt;A: Yes. &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is Transformers-compatible and officially supported by SGLang, vLLM, TokenSpeed, and KTransformers. Because it activates only 6B parameters, it is far more memory-friendly than its parameter count suggests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Does Qwen3.8-Flash-Next support images?
&lt;/h3&gt;

&lt;p&gt;A: Yes. &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is a native vision-language model with image + text input through the OpenAI-compatible Chat Completions API. It scores 88.5 on RealWorldQA, 95.7 on MathVision (with CI), and 90.6 on CharXiv RQ (with CI).&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Does Qwen3.8-Flash-Next support tool calling and thinking mode?
&lt;/h3&gt;

&lt;p&gt;A: Yes. &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; runs in thinking mode by default, with &lt;code&gt;enable_thinking&lt;/code&gt;, &lt;code&gt;preserve_thinking&lt;/code&gt;, and &lt;code&gt;reasoning_effort&lt;/code&gt; controls (xhigh/medium/low). It supports tool calling and returns reasoning content alongside the final answer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What is Qwen3.8-Flash (the hosted version)?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-Flash&lt;/strong&gt; is the official Qwen Cloud production version built from &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt;, with a 1M context window by default and official built-in tools — recommended if you want managed inference rather than self-hosting.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: When was Qwen3.8-Flash-Next released?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; open weights were released on &lt;strong&gt;August 26, 2026&lt;/strong&gt;, alongside the technical report and Qwen Cloud availability of the production &lt;strong&gt;Qwen3.8-Flash&lt;/strong&gt; version.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary &amp;amp; Recommended Actions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; is one of the most important efficiency releases of 2026. It is the first open-weight glimpse of the Qwen4 architecture, and it proves that a "mid-tier Flash" model — just 6B activated parameters — can top a frontier flagship on the benchmarks that matter most for real agentic work: DeepSWE 1.1 (58.7), SWE-bench Pro (62.5), CoWorkBench (73.9), and LiveCodeBench v6 (91.9). With native vision, a 256K→1M context window, QSA-driven long-context speedups, and roughly one-ninth the training cost of Qwen3.7-Plus, it redefines the compute-to-intelligence ratio.&lt;/p&gt;

&lt;p&gt;The caveats: these are Qwen's own benchmarks pending independent verification; the license is qwen-community-1.0, not fully permissive; and on the hardest frontier-reasoning tests (GPQA Diamond 91.3, HLE 40.0) Claude Opus 4.6 Max still leads. But for cost-sensitive, long-context, agentic and multimodal workloads, &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; sets a new benchmark.&lt;/p&gt;

&lt;p&gt;Your next steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Try the API&lt;/strong&gt; — test &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; through the OpenAI-compatible Chat Completions API (via a local SGLang/vLLM serve or Qwen Cloud) on a real agentic coding task.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Benchmark it against your stack&lt;/strong&gt; — compare &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; side-by-side with your current model on DeepSWE-style and long-context tasks to see the cost/perf win.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch the architecture&lt;/strong&gt; — since &lt;strong&gt;Qwen3.8-Flash-Next&lt;/strong&gt; previews Qwen4, follow the &lt;a href="https://qwen.ai/blog?id=qwen3.8-flash-next" rel="noopener noreferrer"&gt;Qwen3.8-Flash-Next blog&lt;/a&gt; and &lt;a href="https://github.com/QwenLM/Qwen3.8-Flash-Next/blob/main/tech_report.pdf" rel="noopener noreferrer"&gt;technical report&lt;/a&gt; for the full-generation rollout.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  &lt;strong&gt;Sources:&lt;/strong&gt; &lt;a href="https://huggingface.co/Qwen/Qwen3.8-Flash-Next" rel="noopener noreferrer"&gt;Qwen3.8-Flash-Next on Hugging Face&lt;/a&gt; · &lt;a href="https://qwen.ai/blog?id=qwen3.8-flash-next" rel="noopener noreferrer"&gt;Qwen3.8-Flash-Next blog&lt;/a&gt; · &lt;a href="https://github.com/QwenLM/Qwen3.8-Flash-Next/blob/main/tech_report.pdf" rel="noopener noreferrer"&gt;Qwen3.8-Flash-Next technical report&lt;/a&gt; · &lt;a href="https://officechai.com/ai/qwen-3-8-flash-next-benchmarks/" rel="noopener noreferrer"&gt;OfficeChai: Alibaba Releases Qwen 3.8 Flash-Next&lt;/a&gt; · &lt;a href="https://pc.watch.impress.co.jp/docs/news/2135941.html" rel="noopener noreferrer"&gt;PC Watch (Japanese)&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Originally published at:&lt;/strong&gt; &lt;a href="https://a2aprotocol.ai/insights/qwen3-8-flash-next" rel="noopener noreferrer"&gt;Qwen3.8-Flash-Next (2026): The Complete Guide to Qwen's Qwen4-Preview Architecture Model&lt;/a&gt;&lt;/p&gt;

</description>
      <category>qwen</category>
      <category>ai</category>
      <category>llm</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Gesture Synth Weld Vercel App 2026: How a Webcam Becomes a Synthesizer</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Sun, 16 Aug 2026 14:06:00 +0000</pubDate>
      <link>https://dev.to/czmilo/gesture-synth-weld-vercel-app-2026-how-a-webcam-becomes-a-synthesizer-32d</link>
      <guid>https://dev.to/czmilo/gesture-synth-weld-vercel-app-2026-how-a-webcam-becomes-a-synthesizer-32d</guid>
      <description>&lt;h1&gt;
  
  
  Gesture Synth Weld Vercel App 2026: How a Webcam Becomes a Synthesizer
&lt;/h1&gt;

&lt;h2&gt;
  
  
  🎯 Core Takeaways (TL;DR)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;weld vercel app&lt;/strong&gt; that took the web by storm is Gesture Synth — a browser-based musical instrument at &lt;code&gt;gesture-synth-weld.vercel.app&lt;/code&gt; that turns your webcam into a real-time synthesizer using hand gestures, with zero downloads and zero installs.&lt;/li&gt;
&lt;li&gt;Under the hood, the &lt;strong&gt;synth weld vercel app&lt;/strong&gt; runs MediaPipe Hand Landmarker (two hands, 21 landmarks each) to classify finger patterns into chords, while a Web Audio API signal chain — oscillators → wave shaper → biquad filter → master gain — produces the sound entirely in the browser.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;gesture&lt;/strong&gt; vocabulary is musical, not arbitrary: the left hand picks the chord degree (I–VII via finger counts and 🤘/🤟 shapes), the right hand controls voicing and expression, and hand tilt sweeps the filter from acoustic warmth to EDM squelch.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;gesture synth&lt;/strong&gt; engine maps every hand state to a deterministic musical result: finger count → Roman numeral, middle-MCP position → major/minor quality, wrist tilt → filter frequency and resonance, with smooth &lt;code&gt;setTargetAtTime&lt;/code&gt; transitions that eliminate audio clicks.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;gesture synth weld vercel&lt;/strong&gt; project is open source (88+ stars on GitHub), built with Vite, and free for educational and non-commercial use — a perfect case study for anyone exploring the &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; pattern of camera + Web Audio.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is the Weld Vercel App?&lt;/li&gt;
&lt;li&gt;Why Gesture Synth Went Viral&lt;/li&gt;
&lt;li&gt;How the Gesture Synth Tracks Your Hands&lt;/li&gt;
&lt;li&gt;The Synth Engine: Web Audio API Signal Chain&lt;/li&gt;
&lt;li&gt;Gesture-to-Chord Mapping&lt;/li&gt;
&lt;li&gt;Filter Sweeps and Expression&lt;/li&gt;
&lt;li&gt;The Three Synth Presets&lt;/li&gt;
&lt;li&gt;Performance and Browser Constraints&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is the Weld Vercel App?
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;weld vercel app&lt;/strong&gt; in question is Gesture Synth, a camera-based musical instrument created by Eric Wei and deployed at &lt;code&gt;gesture-synth-weld.vercel.app&lt;/code&gt;. Open the URL, click to enable audio and grant camera access, and your hands become a synthesizer: move them in front of the webcam to change chords, sweep filters, and shape distortion in real time. There is no download, no account, and no MIDI controller — just a browser, a webcam, and the &lt;strong&gt;gesture synth&lt;/strong&gt; engine running entirely client-side.&lt;/p&gt;

&lt;p&gt;The name comes from the deployment slug: the &lt;strong&gt;synth weld vercel app&lt;/strong&gt; is the "weld" of "gesture-synth" and "weld" in the Vercel project URL. For SEO purposes, the &lt;strong&gt;gesture synth weld vercel&lt;/strong&gt; combination is what people actually search for when they see the app on social media and want to find it again — which is why this guide covers the full keyword family: &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt;, &lt;strong&gt;gesture synth weld&lt;/strong&gt;, and the primary &lt;strong&gt;weld vercel app&lt;/strong&gt; phrase.&lt;/p&gt;

&lt;p&gt;The app itself is deceptively simple on the surface. A dark stage fills the screen, your webcam feed is processed invisibly, and a chord display shows what you are playing. Twelve keys (A through G#/Ab) let you pick a root, three synth presets change the character of the sound, and a filter control shows the current sweep position. But underneath, the &lt;strong&gt;gesture synth&lt;/strong&gt; is a carefully engineered pipeline of hand tracking, gesture classification, and Web Audio synthesis — and that is what this article dissects.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Professional Tip:&lt;/strong&gt; The &lt;strong&gt;weld vercel app&lt;/strong&gt; pattern — a single-page Vite app deployed on Vercel with MediaPipe and Web Audio — is a template you can reuse for your own camera-based tools. The entire implementation is open source on GitHub (&lt;code&gt;ericwei97-cloud/gesture-synth&lt;/code&gt;).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Why Gesture Synth Went Viral
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; went viral for a simple reason: it is a demo you can understand in five seconds and play for an hour. The Instagram tutorial posted by the creator shows exactly how it works — left hand picks the chord, right hand shapes the sound — and the immediacy of "your webcam is now a synthesizer" is the kind of moment people share.&lt;/p&gt;

&lt;p&gt;There is also a deeper pattern at work. The &lt;strong&gt;gesture&lt;/strong&gt; interaction model removes the last barrier between a person and an instrument: no keyboard, no mouse, no touchscreen. You move your body and music comes out. That is the same reason the &lt;strong&gt;gesture synth&lt;/strong&gt; genre keeps producing viral hits — from gesture-controlled theremins to hand-tracking drum machines — and why the &lt;strong&gt;synth weld vercel app&lt;/strong&gt; deployment model (free hosting, instant load, no install) is the perfect vehicle for it.&lt;/p&gt;

&lt;p&gt;For developers, the viral moment matters less than the architecture. The &lt;strong&gt;gesture synth weld vercel&lt;/strong&gt; project demonstrates that a production-quality musical instrument can run entirely in the browser: MediaPipe's Hand Landmarker delivers 21 landmarks per hand at interactive frame rates, and the Web Audio API synthesizes chords with sub-millisecond scheduling. No server, no native code, no app store. That is the &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; lesson: the browser is now a musical instrument platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the Gesture Synth Tracks Your Hands
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;gesture synth&lt;/strong&gt; uses MediaPipe Hand Landmarker from &lt;code&gt;@mediapipe/tasks-vision&lt;/code&gt; (v0.10.35), configured with &lt;code&gt;numHands: 2&lt;/code&gt; and a 640×480 video input. Each hand is reduced to 21 landmarks — wrist, four finger MCP/PIP/DIP joints, and fingertips — and the &lt;strong&gt;gesture synth&lt;/strong&gt; logic reads those landmarks to classify what your hand is doing.&lt;/p&gt;

&lt;p&gt;The classification functions in the source are precise and readable:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;isThumbExtended()&lt;/code&gt; compares the thumb tip's x-coordinate to the thumb IP joint, with handedness-aware direction (a right-hand thumb extends to the right, a left-hand thumb to the left).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;isFingerExtended()&lt;/code&gt; checks each finger's extension state.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;getChordQuality()&lt;/code&gt; compares the middle finger MCP joint to the wrist: if the MCP is to the right of the wrist, the chord is minor; otherwise major. This is the &lt;strong&gt;gesture&lt;/strong&gt; that flips a chord's mood.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;classifyChord()&lt;/code&gt; combines the five finger states into a Roman numeral: one finger → I, two → II, three → III, four → IV, five → V, and the index+pinky shapes (🤘 and 🤟) → VI and VII.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The result is a deterministic mapping from hand shape to scale degree. Because the &lt;strong&gt;gesture synth&lt;/strong&gt; reads raw landmark positions rather than relying on a gesture classifier model, the logic is transparent, debuggable, and fast — every frame produces a decision with no ambiguity.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Synth Engine: Web Audio API Signal Chain
&lt;/h2&gt;

&lt;p&gt;The sound of the &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; comes from a classic Web Audio API signal chain, built lazily on first user interaction (browsers require a user gesture before audio can start):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;oscillators → waveShaper (distortion) → biquadFilter (lowpass) → masterGain → destination
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;SynthEngine&lt;/code&gt; class in the source creates the chain in &lt;code&gt;ensureContext()&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WaveShaperNode&lt;/strong&gt; with &lt;code&gt;oversample: "4x"&lt;/code&gt; — the distortion stage, with 4× oversampling to reduce aliasing harshness.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BiquadFilterNode&lt;/strong&gt; — a lowpass filter, base frequency 1200 Hz, Q 0.7.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GainNode&lt;/strong&gt; — the master volume, starting at 0 and ramped smoothly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When a chord is played, &lt;code&gt;playNotes()&lt;/code&gt; stops the previous oscillators and creates one &lt;code&gt;OscillatorNode&lt;/code&gt; per note frequency, connecting each to the wave shaper. The current chord is deduplicated by its frequency key, so repeated frames do not restart the sound. Volume changes use &lt;code&gt;setTargetAtTime&lt;/code&gt; with a 0.03 time constant, and filter changes use 0.04 — the &lt;strong&gt;gesture synth&lt;/strong&gt; deliberately smooths every audio parameter update to eliminate the clicks and zipper noise that plague naive Web Audio implementations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gesture-to-Chord Mapping
&lt;/h2&gt;

&lt;p&gt;The musical core of the &lt;strong&gt;gesture synth&lt;/strong&gt; is the mapping from hand state to chord. The left hand selects the scale degree, and the right hand selects the voicing and expression. The scale is built from semitone offsets in a major scale, and the chord quality (major/minor) comes from the middle-MCP-vs-wrist &lt;strong&gt;gesture&lt;/strong&gt; described above.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Fingers Extended&lt;/th&gt;
&lt;th&gt;Gesture&lt;/th&gt;
&lt;th&gt;Scale Degree&lt;/th&gt;
&lt;th&gt;Chord&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1️⃣&lt;/td&gt;
&lt;td&gt;I&lt;/td&gt;
&lt;td&gt;Root chord&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;2️⃣&lt;/td&gt;
&lt;td&gt;II&lt;/td&gt;
&lt;td&gt;Second degree&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;3️⃣&lt;/td&gt;
&lt;td&gt;III&lt;/td&gt;
&lt;td&gt;Third degree&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;4️⃣&lt;/td&gt;
&lt;td&gt;IV&lt;/td&gt;
&lt;td&gt;Fourth degree&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;5️⃣&lt;/td&gt;
&lt;td&gt;V&lt;/td&gt;
&lt;td&gt;Fifth degree&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Index + pinky&lt;/td&gt;
&lt;td&gt;🤘&lt;/td&gt;
&lt;td&gt;VI&lt;/td&gt;
&lt;td&gt;Sixth degree&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Index + pinky + thumb&lt;/td&gt;
&lt;td&gt;🤟&lt;/td&gt;
&lt;td&gt;VII&lt;/td&gt;
&lt;td&gt;Seventh degree&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The right hand adds voicing variations: four finger configurations produce major, minor, dominant, and diminished voicings — the diminished case even uses a tritone (diminished fifth) for the Diminished 7th chord, a detail that shows the &lt;strong&gt;gesture synth&lt;/strong&gt; author thought carefully about music theory, not just hand tracking. The left hand's tilt mode switches the whole scale between major and minor, so the same &lt;strong&gt;gesture&lt;/strong&gt; vocabulary produces very different music depending on context.&lt;/p&gt;

&lt;h2&gt;
  
  
  Filter Sweeps and Expression
&lt;/h2&gt;

&lt;p&gt;The most expressive control in the &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; is the filter sweep, driven by hand tilt. &lt;code&gt;getHandHorizontalTilt()&lt;/code&gt; computes the wrist's position relative to the middle and ring finger MCP knuckles, with a dead zone in the middle and a &lt;code&gt;MAX_TRAVEL&lt;/code&gt; of 0.12 before the tilt saturates at ±1.0.&lt;/p&gt;

&lt;p&gt;The tilt then drives the filter in two directions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Inward tilt (negative):&lt;/strong&gt; the filter frequency drops from 1200 Hz down to 250 Hz, and Q rises to 2.2 — an acoustic, woody warmth.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Outward tilt (positive):&lt;/strong&gt; the filter frequency rises to 5000 Hz and Q spikes to 5.2 — a resonant, synthetic "squelch" straight out of EDM.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;strong&gt;gesture synth&lt;/strong&gt; also uses tilt shakiness to drive a jitter effect: random noise is scaled by how much the right hand is shaking, turning nervous energy into audible texture. And the on-screen energy visualization colors the display by chord — major chords glow at full opacity, minor chords damp to a moody 45% — so the visual feedback matches the musical mood.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Three Synth Presets
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;synth weld vercel app&lt;/strong&gt; ships three oscillator presets that change the character of the sound:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Preset&lt;/th&gt;
&lt;th&gt;Character&lt;/th&gt;
&lt;th&gt;Waveform Family&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Warm Synth&lt;/td&gt;
&lt;td&gt;Soft, rounded, pad-like&lt;/td&gt;
&lt;td&gt;Mellow waveforms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bright Synth&lt;/td&gt;
&lt;td&gt;Clear, cutting, lead-like&lt;/td&gt;
&lt;td&gt;Brighter waveforms&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retro Synth&lt;/td&gt;
&lt;td&gt;Classic, video-game feel&lt;/td&gt;
&lt;td&gt;Square-ish, chiptune flavor&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The preset selects the &lt;code&gt;OscillatorNode&lt;/code&gt; waveform used by &lt;code&gt;playNotes()&lt;/code&gt;, and because the rest of the chain (distortion, filter, gain) is shared, switching presets changes the timbre without breaking the &lt;strong&gt;gesture&lt;/strong&gt; controls. This is a clean example of separating the control layer from the synthesis layer — the same hand gestures drive every preset.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance and Browser Constraints
&lt;/h2&gt;

&lt;p&gt;A camera-based instrument has hard real-time constraints, and the &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; handles them with a few deliberate choices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Client-side everything.&lt;/strong&gt; MediaPipe runs in the browser via WebAssembly; no frames leave the device, which keeps latency low and privacy intact.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cover-crop video.&lt;/strong&gt; The app computes a "cover" crop rectangle in source-video pixel space, so the webcam feed fills the stage without distortion — a detail that matters for both visuals and landmark stability.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frame-by-frame smoothing.&lt;/strong&gt; Every audio parameter update uses &lt;code&gt;setTargetAtTime&lt;/code&gt; or &lt;code&gt;linearRampToValueAtTime&lt;/code&gt;, preventing clicks even when the filter sweeps at full speed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lazy audio context.&lt;/strong&gt; The &lt;code&gt;AudioContext&lt;/code&gt; is created only after the user clicks, satisfying browser autoplay policies and avoiding wasted resources.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The &lt;strong&gt;gesture synth&lt;/strong&gt; also integrates Vercel Analytics and Speed Insights plus Microsoft Clarity, so the creator can watch how people actually play — a reminder that even a viral &lt;strong&gt;weld vercel app&lt;/strong&gt; is a product with metrics.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Q: What is the weld vercel app?
&lt;/h3&gt;

&lt;p&gt;A: The &lt;strong&gt;weld vercel app&lt;/strong&gt; is Gesture Synth, a browser-based musical instrument at &lt;code&gt;gesture-synth-weld.vercel.app&lt;/code&gt; that uses your webcam and hand gestures to play real-time synthesizer chords, pads, and audio loops. The "weld" comes from the Vercel deployment slug of the &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How does the gesture synth work?
&lt;/h3&gt;

&lt;p&gt;A: The &lt;strong&gt;gesture synth&lt;/strong&gt; uses MediaPipe Hand Landmarker to track 21 landmarks per hand, classifies finger patterns into scale degrees (I–VII), and synthesizes chords with the Web Audio API. The left hand picks the chord, the right hand controls voicing and expression.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Do I need to install anything to use the gesture synth weld vercel app?
&lt;/h3&gt;

&lt;p&gt;A: No. The &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; runs entirely in the browser — no downloads, no accounts, no MIDI hardware. You only need a webcam and permission to use it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What gestures control the music?
&lt;/h3&gt;

&lt;p&gt;A: Finger counts select scale degrees (1–5 fingers → I–V, 🤘 → VI, 🤟 → VII), the middle-finger position flips major/minor, and hand tilt sweeps the filter from warm to squelchy. The &lt;strong&gt;gesture&lt;/strong&gt; vocabulary is shown in the in-app guide.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Is the gesture synth open source?
&lt;/h3&gt;

&lt;p&gt;A: Yes. The &lt;strong&gt;gesture synth weld vercel&lt;/strong&gt; project is open source on GitHub (&lt;code&gt;ericwei97-cloud/gesture-synth&lt;/code&gt;, 88+ stars), built with Vite, and free for educational and non-commercial use with credit to the original creator.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can I build my own synth weld vercel app?
&lt;/h3&gt;

&lt;p&gt;A: Absolutely. The pattern is: MediaPipe Hand Landmarker for tracking, Web Audio API for synthesis, Vite for building, and Vercel for hosting. The &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; is a complete reference implementation to learn from.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;weld vercel app&lt;/strong&gt; known as Gesture Synth is more than a viral demo — it is a complete, open-source case study in browser-based musical instruments. MediaPipe Hand Landmarker turns a webcam into a two-hand controller, a deterministic &lt;strong&gt;gesture&lt;/strong&gt; vocabulary maps hand shapes to chords, and a carefully smoothed Web Audio API chain turns those chords into music without a single click or pop.&lt;/p&gt;

&lt;p&gt;For developers, the takeaways are concrete. The &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; shows how to structure a real-time camera pipeline, how to map landmarks to musical decisions, and how to keep audio glitch-free under continuous control. The &lt;strong&gt;synth weld vercel app&lt;/strong&gt; deployment model — free hosting, instant load, no install — is the reason the demo spread so fast, and the same pattern applies to any camera-based tool you want to ship.&lt;/p&gt;

&lt;p&gt;If you have not tried it, open &lt;code&gt;gesture-synth-weld.vercel.app&lt;/code&gt;, grant camera access, and play. Then read the source, fork it, and build your own &lt;strong&gt;gesture synth weld&lt;/strong&gt; instrument — the browser is ready, and so is the &lt;strong&gt;gesture synth weld vercel app&lt;/strong&gt; template.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Originally published at:&lt;/strong&gt; &lt;a href="https://curateclick.com/blog/gesture-synth-weld-vercel-app-2026" rel="noopener noreferrer"&gt;Gesture Synth Weld Vercel App 2026: How a Webcam Becomes a Synthesizer&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webaudio</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Qwen3.8-27B (2026): The Complete Guide to Qwen's New 27B Vision-Language Model</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Sat, 15 Aug 2026 12:18:38 +0000</pubDate>
      <link>https://dev.to/czmilo/qwen38-27b-2026-the-complete-guide-to-qwens-new-27b-vision-language-model-1g05</link>
      <guid>https://dev.to/czmilo/qwen38-27b-2026-the-complete-guide-to-qwens-new-27b-vision-language-model-1g05</guid>
      <description>&lt;h1&gt;
  
  
  Qwen3.8-27B (2026): The Complete Guide to Qwen's New 27B Vision-Language Model
&lt;/h1&gt;

&lt;h2&gt;
  
  
  🎯 Core Takeaways (TL;DR)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is the new 27-billion-parameter dense model from Alibaba's Qwen team — a native vision-language model that understands images &lt;strong&gt;and&lt;/strong&gt; videos, with flexible thinking control and Apache 2.0 open weights.&lt;/li&gt;
&lt;li&gt;The headline is &lt;strong&gt;agentic performance at local-model size&lt;/strong&gt;: &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; scores DeepSWE 1.1 at &lt;strong&gt;42.2&lt;/strong&gt; (up from 13.3 for Qwen3.6-27B), Terminal Bench 2.1 at 73.0, and beats Claude Opus 4.6 Max on SWE-bench Pro, QwenSWEBench, LiveCodeBench v6, OSWorld, and AndroidWorld.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; ships with a native &lt;strong&gt;262,144-token context window&lt;/strong&gt; (extensible to 1M via YaRN), 28B BF16 weights, thinking mode on by default, and &lt;code&gt;reasoning_effort&lt;/code&gt; levels of xhigh/medium/low.&lt;/li&gt;
&lt;li&gt;On OpenRouter, &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is available at &lt;strong&gt;$0.45 / $3.20 per million tokens&lt;/strong&gt; — and Reddit users are already running it locally on RTX 3090s, dual RTX 5080s, and 16GB VRAM cards.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is Qwen3.8-27B?&lt;/li&gt;
&lt;li&gt;Qwen3.8-27B Architecture &amp;amp; Specs&lt;/li&gt;
&lt;li&gt;Qwen3.8-27B Benchmarks: The Agentic Leap&lt;/li&gt;
&lt;li&gt;Qwen3.8-27B Pricing &amp;amp; API Access&lt;/li&gt;
&lt;li&gt;Running Qwen3.8-27B Locally&lt;/li&gt;
&lt;li&gt;Qwen3.8-27B vs the Competition&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is Qwen3.8-27B?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is the newest member of the Qwen3.8 generation — "the most capable generation in the Qwen open-model family to date," per the official model card. Built on the architectural foundation of Qwen3.5, &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; delivers substantial gains across coding, professional work, research, and long-horizon agentic tasks, packed into a compact, deployment-friendly dense model.&lt;/p&gt;

&lt;p&gt;The key word is &lt;em&gt;dense&lt;/em&gt;. Unlike the giant Qwen3.8-Max (2.4T-parameter MoE) that grabbed headlines when its weights landed on August 8, 2026, &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is a 27B-parameter dense model designed to run on hardware individuals actually own. As the r/LocalLLaMA release thread put it, &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is a "renewal of the beloved Qwen model, delivering unmatched intelligence density."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is also a &lt;em&gt;native vision-language model&lt;/em&gt;: it understands images and videos out of the box — from STEM diagrams and documents to hour-scale videos. It's the first Qwen model in this class with full multimodal input and the flexible thinking control that the community has wanted since the GPT-OSS era: "FINALLY! I waited since GPT-OSS for other local model that natively has low and medium reasoning! High for planning, low for execution and exploration," one Redditor wrote.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Professional Tip:&lt;/strong&gt; &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is hosted on Hugging Face at &lt;code&gt;Qwen/Qwen3.8-27B&lt;/code&gt; (9.47K likes, ~92K downloads/month, 319 quantization variants) and ModelScope. A hosted version on Qwen Cloud is coming soon with 1M context by default and built-in tools.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Qwen3.8-27B Architecture &amp;amp; Specs
&lt;/h2&gt;

&lt;p&gt;Here's what's under the hood of &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Spec&lt;/th&gt;
&lt;th&gt;Qwen3.8-27B&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Model type&lt;/td&gt;
&lt;td&gt;Causal LM with vision encoder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Parameters&lt;/td&gt;
&lt;td&gt;27B (BF16, ~28B weights on disk)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hidden dimension&lt;/td&gt;
&lt;td&gt;5,120&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Layers&lt;/td&gt;
&lt;td&gt;64&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Hidden layout&lt;/td&gt;
&lt;td&gt;16 × (3 × (Gated DeltaNet → FFN) → 1 × (Gated Attention → FFN))&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linear attention heads&lt;/td&gt;
&lt;td&gt;48 V / 16 QK (Gated DeltaNet), dim 128&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Attention heads&lt;/td&gt;
&lt;td&gt;24 Q / 4 KV (Gated Attention), dim 256&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FFN intermediate dim&lt;/td&gt;
&lt;td&gt;17,408&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-token prediction&lt;/td&gt;
&lt;td&gt;Trained with multiple steps&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Native context&lt;/td&gt;
&lt;td&gt;262,144 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Extensible context&lt;/td&gt;
&lt;td&gt;Up to 1,000,000 tokens (YaRN)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;License&lt;/td&gt;
&lt;td&gt;Apache 2.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Inputs&lt;/td&gt;
&lt;td&gt;Text, image, video&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Outputs&lt;/td&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The hybrid architecture combines &lt;strong&gt;Gated DeltaNet&lt;/strong&gt; (linear attention for cheap long-context processing) with &lt;strong&gt;Gated Attention&lt;/strong&gt; layers, plus multi-token prediction (MTP) for faster decoding. &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; supports thinking mode on by default, with &lt;code&gt;reasoning_effort&lt;/code&gt; tunable between xhigh (default), medium, and low, and &lt;code&gt;preserve_thinking&lt;/code&gt; retaining reasoning context across turns — a design that the model card says "improves KV cache utilization, optimizing inference efficiency in both thinking and non-thinking modes."&lt;/p&gt;

&lt;p&gt;For ultra-long work beyond 262K tokens, &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; recommends YaRN RoPE scaling with a &lt;code&gt;factor&lt;/code&gt; of 4.0 (or 2.0 if your typical context is ~524K) — supported in vLLM, SGLang, and TokenSpeed.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ &lt;strong&gt;Best Practice:&lt;/strong&gt; For agentic tasks on &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt;, allocate generous output lengths: up to 262,144 tokens for reasoning content and 131,072 for the final response. Lower &lt;code&gt;reasoning_effort&lt;/code&gt; doesn't always reduce total task time — insufficient analysis leads to more retries.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Qwen3.8-27B Benchmarks: The Agentic Leap
&lt;/h2&gt;

&lt;p&gt;The reason &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; broke the r/LocalLLaMA release thread with comments like "That DeepSWE leap — do we have a new local coder champion?" is the sheer size of its gains over the previous generation. Here are the official text benchmarks (Claude Code harness where noted):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Benchmark&lt;/th&gt;
&lt;th&gt;Qwen3.8-27B&lt;/th&gt;
&lt;th&gt;Qwen3.6-27B&lt;/th&gt;
&lt;th&gt;Qwen3.7-Plus&lt;/th&gt;
&lt;th&gt;Opus 4.6 Max&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Terminal Bench 2.1 (Terminus)&lt;/td&gt;
&lt;td&gt;73.0&lt;/td&gt;
&lt;td&gt;63.4&lt;/td&gt;
&lt;td&gt;64.0&lt;/td&gt;
&lt;td&gt;78.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SWE-bench Pro&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;61.7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;53.5&lt;/td&gt;
&lt;td&gt;57.6&lt;/td&gt;
&lt;td&gt;53.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NL2Repo-Bench&lt;/td&gt;
&lt;td&gt;42.3&lt;/td&gt;
&lt;td&gt;36.2&lt;/td&gt;
&lt;td&gt;41.1&lt;/td&gt;
&lt;td&gt;47.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSWE 1.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;42.2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;13.3&lt;/td&gt;
&lt;td&gt;14.2&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QwenSWEBench&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;79.0&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;49.3&lt;/td&gt;
&lt;td&gt;59.2&lt;/td&gt;
&lt;td&gt;63.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CoWorkBench&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;70.7&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;61.0&lt;/td&gt;
&lt;td&gt;65.1&lt;/td&gt;
&lt;td&gt;68.2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;JobBench&lt;/td&gt;
&lt;td&gt;33.4&lt;/td&gt;
&lt;td&gt;21.8&lt;/td&gt;
&lt;td&gt;27.6&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agents' Last Exam (score)&lt;/td&gt;
&lt;td&gt;42.9&lt;/td&gt;
&lt;td&gt;27.3&lt;/td&gt;
&lt;td&gt;33.6&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IFBench&lt;/td&gt;
&lt;td&gt;79.5&lt;/td&gt;
&lt;td&gt;69.1&lt;/td&gt;
&lt;td&gt;79.1&lt;/td&gt;
&lt;td&gt;62.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GPQA Diamond&lt;/td&gt;
&lt;td&gt;89.2&lt;/td&gt;
&lt;td&gt;87.8&lt;/td&gt;
&lt;td&gt;90.3&lt;/td&gt;
&lt;td&gt;91.3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HLE&lt;/td&gt;
&lt;td&gt;30.8&lt;/td&gt;
&lt;td&gt;24.0&lt;/td&gt;
&lt;td&gt;34.7&lt;/td&gt;
&lt;td&gt;40.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LiveCodeBench v6&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;90.3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;83.9&lt;/td&gt;
&lt;td&gt;89.6&lt;/td&gt;
&lt;td&gt;88.8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The DeepSWE number is the standout: &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; more than tripled its predecessor's score (13.3 → 42.2) and outperformed Opus 4.6 Max on SWE-bench Pro, QwenSWEBench, CoWorkBench, and LiveCodeBench v6 — despite being a fraction of the size. Independent leaderboards are already matching the model card: datacurve's DeepSWE leaderboard lists &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; at 42.2 and ScaleAI's SWE-bench Pro at 61.7.&lt;/p&gt;

&lt;p&gt;Where &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; truly separates from other local models is multimodal agents:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;VL Benchmark&lt;/th&gt;
&lt;th&gt;Qwen3.8-27B&lt;/th&gt;
&lt;th&gt;Qwen3.6-27B&lt;/th&gt;
&lt;th&gt;Opus 4.6 Max&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;OSWorld-Verified (computer use)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;84.3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;63.9&lt;/td&gt;
&lt;td&gt;72.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WebArena-Verified (browser)&lt;/td&gt;
&lt;td&gt;64.8&lt;/td&gt;
&lt;td&gt;48.8&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AndroidWorld (mobile)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;81.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;70.3&lt;/td&gt;
&lt;td&gt;62.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RecreationBench&lt;/td&gt;
&lt;td&gt;47.1&lt;/td&gt;
&lt;td&gt;29.8&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ClawEval-MM (Pass@3)&lt;/td&gt;
&lt;td&gt;57.4&lt;/td&gt;
&lt;td&gt;42.6&lt;/td&gt;
&lt;td&gt;52.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SWE-MM&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;38.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;25.7&lt;/td&gt;
&lt;td&gt;27.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vision2Web&lt;/td&gt;
&lt;td&gt;62.9&lt;/td&gt;
&lt;td&gt;45.0&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MathVision (with CI)&lt;/td&gt;
&lt;td&gt;94.6&lt;/td&gt;
&lt;td&gt;85.1&lt;/td&gt;
&lt;td&gt;65.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CharXiv (with CI)&lt;/td&gt;
&lt;td&gt;90.2&lt;/td&gt;
&lt;td&gt;78.4&lt;/td&gt;
&lt;td&gt;85.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OmniDocBench 1.5&lt;/td&gt;
&lt;td&gt;91.1&lt;/td&gt;
&lt;td&gt;89.4&lt;/td&gt;
&lt;td&gt;86.6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RealWorldQA&lt;/td&gt;
&lt;td&gt;85.9&lt;/td&gt;
&lt;td&gt;84.1&lt;/td&gt;
&lt;td&gt;73.9&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ERQA&lt;/td&gt;
&lt;td&gt;65.5&lt;/td&gt;
&lt;td&gt;62.5&lt;/td&gt;
&lt;td&gt;40.8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; beats Opus 4.6 Max on OSWorld, AndroidWorld, SWE-MM, MathVision, CharXiv, OmniDocBench, RealWorldQA, and ERQA — computer use, mobile use, document intelligence, and embodied perception, all in a model that fits on consumer GPUs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Qwen3.8-27B Pricing &amp;amp; API Access
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is live on OpenRouter as &lt;code&gt;qwen/qwen3.8-27b&lt;/code&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pricing Metric&lt;/th&gt;
&lt;th&gt;Qwen3.8-27B&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Input / 1M tokens&lt;/td&gt;
&lt;td&gt;$0.45 (weighted avg $0.4499)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Output / 1M tokens&lt;/td&gt;
&lt;td&gt;$3.20 (weighted avg $3.199)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context window&lt;/td&gt;
&lt;td&gt;262K&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Released on OpenRouter&lt;/td&gt;
&lt;td&gt;Aug 14, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Provider&lt;/td&gt;
&lt;td&gt;AkashML (single)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Throughput&lt;/td&gt;
&lt;td&gt;18 tok/s (P50)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Latency&lt;/td&gt;
&lt;td&gt;1.50s (P50)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Uptime (3d)&lt;/td&gt;
&lt;td&gt;91.97%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Availability (3d)&lt;/td&gt;
&lt;td&gt;79.65%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tool call error rate&lt;/td&gt;
&lt;td&gt;1.06%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Structured output error rate&lt;/td&gt;
&lt;td&gt;17.52%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Early production traffic tells the story: &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt;'s top apps on OpenRouter are Kilo Code (7.98M tokens), Zed Editor (7.02M), pi (4.82M), and Hermes Agent (4.5M) — all agentic coding tools. At $0.45/$3.20, &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; undercuts most frontier APIs by an order of magnitude while handling tool calls, structured outputs, images, and video.&lt;/p&gt;

&lt;p&gt;For API usage, &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; follows the standard Qwen3.8 pattern: thinking mode on by default (&lt;code&gt;enable_thinking: True&lt;/code&gt;), &lt;code&gt;reasoning_effort&lt;/code&gt; of xhigh/medium/low, and &lt;code&gt;preserve_thinking: True&lt;/code&gt; by default. Recommended sampling: thinking mode at temperature 1.0 / top_p 0.95; instruct mode at 0.7 / 0.8 with presence_penalty 1.5.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Attention:&lt;/strong&gt; OpenRouter currently routes &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; through a single provider (AkashML) with 79.65% availability over 3 days and a 17.52% structured-output error rate. For production reliability, wait for Qwen Cloud's hosted version or self-host.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Running Qwen3.8-27B Locally
&lt;/h2&gt;

&lt;p&gt;This is where &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; shines brightest — "RTX 3090 fans: &lt;em&gt;ENGAGE&lt;/em&gt;" was the top comment on the release thread. Community reports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dual RTX 5080 (32GB total):&lt;/strong&gt; user n0head_r ran the unsloth &lt;code&gt;Qwen38-27B-Q6_K&lt;/code&gt; GGUF with 172K context (kv q8_0), MTP + tensor-split at a stable &lt;strong&gt;~100 tps&lt;/strong&gt; until 60–70K context (~95 tps at 100K). A 150K-token agent loop — writing, building, verifying, fixing errors — completed with &lt;strong&gt;zero failed tool calls&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RTX 4080 16GB:&lt;/strong&gt; on r/ollama, &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; ran at 12.6GB VRAM / 5.6GB CPU with an 8K context, completing a 2-tool agentic task (math eval + live crypto price, both correct) in ~18s.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RTX 3090 24GB:&lt;/strong&gt; expected to be the sweet spot for Q4/Q6 quantizations, with Q8_0 also reported working via unsloth.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deployment options for &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Hugging Face Transformers&lt;/strong&gt; — &lt;code&gt;AutoModelForMultimodalLM.from_pretrained("Qwen/Qwen3.8-27B")&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;vLLM / SGLang / TokenSpeed&lt;/strong&gt; — &lt;code&gt;vllm serve "Qwen/Qwen3.8-27B"&lt;/code&gt; for OpenAI-compatible serving&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;llama.cpp / Ollama / LM Studio&lt;/strong&gt; — via the 319 community quantizations (Q4_K_M, Q6_K, Q8_0, etc.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Docker Model Runner&lt;/strong&gt; — &lt;code&gt;docker model run hf.co/Qwen/Qwen3.8-27B&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ &lt;strong&gt;Best Practice:&lt;/strong&gt; If you're on a single 16–24GB GPU, grab a Q4 or Q6 GGUF of &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; from unsloth; with 32GB+ VRAM or dual cards, Q8_0 with tensor splitting and MTP gives the best speed/quality balance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Qwen3.8-27B vs the Competition
&lt;/h2&gt;

&lt;p&gt;How does &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; stack up against the models it's being compared to?&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Size&lt;/th&gt;
&lt;th&gt;DeepSWE&lt;/th&gt;
&lt;th&gt;Terminal Bench&lt;/th&gt;
&lt;th&gt;Local-friendly&lt;/th&gt;
&lt;th&gt;Vision&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.8-27B&lt;/td&gt;
&lt;td&gt;27B dense&lt;/td&gt;
&lt;td&gt;42.2&lt;/td&gt;
&lt;td&gt;73.0&lt;/td&gt;
&lt;td&gt;✅ (16GB+ VRAM)&lt;/td&gt;
&lt;td&gt;✅ image+video&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DeepSeek V4 Flash 0731&lt;/td&gt;
&lt;td&gt;284B A13B&lt;/td&gt;
&lt;td&gt;54.4&lt;/td&gt;
&lt;td&gt;82.7&lt;/td&gt;
&lt;td&gt;⚠️ (big)&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Qwen3.6-27B&lt;/td&gt;
&lt;td&gt;27B dense&lt;/td&gt;
&lt;td&gt;13.3&lt;/td&gt;
&lt;td&gt;63.4&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Opus 4.6 Max&lt;/td&gt;
&lt;td&gt;frontier&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;td&gt;78.2&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;td&gt;✅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Minimax M2.7&lt;/td&gt;
&lt;td&gt;MoE&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;td&gt;–&lt;/td&gt;
&lt;td&gt;⚠️&lt;/td&gt;
&lt;td&gt;❌&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Reddit's read: "at 27B parameters, Qwen3.8-27B is pretty close to DeepSeek V4 Flash 0731 which is 284B A13B!" — while others noted "It seems better than 900+B MoE" and asked whether &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; beats Minimax M2.7 in agentic coding. The verdict so far: &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; offers frontier-adjacent agentic and multimodal performance at a fraction of the parameter count, and it's the strongest local coder candidate since the 27B class began.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤔 FAQ: Qwen3.8-27B
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Q: What is Qwen3.8-27B?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is Alibaba Qwen's 27-billion-parameter dense vision-language model, released as open weights under Apache 2.0 in August 2026. It understands images and videos, supports flexible thinking control, and targets coding, professional work, research, and long-horizon agentic tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How much does Qwen3.8-27B cost?
&lt;/h3&gt;

&lt;p&gt;A: On OpenRouter, &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; costs $0.45 per million input tokens and $3.20 per million output tokens. It's also free to self-host under Apache 2.0, and a Qwen Cloud hosted version with 1M context is coming soon.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What is the context length of Qwen3.8-27B?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; natively supports 262,144 tokens (262K), extensible to 1,000,000 tokens via YaRN RoPE scaling in vLLM, SGLang, or TokenSpeed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Does Qwen3.8-27B support images and video?
&lt;/h3&gt;

&lt;p&gt;A: Yes. &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is a native vision-language model with image and video input — from STEM diagrams and documents to hour-scale videos — plus computer-use and browser-use capabilities (OSWorld-Verified 84.3, WebArena-Verified 64.8).&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Can I run Qwen3.8-27B locally?
&lt;/h3&gt;

&lt;p&gt;A: Yes. &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; runs on consumer GPUs: reported setups include RTX 3090 24GB, dual RTX 5080s (Q6_K at ~100 tps with 172K context), and RTX 4080 16GB (12.6GB VRAM via Ollama). 319 quantization variants are available.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Does Qwen3.8-27B support tool calling and structured outputs?
&lt;/h3&gt;

&lt;p&gt;A: Yes. &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; supports tool calling, JSON output, and the OpenAI-compatible Chat Completions API, and it's already used in production by Kilo Code, Zed, pi, and Hermes Agent via OpenRouter.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Is Qwen3.8-27B open source?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; ships under the Apache 2.0 license — fully open weights, commercial use allowed. It's available on Hugging Face (Qwen/Qwen3.8-27B) and ModelScope.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: When was Qwen3.8-27B released?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; was released on August 14, 2026 (open weights on Hugging Face and ModelScope, plus same-day availability on OpenRouter), following Qwen's announcement alongside Qwen3.8-Max.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How does Qwen3.8-27B compare to Qwen3.6-27B?
&lt;/h3&gt;

&lt;p&gt;A: &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; roughly triples DeepSWE (13.3 → 42.2), gains ~10 points on Terminal Bench (63.4 → 73.0), +8.2 on SWE-bench Pro, and +20 on OSWorld (63.9 → 84.3) versus Qwen3.6-27B — a full generation's worth of progress.&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary &amp;amp; Recommended Actions
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; is the model the local-AI community has been waiting for: frontier-adjacent agentic performance — DeepSWE 42.2, SWE-bench Pro 61.7, OSWorld 84.3, LiveCodeBench v6 90.3 — in a 27B dense package that runs on a single 24GB GPU, beats Opus 4.6 Max on multiple benchmarks, and costs $0.45/$3.20 per million tokens on OpenRouter. It has vision (image + video), flexible thinking control, 262K native context, and Apache 2.0 licensing.&lt;/p&gt;

&lt;p&gt;The caveats: benchmarks are Qwen's own until independently verified, the single AkashML provider on OpenRouter has 79.65% availability, and structured-output reliability (17.52% error rate) needs watching. But as one commenter put it: "At this rate next year maybe we won't need AI-aaS companies."&lt;/p&gt;

&lt;p&gt;Your next steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Try the API&lt;/strong&gt; — test &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; on &lt;a href="https://openrouter.ai/qwen/qwen3.8-27b" rel="noopener noreferrer"&gt;OpenRouter&lt;/a&gt; for an agentic coding task and compare against your current model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Download a GGUF&lt;/strong&gt; — grab a Q4/Q6_K quantization of &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; from unsloth and try it on your local GPU today.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch for Qwen Cloud&lt;/strong&gt; — the hosted &lt;strong&gt;Qwen3.8-27B&lt;/strong&gt; with 1M context and built-in tools is coming soon; keep an eye on &lt;a href="https://huggingface.co/Qwen/Qwen3.8-27B" rel="noopener noreferrer"&gt;Hugging Face&lt;/a&gt; for updates.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;&lt;strong&gt;Sources:&lt;/strong&gt; &lt;a href="https://huggingface.co/Qwen/Qwen3.8-27B" rel="noopener noreferrer"&gt;Qwen3.8-27B on Hugging Face&lt;/a&gt; · &lt;a href="https://www.reddit.com/r/LocalLLaMA/comments/1vo9nn7/qwenqwen3827b_released/" rel="noopener noreferrer"&gt;r/LocalLLaMA release thread&lt;/a&gt; · &lt;a href="https://openrouter.ai/qwen/qwen3.8-27b" rel="noopener noreferrer"&gt;Qwen3.8-27B on OpenRouter&lt;/a&gt; · &lt;a href="https://qwen.ai/blog?id=qwen3.8" rel="noopener noreferrer"&gt;Qwen3.8-Max blog&lt;/a&gt; · &lt;a href="https://www.reddit.com/r/ollama/comments/1vo9p9w/qwen3827b_benchmarks" rel="noopener noreferrer"&gt;r/ollama benchmarks&lt;/a&gt; · &lt;a href="https://medium.com/@rosgluk/qwen-3-8-27b-is-coming-and-it-could-be-the-most-important-local-ai-release-of-2026-c1cf381d5292" rel="noopener noreferrer"&gt;Medium: the most important local AI release of 2026&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Originally published at:&lt;/strong&gt; &lt;a href="https://curateclick.com/blog/qwen3-8-27b" rel="noopener noreferrer"&gt;Qwen3.8-27B (2026): The Complete Guide to Qwen's New 27B Vision-Language Model&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>qwen</category>
      <category>opensource</category>
    </item>
    <item>
      <title>DeepSeek Harness Agent Loop 2026: Inside the Replaceable Plugin That Drives Every Turn</title>
      <dc:creator>cz</dc:creator>
      <pubDate>Fri, 14 Aug 2026 11:26:37 +0000</pubDate>
      <link>https://dev.to/czmilo/deepseek-harness-agent-loop-2026-inside-the-replaceable-plugin-that-drives-every-turn-4khe</link>
      <guid>https://dev.to/czmilo/deepseek-harness-agent-loop-2026-inside-the-replaceable-plugin-that-drives-every-turn-4khe</guid>
      <description>&lt;h1&gt;
  
  
  DeepSeek Harness Agent Loop 2026: Inside the Replaceable Plugin That Drives Every Turn
&lt;/h1&gt;

&lt;h2&gt;
  
  
  🎯 Core Takeaways (TL;DR)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; is itself a replaceable plugin: &lt;code&gt;packages/core/agent-loop&lt;/code&gt; ships &lt;code&gt;ReactLoopAgent&lt;/code&gt; as the default implementation of the &lt;code&gt;Agent&lt;/code&gt; interface defined by &lt;code&gt;core/agent&lt;/code&gt; — other plugins depend only on the interface, never on the loop, so the whole loop can be swapped out.&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; operates on two levels: a &lt;strong&gt;turn&lt;/strong&gt; (zero or more steps, opened when the first input arrives and closed when the model owes nothing) and a &lt;strong&gt;step&lt;/strong&gt; (one model request plus the tools it calls). Model-visible history is never stored separately — it is projected from the append-only session log via &lt;code&gt;deriveMessages()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;A phase state machine (&lt;code&gt;idle | maintenance | running&lt;/code&gt;) gates the driver, and every boundary — &lt;code&gt;turn/start&lt;/code&gt;, &lt;code&gt;step/start&lt;/code&gt;, &lt;code&gt;user/message&lt;/code&gt;, &lt;code&gt;assistant/chunk&lt;/code&gt;, &lt;code&gt;tool/call&lt;/code&gt;, &lt;code&gt;tool/result&lt;/code&gt;, &lt;code&gt;step/end&lt;/code&gt;, &lt;code&gt;turn/end&lt;/code&gt; — is written to the durable session log, so fork, resume, replay, and telemetry all derive from one event stream.&lt;/li&gt;
&lt;li&gt;Four extension points make the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; interceptable without modification: &lt;code&gt;agent/pre-step&lt;/code&gt; (waterfall), &lt;code&gt;agent/request&lt;/code&gt; (waterfall), &lt;code&gt;agent/request-error&lt;/code&gt; (waterfall), and &lt;code&gt;agent/turn-stopping&lt;/code&gt; (serial). Tool execution runs through a three-stage pipeline: &lt;code&gt;tools/pre-execute → tools/execute → tools/post-execute&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If you are building plugins for the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt;, the &lt;a href="https://dshplugins.com/" rel="noopener noreferrer"&gt;DSH Plugins&lt;/a&gt; directory is the place to discover, list, and share them with the ecosystem.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;What Is the DeepSeek Harness Agent Loop?&lt;/li&gt;
&lt;li&gt;Two Levels: Turns and Steps&lt;/li&gt;
&lt;li&gt;The Phase State Machine&lt;/li&gt;
&lt;li&gt;The Full Loop, Step by Step&lt;/li&gt;
&lt;li&gt;Tool Execution: The Three-Stage Pipeline&lt;/li&gt;
&lt;li&gt;Durable Events vs. Extension Points&lt;/li&gt;
&lt;li&gt;Why a Replaceable Agent Loop Matters&lt;/li&gt;
&lt;li&gt;The DSH Plugins Ecosystem&lt;/li&gt;
&lt;li&gt;FAQ&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What Is the DeepSeek Harness Agent Loop?
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; is the driver that keeps an agent working: it reads inputs, asks the model, executes tools, and decides when the agent owes the model another request. The defining fact about it — and the reason it deserves a deep dive — is that the loop itself is a plugin.&lt;/p&gt;

&lt;p&gt;In &lt;code&gt;packages/core/agent-loop&lt;/code&gt;, the default implementation is &lt;code&gt;ReactLoopAgent&lt;/code&gt;, which implements the &lt;code&gt;Agent&lt;/code&gt; interface defined by &lt;code&gt;core/agent&lt;/code&gt;. Other plugins depend only on that interface, never on the concrete loop class. That single architectural decision means the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; can be replaced wholesale: mount a different plugin that implements &lt;code&gt;Agent&lt;/code&gt;, and every consumer keeps working. The interface is the contract; the loop is the implementation; the harness is the composition.&lt;/p&gt;

&lt;p&gt;This is consistent with the broader "everything is a plugin" philosophy of DeepSeek Harness, which we covered in our earlier guide. The agent loop is not a privileged core component — it is one plugin among many, and it participates in the same event system as everything else.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Professional Tip:&lt;/strong&gt; When you read the code, start from the &lt;code&gt;Agent&lt;/code&gt; interface in &lt;code&gt;core/agent&lt;/code&gt; before reading &lt;code&gt;ReactLoopAgent&lt;/code&gt;. Everything the loop does is a response to that contract, and the interface is what your own loop plugin must satisfy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Two Levels: Turns and Steps
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; organizes work into two nested levels: turns and steps.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;turn&lt;/strong&gt; is zero or more steps. It opens when the first input arrives and closes when the loop "no longer owes the model anything" — that is, when there is no pending input and no tool result that requires another model request.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;step&lt;/strong&gt; is one model request plus the tools it calls. Each step is a single round trip through the model, followed by whatever tool calls the model requested.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model-visible history is not stored separately. Instead, it is projected from the append-only session log by &lt;code&gt;deriveMessages()&lt;/code&gt;. Everything the model can see must be reconstructible from the log — this is a hard invariant of the architecture, documented in &lt;code&gt;docs/architecture.md&lt;/code&gt;. The practical consequence: the session log is the single source of truth, and the model's context window is always a derived view of it.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Level&lt;/th&gt;
&lt;th&gt;Definition&lt;/th&gt;
&lt;th&gt;Boundary Events&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Turn&lt;/td&gt;
&lt;td&gt;Zero or more steps; opened by first input, closed when the model owes nothing&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;turn/start&lt;/code&gt;, &lt;code&gt;turn/end&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Step&lt;/td&gt;
&lt;td&gt;One model request + the tools it calls&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;step/start&lt;/code&gt;, &lt;code&gt;step/end&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Message&lt;/td&gt;
&lt;td&gt;A user or assistant message within a step&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;user/message&lt;/code&gt;, &lt;code&gt;assistant/message&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  The Phase State Machine
&lt;/h2&gt;

&lt;p&gt;The driver of the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; is gated by a small state machine: &lt;code&gt;Phase = idle | maintenance | running&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;idle&lt;/code&gt; — no driver is running; the agent is waiting for input.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;maintenance&lt;/code&gt; — a transient state used while the driver is being torn down or prepared.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;running&lt;/code&gt; — the driver is active across the entire drain interval, which can span multiple consecutive turns.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;State transitions emit &lt;code&gt;agent/status&lt;/code&gt; events, so any plugin can observe the loop's lifecycle without touching it. This is a recurring pattern in the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt;: state changes are events, and events are the extension surface.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Full Loop, Step by Step
&lt;/h2&gt;

&lt;p&gt;Here is the complete flow of the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt;, mapped to the actual code in &lt;code&gt;packages/core/agent-loop/src/agent.ts&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 0: Wake and drive
&lt;/h3&gt;

&lt;p&gt;Inputs enter through &lt;code&gt;send&lt;/code&gt;, &lt;code&gt;followup&lt;/code&gt;, &lt;code&gt;steer&lt;/code&gt;, or &lt;code&gt;inject&lt;/code&gt;, which push messages into the &lt;strong&gt;Inbox&lt;/strong&gt;'s two ordered queues (&lt;code&gt;next-turn&lt;/code&gt; and &lt;code&gt;next-step&lt;/code&gt;). &lt;code&gt;followup&lt;/code&gt; and &lt;code&gt;steer&lt;/code&gt; also wake the driver.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;wakeDriver()&lt;/code&gt; — when &lt;code&gt;idle&lt;/code&gt;, it claims a &lt;code&gt;running&lt;/code&gt; phase (fresh &lt;code&gt;AbortController&lt;/code&gt;, &lt;code&gt;turn&lt;/code&gt; = previous turn, &lt;code&gt;step&lt;/code&gt; = 0) and runs &lt;code&gt;kick()&lt;/code&gt; inside &lt;code&gt;ctx.agents.withInitiator(this, …)&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;kick()&lt;/code&gt; — &lt;code&gt;while (await this.turn()) {}&lt;/code&gt;: as long as there is pending input, a new turn is opened.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 1: Open a turn
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;turn()&lt;/code&gt; first appends &lt;code&gt;turn/start&lt;/code&gt; to the session — the durable open boundary. Then it loops over steps.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Pre-step — claim input and interception decision
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;preStep()&lt;/code&gt; does three things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;inbox.claim(target, turn)&lt;/code&gt; — claims the input batch for this step (all &lt;code&gt;next-step&lt;/code&gt; messages, plus one &lt;code&gt;next-turn&lt;/code&gt; message at turn boundaries). Claiming is a pure splice-delete; each claimed message emits &lt;code&gt;agent/inbox/claimed&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ctx.systemPrompt.assemble(...)&lt;/code&gt; — assembles the prompt sections and tool schema.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dispatch.waterfall('agent/pre-step', …)&lt;/code&gt; — the &lt;strong&gt;first extension point&lt;/strong&gt;. Listeners can &lt;code&gt;reject&lt;/code&gt; (no step opens; the turn ends as &lt;code&gt;blocked&lt;/code&gt;) or &lt;code&gt;enter&lt;/code&gt; and rewrite the message batch; the default &lt;code&gt;enter&lt;/code&gt; uses the claimed messages. The result is &lt;code&gt;{ reject }&lt;/code&gt; or &lt;code&gt;{ enter, messages, assembly }&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 &lt;strong&gt;Special case:&lt;/strong&gt; if the first step is rewritten to empty, the turn still occupies its boundary but does not spend a model call — it ends as &lt;code&gt;completed&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Step 3: Open a step and persist user messages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;session.append('step/start', { turn, step })&lt;/code&gt; — durable.&lt;/li&gt;
&lt;li&gt;Each message in &lt;code&gt;decision.messages&lt;/code&gt; is appended as &lt;code&gt;user/message&lt;/code&gt; — durable. Claimed inputs become durable user messages only at this point.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 4: Build the request, stream, assemble, call tools
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;step()&lt;/code&gt; runs an inner loop (which supports retries):&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4a. Build the request&lt;/strong&gt; — &lt;code&gt;buildRequest()&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;dispatch.waterfall('agent/request', …)&lt;/code&gt; — the &lt;strong&gt;second extension point&lt;/strong&gt;. Listeners can replace the frozen call configuration (provider, model, reasoningEffort, maxTokens); the default uses agent options or the recorded header.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ctx.llm.prepareCall(config, signal)&lt;/code&gt; — binds to the concrete adapter and materializes exact-model defaults.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;session.append('request/header', …)&lt;/code&gt; and &lt;code&gt;request/context&lt;/code&gt; (only when it changes) — durable, so the log can rebuild the request.&lt;/li&gt;
&lt;li&gt;The frozen &lt;code&gt;request&lt;/code&gt; is assembled: config + &lt;code&gt;deriveMessages()&lt;/code&gt; history + system + tools + sessionId + signal.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4b. Stream&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;preparedCall.stream(request) ?? ctx.llm.stream(request)&lt;/code&gt; — send the request and read the stream.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;for await chunk&lt;/code&gt; — each chunk is appended as &lt;code&gt;assistant/chunk&lt;/code&gt; (durable, preserving raw stream fidelity for replay and UI) and fed to the &lt;code&gt;BlockAssembler&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4c. Finish dispatch&lt;/strong&gt; — &lt;code&gt;assembler.finish&lt;/code&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;error&lt;/code&gt; / &lt;code&gt;aborted&lt;/code&gt; → &lt;code&gt;dispatch.waterfall('agent/request-error', …)&lt;/code&gt; — the &lt;strong&gt;third extension point&lt;/strong&gt;. A listener returning &lt;code&gt;{ kind: 'retry' }&lt;/code&gt; (without calling &lt;code&gt;next&lt;/code&gt;) retries the step; the default &lt;code&gt;undefined&lt;/code&gt; lets the failure terminate (throwing &lt;code&gt;LlmError&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;max-tokens&lt;/code&gt; → append &lt;code&gt;assistant/message&lt;/code&gt;, return &lt;code&gt;{ kind: 'max-tokens' }&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Normal → append &lt;code&gt;assistant/message&lt;/code&gt; with &lt;code&gt;{ turn, step, message, usage }&lt;/code&gt; and &lt;code&gt;sourceEventSeqs&lt;/code&gt; referencing the corresponding chunks — durable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4d. Tool calls&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Filter &lt;code&gt;tool-call&lt;/code&gt; blocks from the assistant message. None → return &lt;code&gt;{ kind: 'completed' }&lt;/code&gt; (the step ends; the model owes nothing).&lt;/li&gt;
&lt;li&gt;Some → &lt;code&gt;executeToolCalls(...)&lt;/code&gt; in &lt;code&gt;tool-calls.ts&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 5: Close the step, decide whether to open another
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;finally: session.append('step/end', { turn, step })&lt;/code&gt; — durable.&lt;/li&gt;
&lt;li&gt;If the step produced a terminal result (&lt;code&gt;turnEnds&lt;/code&gt; is non-null) and the inbox has no &lt;code&gt;next-step&lt;/code&gt; input:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;dispatch.serial('agent/turn-stopping', { turn, signal })&lt;/code&gt; — the &lt;strong&gt;fourth extension point&lt;/strong&gt; (serial, no &lt;code&gt;next&lt;/code&gt;). A listener that objects calls &lt;code&gt;agent.steer(...)&lt;/code&gt; to inject steering; the machine re-reads the inbox and opens another step. If nobody objects, the turn closes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;If there is &lt;code&gt;next-step&lt;/code&gt; input → &lt;code&gt;target = 'next-step'&lt;/code&gt;, back to step 2 for another step (tool continuation).&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Step 6: Close the turn, decide whether to open another
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;finally: session.append('turn/end', { turn, reason: turnEnds })&lt;/code&gt; — durable. &lt;code&gt;reason&lt;/code&gt; is one of &lt;code&gt;completed&lt;/code&gt; / &lt;code&gt;max-tokens&lt;/code&gt; / &lt;code&gt;blocked&lt;/code&gt; / &lt;code&gt;aborted&lt;/code&gt; / &lt;code&gt;error&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;If the inbox still has pending input → reset the &lt;code&gt;AbortController&lt;/code&gt;, &lt;code&gt;step = 0&lt;/code&gt;, return &lt;code&gt;true&lt;/code&gt; (open a new turn). Otherwise → back to &lt;code&gt;idle&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tool Execution: The Three-Stage Pipeline
&lt;/h2&gt;

&lt;p&gt;Tool scheduling in the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; groups calls by &lt;strong&gt;execution mode&lt;/strong&gt;: mutually exclusive calls are a barrier, parallel calls use a bounded rolling pool (&lt;code&gt;maxParallelToolCalls&lt;/code&gt;). Each call runs through a three-stage pipeline, with events mounted on the &lt;code&gt;ctx.tools&lt;/code&gt; scheduler — the attachment point for policy, timeouts, and observability:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tools/pre-execute → tools/execute → tools/post-execute
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;prepare&lt;/code&gt; (pre-execute) may short-circuit into a direct result.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;dispatch&lt;/code&gt; (execute) runs the tool.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;finalize&lt;/code&gt; / &lt;code&gt;finish&lt;/code&gt; (post-execute) wrap up.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two details are worth calling out. First, &lt;strong&gt;results are committed in model order&lt;/strong&gt; (&lt;code&gt;commitReady&lt;/code&gt; advances across consecutive slots), not in completion order — the model's view of the world stays consistent. Second, &lt;code&gt;tool/call&lt;/code&gt; is appended before dispatch (durable), and &lt;code&gt;tool/result&lt;/code&gt; is appended after post-execute (durable, referencing the corresponding call seq). A result's &lt;code&gt;additionalContexts&lt;/code&gt; go into the &lt;code&gt;next-step&lt;/code&gt; inbox and become the context for the next step boundary; a result with &lt;code&gt;concludesTurn&lt;/code&gt; ends the turn early.&lt;/p&gt;

&lt;p&gt;The return value is &lt;code&gt;{ concluded }&lt;/code&gt;: &lt;code&gt;concluded&lt;/code&gt; → &lt;code&gt;{ kind: 'completed' }&lt;/code&gt;; otherwise &lt;code&gt;null&lt;/code&gt; is returned, meaning the tools still owe the model a request — back to 4a for another round.&lt;/p&gt;

&lt;h2&gt;
  
  
  Durable Events vs. Extension Points
&lt;/h2&gt;

&lt;p&gt;The whole design of the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; can be summarized in one diagram: durable events (the record) versus extension points (the seams).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;turn/start (durable)
  claim inbox + assemble prompt
  ─ agent/pre-step (waterfall) reject | enter(messages) ─
  step/start (durable)
  user/message* (durable)
  ─ agent/request (waterfall) swap config ─
  llm/stream → assistant/chunk* (durable) → assistant/message (durable)
  tool/call* (durable) → tools/pre-execute → tools/execute → tools/post-execute → tool/result* (durable)
  ─ agent/request-error (waterfall) retry on failure ─
  step/end (durable)
  tools still owe a request or next-step input → open another step
  ─ agent/turn-stopping (serial) close turn unless continued ─
turn/end (durable)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Extension Point&lt;/th&gt;
&lt;th&gt;Kind&lt;/th&gt;
&lt;th&gt;What a Plugin Can Do&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;agent/pre-step&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;waterfall&lt;/td&gt;
&lt;td&gt;Reject the step, or enter and rewrite the message batch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;agent/request&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;waterfall&lt;/td&gt;
&lt;td&gt;Replace the frozen call config (provider, model, effort, tokens)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;agent/request-error&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;waterfall&lt;/td&gt;
&lt;td&gt;Return &lt;code&gt;{ kind: 'retry' }&lt;/code&gt; to retry the failed step&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;agent/turn-stopping&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;serial&lt;/td&gt;
&lt;td&gt;Object by steering; the loop re-reads the inbox and opens another step&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The lines marked &lt;code&gt;─ ─&lt;/code&gt; are extension points where plugins can hook in (waterfalls must call &lt;code&gt;next()&lt;/code&gt; to pass through). Everything else marked &lt;code&gt;(durable)&lt;/code&gt; is a persisted event written to the session log — fork, resume, transcription, and telemetry all derive from this one stream. The meaning of the design: swapping an adapter, adding policy, or intercepting requests, tools, and turns is a matter of mounting events or replacing a provider — never of modifying the loop itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a Replaceable Agent Loop Matters
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; being a plugin is not an implementation detail; it is the product. Three consequences follow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;No fork required.&lt;/strong&gt; Teams that need a different loop behavior — a different retry policy, a different tool-scheduling strategy, a different turn-closing heuristic — write a plugin that implements &lt;code&gt;Agent&lt;/code&gt;, rather than maintaining a fork of the harness.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Policy lives at the seams.&lt;/strong&gt; Timeouts, approval gates, rate limits, and observability attach to the &lt;code&gt;ctx.tools&lt;/code&gt; scheduler and the four extension points, not inside the loop's code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The log is the contract.&lt;/strong&gt; Because every model-visible artifact is reconstructible from the append-only session log, any loop implementation — default or custom — can be audited, replayed, and resumed through the same tooling.&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;✅ &lt;strong&gt;Best Practice:&lt;/strong&gt; Before writing a custom loop, check whether your need is actually a policy that can be mounted on an existing extension point. The &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; is designed so that most customizations never touch the loop at all.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The DSH Plugins Ecosystem
&lt;/h2&gt;

&lt;p&gt;Because the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; and every other capability are plugins, the ecosystem around them matters as much as the core. The &lt;a href="https://dshplugins.com/" rel="noopener noreferrer"&gt;DSH Plugins&lt;/a&gt; directory is the community hub for discovering and listing plugins for DeepSeek Harness — including loop replacements, tool adapters, model providers, and policy plugins. If you are building for the &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt;, listing your plugin there makes it discoverable to the wider community, and browsing it before you build can save you from reinventing an existing plugin.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Q: Is the DeepSeek Harness agent loop really a plugin?
&lt;/h3&gt;

&lt;p&gt;A: Yes. &lt;code&gt;packages/core/agent-loop&lt;/code&gt; ships &lt;code&gt;ReactLoopAgent&lt;/code&gt; as the default implementation of the &lt;code&gt;Agent&lt;/code&gt; interface from &lt;code&gt;core/agent&lt;/code&gt;. Other plugins depend only on the interface, so the entire loop can be replaced by mounting a different plugin.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What is the difference between a turn and a step in the DeepSeek Harness agent loop?
&lt;/h3&gt;

&lt;p&gt;A: A turn is zero or more steps, opened when the first input arrives and closed when the model owes nothing. A step is one model request plus the tools it calls. Turns and steps both have durable start/end events in the session log.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Where does the model's history come from?
&lt;/h3&gt;

&lt;p&gt;A: It is not stored separately. The &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; projects the model-visible history from the append-only session log via &lt;code&gt;deriveMessages()&lt;/code&gt;. Everything the model can see must be reconstructible from the log.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: What extension points does the DeepSeek Harness agent loop expose?
&lt;/h3&gt;

&lt;p&gt;A: Four: &lt;code&gt;agent/pre-step&lt;/code&gt; (waterfall — reject or rewrite the input batch), &lt;code&gt;agent/request&lt;/code&gt; (waterfall — replace the call config), &lt;code&gt;agent/request-error&lt;/code&gt; (waterfall — retry on failure), and &lt;code&gt;agent/turn-stopping&lt;/code&gt; (serial — object to closing the turn by steering).&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: How are tool results ordered?
&lt;/h3&gt;

&lt;p&gt;A: Results are committed in model order (&lt;code&gt;commitReady&lt;/code&gt; advances across consecutive slots), not in completion order, so the model's view of the world stays consistent.&lt;/p&gt;

&lt;h3&gt;
  
  
  Q: Where can I find plugins for the DeepSeek Harness agent loop?
&lt;/h3&gt;

&lt;p&gt;A: The &lt;a href="https://dshplugins.com/" rel="noopener noreferrer"&gt;DSH Plugins&lt;/a&gt; directory lists community plugins for DeepSeek Harness, including loop replacements, tool adapters, and policy plugins.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;DeepSeek Harness agent loop&lt;/strong&gt; is a masterclass in replaceable architecture. By defining an &lt;code&gt;Agent&lt;/code&gt; interface, shipping &lt;code&gt;ReactLoopAgent&lt;/code&gt; as one implementation among many, persisting every boundary to an append-only log, and exposing four waterfall/serial extension points, the loop turns what is usually the most rigid part of an agent harness into the most flexible one.&lt;/p&gt;

&lt;p&gt;The practical takeaway for developers: you do not need to understand the loop to use it, but understanding it unlocks the seams. Intercept a request at &lt;code&gt;agent/request&lt;/code&gt;, retry a failure at &lt;code&gt;agent/request-error&lt;/code&gt;, gate a turn at &lt;code&gt;agent/turn-stopping&lt;/code&gt;, or replace the whole loop with your own &lt;code&gt;Agent&lt;/code&gt; implementation. And when you build something worth sharing, the &lt;a href="https://dshplugins.com/" rel="noopener noreferrer"&gt;DSH Plugins&lt;/a&gt; directory is where the ecosystem finds it. The loop is the heart of DeepSeek Harness — and it is a heart you can transplant.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Originally published at:&lt;/strong&gt; &lt;a href="https://curateclick.com/blog/deepseek-harness-agent-loop-2026" rel="noopener noreferrer"&gt;DeepSeek Harness Agent Loop 2026: Inside the Replaceable Plugin That Drives Every Turn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
