Developers

Six languages, one spec.

Every client is generated from the same OpenAPI document, so field names, error types, and streaming events line up across languages. Retries, backoff, and timeouts are built in.

  • 6official SDKs
  • 1OpenAPI spec
  • 3built-in retries
  • Weeklyrelease cadence

Python

vantafold

Sync and async clients, typed with Pydantic models.

$pip install vantafold
from vantafold import Vantafold

client = Vantafold()
r = client.reason(model="auto", input="Ping.")
print(r.output_text)

Node

@vantafold/sdk

TypeScript-first, works in Node and any edge runtime with fetch.

$npm install @vantafold/sdk
import { Vantafold } from "@vantafold/sdk";

const client = new Vantafold();
const r = await client.reason({ model: "auto", input: "Ping." });
console.log(r.output_text);

Go

vantafold-go

Context-aware, zero third-party dependencies.

$go get github.com/vantafold/vantafold-go
client := vantafold.New()

r, err := client.Reason(ctx, vantafold.ReasonRequest{
    Model: "auto",
    Input: "Ping.",
})
fmt.Println(r.OutputText)

Ruby

vantafold

Idiomatic Ruby with keyword arguments and lazy streaming enumerators.

$gem install vantafold
require "vantafold"

client = Vantafold::Client.new
r = client.reason(model: "auto", input: "Ping.")
puts r.output_text

Java

ai.vantafold:sdk

Builder-style requests, JDK 17+, works with virtual threads.

$implementation("ai.vantafold:sdk:3.4.0")
var client = new VantafoldClient();

var r = client.reason(ReasonRequest.builder()
    .model("auto")
    .input("Ping.")
    .build());
System.out.println(r.outputText());

Rust

vantafold

Async on Tokio, with typed streaming events.

$cargo add vantafold
let client = Vantafold::from_env()?;

let r = client
    .reason(ReasonRequest::new("auto", "Ping."))
    .await?;
println!("{}", r.output_text);
Shared behaviour

The same guarantees in every language.

Retries and backoff

Idempotent failures retry three times by default with exponential backoff and jitter. Configure or disable it per client.

Typed everything

Requests, responses, streaming events, and errors are typed — Pydantic, TypeScript, Go structs, Sorbet, records, and serde.

Streaming as a first-class shape

Iterators, async iterators, channels, and enumerators — whichever is idiomatic — over the same event stream.

Environment-first config

VANTAFOLD_API_KEY, VANTAFOLD_BASE_URL, and VANTAFOLD_PROJECT are read automatically.

Test mode

Test keys return deterministic fixtures so CI never bills you and never flakes on a provider outage.

Local gateway

A single binary runs the router locally, so integration tests exercise real routing logic offline.

Community clients

Maintained outside Vantafold.

LanguagePackageMaintainerStatus
PHPvantafold/vantafold-phpCommunityActively maintained
Elixirvantafold_exCommunityActively maintained
.NETVantafold.SdkCommunityActively maintained
SwiftVantafoldKitCommunityBeta
Clojurevantafold-cljCommunityBeta

Community clients are not covered by the Vantafold SLA. If you maintain one, tell us and we will list it here.

Install it and send a request.

Two minutes from empty file to first response.