Shaduf.Research preview
Jev: Use Cases, Alternatives & Products/Jev with images: what 8 SDKs and integrations do with an image, and the route counts for Jev 1.14
Research reportChecks , 05:18–05:45 UTC

Jev with images: what 8 SDKs and integrations do with an image, and the route counts for Jev 1.14 (23 Oct 2026)

This dated report records the evidence behind the update of 23 October 2026. It adds Jev with images to the limitations page: what TypeSafe's docs say an image request needs, and what eight SDKs and integrations do when you give them an image. It also records TypeSafe's n8n node 0.10.0 and pydantic-ai-slim 2.60.0 at their new versions, the state of jev-latest nine days after TypeSafe said it would move "in a week", the Jev 1.14 listing on Cloudflare, and OpenAI's Decisions API leaving beta. No image was sent, nothing was installed or run, and no Jev call was made.

Key findings

Images: of 8 integrations read, 5 send images to Jev and 2 of those add TypeSafe's opt-in header for you; pydantic-ai refuses images, and both LangChain packages pass them as text.

Documentedpackage files at the named versions and TypeSafe's docs, read 23 Oct 2026 (5 + 1 + 2 = 8; of the 5, 2 + 3; counts by script)

TypeSafe's n8n node 0.10.0 (ec81714): the failure behaviour in every published cell is unchanged; the release adds an Images field that sends PNG or JPEG files with the opt-in header. No count on the failure map changed.

Documentedsource at tag 0.10.0 compared with 0.9.0 file by file, 23 Oct 2026, 05:23–05:30 UTC (R22-S200 to R22-S227)

Aliases: on 23 Oct 2026, 05:45 UTC, jev-latest still pointed to jev-1.13.0 and jev-preview to jev-1.14.0; TypeSafe had published no date for the move it announced on 14 Oct for "in a week".

DocumentedTypeSafe models page read 05:19 and 05:45 UTC (byte-identical), blog index and the Jev 1.14 post (R22-S05, R22-S08, R22-S09)

Routes: all six routes list a Jev 1.14 model ID, Cloudflare included. A versioned ID can be written on 6 of 6 routes for 1.14 and on 5 of 6 for 1.13 (Cloudflare lists only typesafe/jev for 1.13).

Documentedroute listings and documented examples, not tested requests, 23 Oct 2026, 05:23 UTC (R22-S22 to R22-S30, R22-S45)

OpenAI's Decisions API became generally available on 22 Oct 2026. gpt-6-luna is still the only model and input still costs $0.10 per 1M tokens; requests may now carry up to 400 questions (200 during the beta).

DocumentedOpenAI API changelog and Decisions guide, read 23 Oct 2026, 05:23–05:25 UTC (R22-S32, R22-S47); not re-graded

What 8 integrations do with an image you give them (read in package files, 23 Oct 2026)

  • Sends the image, adds the header for you (2): @ai-sdk/typesafe-ai 3.0.24, TypeSafe's n8n node 0.10.0
  • Sends the image; you set the header (3): @typesafe-ai/sdk 0.7.0, typesafe-sdk 0.7.5, LiteLLM 1.106.1
  • Refuses images before the call (1): pydantic-ai-slim 2.60.0
  • No image type; the image goes to Jev as JSON text (2): @langchain/typesafe 0.0.2, langchain-typesafe 0.0.1a3

One block per integration read. Shades only separate the four groups; they are not the failure-map colours.

What was read, and at which versions

SourceVersion or timeWhat was readSources
TypeSafe docs: images, models, API reference, errors23 Oct 2026, 05:19–05:26 UTCHeader, formats, sending forms, limits, errors, billing; the models page's input rowR22-S100 to R22-S105
@ai-sdk/typesafe-ai3.0.24 (source compared at 3.0.20, 3.0.25 and 3.0.26)Image parts, header condition, rejected media typesR22-S106, R22-S107, R22-S116, R22-S117
@typesafe-ai/sdk and typesafe-sdk0.7.0 and 0.7.5Asset handling and headersR22-S108, R22-S109, R22-S104
pydantic-ai-slim2.57.0, 2.58.0, 2.59.0, 2.60.0 (wheels)TypeSafe provider, profile and model filesR22-S110 to R22-S112, R22-S118
LiteLLM1.106.1 (TypeSafe files the same at 1.106.2)Decisions route: header check, image fetch and inlining, drop_paramsR22-S115, R22-S119
@langchain/typesafe and langchain-typesafe0.0.2 and 0.0.1a3Message conversionR22-S113, R22-S114
TypeSafe's n8n node0.10.0 at ec81714, compared with 0.9.0Node, API, descriptions, helpers, credentials, tests, npm provenanceR22-S200 to R22-S227
Image leads on GitHub and Hacker News23 Oct 2026, 05:26–05:29 UTCjev-gateway PR #67, JevLight PR #2, Jev Cards, Photo Ferret, three issuesR22-S230 to R22-S269

What each integration does with an image

8 integrations read: 5 pass images, 1 refuses them before the call and 2 have no image type. Of the 5, 2 add the opt-in header for you and 3 need you to set it.
IntegrationWith an imageWithout the header, or with a bad image
@ai-sdk/typesafe-ai 3.0.24Sends PNG or JPEG file parts and adds the header itself (also for Box questions since 3.0.21)Other media types and URL data are rejected before the call; size errors come back from the API
TypeSafe's n8n node 0.10.0Sends PNG or JPEG from the item's binary data and adds the header itselfA missing binary, wrong type or bad reference stops the item before the call; the node does not check size
@typesafe-ai/sdk 0.7.0Sends any bytes; you add the headerA URL string or empty data is rejected before the call; otherwise the API returns 400 or 413
typesafe-sdk 0.7.5Sends bytes, a path, base64 or a Pillow image; you add the headerA URL string, empty data or invalid base64 is rejected before the call; otherwise the API returns 400 or 413
LiteLLM 1.106.1Sends PNG or JPEG (URLs fetched and inlined) only when you send the headerRejected before the call; with drop_params on, the image is dropped and the request still goes out
pydantic-ai-slim 2.60.0Refuses the request (UserError) before any callSame: refused before the call
@langchain/typesafe 0.0.2, langchain-typesafe 0.0.1a3No image type: the image goes to Jev as JSON textNo error: Jev decides without seeing the image

TypeSafe's docs, read 23 Oct 2026, 05:19 UTC: images need the TypeSafe-Danger-Zone-Images: true header on each request; PNG or JPEG only, inline base64 or multipart (no URL field is stated); 16 MiB per file and 32 MiB per request; 400 without the header or for a rejected image, 413 over a size limit, and "the whole request fails". Each image is billed as input tokens. TypeSafe still says images "aren't yet up to our standards to call ready for production". The images page says "Jev 1.13 and Jev 1.14 both accept images" while the models page lists the input of both as "Text"; both are quoted on limitations. Documented

Leads that send images to Jev themselves (jev-gateway PR #67, merged 22 Oct and not yet released; JevLight; Jev Cards; Photo Ferret) and three open issues are listed by date on limitations.

Version checks

  • TypeSafe's n8n node 0.10.0 was published on 20 Oct 2026, 15:25 UTC (0.9.0 on 29 Sep), with npm provenance to tag 0.10.0, commit ec81714. Jev error with "continue on fail" off or on, malformed answer, timeout (5,000 ms default, no retries in code), missing key, bypass and "Jev unsure": the same terms as at 0.9.0. Only the data sent changes, when the new Images field is used (R22-S202, R22-S206, R22-S208, R22-S210, R22-S214, R22-S222, R22-S223). Documented
  • pydantic-ai-slim 2.58.0 to 2.60.0: the TypeSafe provider and profile files are byte-identical to 2.57.0, and a request with images still raises UserError before any call. Since 2.59.0, API errors raise subclasses of ModelHTTPError by category and connection failures raise ModelConnectionError (whether it subclasses ModelAPIError was not checked); 2.58.0 added an optional max_retries setting. Its failure term, no-decision, is unchanged (R22-S110 to R22-S112, R22-S118). Documented
  • @ai-sdk/typesafe-ai 3.0.26 and LiteLLM 1.106.2: the TypeSafe source read is the same as at 3.0.24 and 1.106.1 (R22-S116, R22-S119).
  • jev-gateway links: the pinned links on the failure map and the coding-agents page pointed to a GitHub account that now returns HTTP 404; the same commit (37ff982) is at vinilana/jev-gateway, the repository named in its npm record, and the links now point there. The cells are unchanged (R22-S52, R22-S53).

Aliases and routes

On 23 Oct 2026, 05:45 UTC, jev-latest still pointed to jev-1.13.0 and jev-preview to jev-1.14.0 (TypeSafe models page; no date published for the move). TypeSafe's 14 Oct post still says jev-latest "will be updated to jev-1.14.0 in a week" and that jev-1.13.0 "will be available for a while". Sentences on the build, alias and route pages that described the move as upcoming now give this dated state; dated lines and quotes stay as written. Opper's own typesafe/jev-latest still points to 1.13.0. Documented

Cloudflare's AI models catalog, the same catalog as its typesafe/jev page, lists typesafe/jev-1.14.0, and that page's examples send requests that write typesafe/jev-1.14.0, including one with an image asset; the page does not mention TypeSafe's opt-in header. The listing was first seen by this catalogue on 21 Oct 2026 and may have been listed earlier; whether the example request was on the page on 21 Oct is not known. So all six routes list a 1.14 ID, a versioned ID can be written on 6 of 6 routes for 1.14 and on 5 of 6 for 1.13. These are listings and documented examples, not tested requests (R22-S28, R22-S29, R22-S45). Each route's image field, re-read on 23 Oct 2026, 05:23 UTC, is on versions and aliases. Documented

OpenAI's Decisions API leaves beta

OpenAI's API changelog (entry "Oct 22") says "The Decisions API is now generally available with gpt-6-luna", and that "Each request now supports up to 400 questions, increased from 200 in public beta". The guide's price line is unchanged: "uncached input costs $0.10 per 1M tokens … Output tokens are not charged". The guide also lists new features (prompt caching, images in question instructions, JSON input, hosted image URLs, conversation history, usage reporting); they were not graded or compared here. The comparison page and the alternatives rows now give the general-availability status (R22-S32, R22-S47). Documented

Access and notices

Checked 23 Oct 2026, 05:18 UTC: signups open, no free credit for new accounts, API operational (the status page's uptime figure read as the 90-day window is 99.835%; last event resolved 14 Oct). Price $0.042 per million input tokens for jev-1.14.0 and jev-1.13.0, output free. TypeSafe's models, images and Box pages and its quickstart changed size since 21 Oct; the changed lines were not identified, and their access, price, alias, input and limit text reads the same. The home page still shows two notices: no credit for new users, and lookalike reseller sites; none was retired. Documented

Dates the scan covered

This update's scan covered 21 Oct 2026, 05:10 UTC to 23 Oct 2026, 05:18 UTC (48 h 08 min), starting at the previous scan's cutoff, so there is no gap and no overlap; the 72-hour look-back for hosted decision models started 20 Oct, 05:18 UTC. Reddit returned HTTP 403, DEV.to search returned no usable result, and X, YouTube, TikTok and GitHub code search were not searched, so their coverage is unknown.

What was not verified

  • No image was sent and no Jev call was made; nothing was installed or run. Every image row is a reading of TypeSafe's docs or of package files.
  • Whether OpenRouter, Vercel, Opper, Netlify or Cloudflare forward or add TypeSafe's opt-in header.
  • How LiteLLM reports a 413, and its chat path; the exact JSON form of an image in langchain-typesafe; whether a malformed assets object returns 400 or 422; whether ModelConnectionError subclasses ModelAPIError.
  • The n8n node's missing-binary error was read in n8n 2.44.3 only.
  • The lines that changed on TypeSafe's models and images pages since 21 Oct (no earlier copy was kept; copies kept from 23 Oct onward).
  • The jev-gateway image change (PR #67) is not in a release; its failure-map row was read at 0.5.1 and not re-read.
  • OpenAI's new Decisions API features were not graded or compared with Jev.

Method and sources

Package files were downloaded and read at the named versions, not executed; TypeSafe's n8n node was compared file by file between tags 0.9.0 and 0.10.0. The image counts on the limitations page and in this report were computed by script from the table's eight integration rows. Sources read 23 Oct 2026: access and alias checks R22-S01 to R22-S13 and R22-S19 to R22-S21; reseller rechecks R22-S14 to R22-S18; route checks R22-S22 to R22-S31 and R22-S45; OpenAI R22-S32 and R22-S47; jev-gateway links R22-S52 and R22-S53; TypeSafe docs and packages R22-S100 to R22-S119; n8n node and image leads R22-S200 to R22-S269.

Search published pools, pages, reports, and evidence.