QVAC

Unified AI SDK

Local AI: SDK & Model Provider

Run LLMs, speech, vision, image/video generation, and more on any device. Build mobile and desktop apps, or serve local models to your favorite AI tools.

npm install @qvac/sdk
import { loadModel, completion, unloadModel,
  LLAMA_3_2_1B_INST_Q4_0 } from "@qvac/sdk"

const modelId = await loadModel({
  modelSrc: LLAMA_3_2_1B_INST_Q4_0
})

const history = [{ role: "user",
  content: "Explain quantum computing in one sentence" }]

const result = completion({ modelId, history, stream: true })

for await (const token of result.tokenStream) {
  process.stdout.write(token)
}

await unloadModel({ modelId })

Without the cloud

Cloud-grade AI, without the cloud

The SDK runs models on the hardware your users already own, so inference happens where they are, not in a data center. The same code ships to a phone, a laptop, or a server.

  • Runs on every device

    iOS, Android, macOS, Linux and Windows, native mobile in one npm install.

  • Private by architecture

    No prompts and no user data ever leave the device.

  • Free and open

    Apache 2.0, no API keys, no rate limits, no per-token bill.

Quickstart

The same shape for every task

Load a model, call one function. Every modality follows the same pattern. Copy, paste, run.

embed.js
import {
  loadModel, embed,
  EMBEDDINGGEMMA_300M_Q4_0
} from "@qvac/sdk"

const modelId = await loadModel({
  modelSrc: EMBEDDINGGEMMA_300M_Q4_0
})

const { embedding } = await embed({
  modelId,
  text: ["edge inference", "private by default"]
})
// embedding: number[][], 768 dims each

Open ecosystem

Use any model

One loadModel() call for every format the open ecosystem ships: GGUF, Llama, Qwen, Gemma, Stable Diffusion, Whisper, or a QVAC model like MedPsy.

LlamaQwenGemmaMedPsy
Stable DiffusionFLUX
WhisperParakeet
Text
Image
Speech
  • A curated registry of AI models

    Load models from Tether's registry, as simple as using one constant.

  • A HuggingFace model

    Pass a HuggingFace URL and the SDK fetches and runs the GGUF for you.

  • A local file

    Point at any .gguf on disk, including one you quantized yourself.

GGUF for language and embedding models, safetensors for diffusion. One call, every model.

load.js
import { loadModel, LLAMA_3_2_1B_INST_Q4_0 } from '@qvac/sdk'

// 1. a curated registry of AI models (Llama, Qwen, Gemma, ...)
await loadModel({ modelSrc: LLAMA_3_2_1B_INST_Q4_0 })

// 2. any GGUF from HuggingFace
await loadModel({
  modelSrc: 'https://huggingface.co/Qwen/Qwen3.5-4B-GGUF'
})

// 3. a local .gguf file
await loadModel({ modelSrc: './models/my-model.gguf' })

Get started

Run AI on what you own

One install, JavaScript or Python. 10+ AI tasks. Private, offline and free on the hardware you already own.