AIVA
  • Home
  • Voice12 langs
    AI phone agents via Twilio
    Web widget
    Drop-in chat for any site
    SMS
    Two-way text conversations
    SDK
    React, Next, Node, Python
    WorkflowsNew
    Visual automation builder
    Analytics
    Real-time conversation insights
    WhatsAppSoon
    Coming Q3 · join waitlist
    Security
    SOC 2, GDPR, custom DPA
    View all features→All systems normal
  • Pricing
  • Customers
  • Docs
  • About
  • Contact
Sign in
Get started→
Platform
Voice →Web widget →SMS →SDK →Workflows →Analytics →
Company
Pricing →Customers →Docs →About →Contact →Demo →
Sign in →
Get started free

Customer support that actually answers. We are building the future of conversational AI with precision and care.

The shipping log

Monthly: what we shipped + what we learned. No fluff. Read archive →

Get in touch

hello@aivachat.io+91 832 086 0425

Platform

  • Voice
  • Web widget
  • SMS
  • SDK
  • WorkflowsNew
  • WhatsAppSoon
  • Analytics

Resources

  • Documentation
  • API reference
  • Changelog
  • Blog
  • Customer stories
  • Status
  • Book a demo
  • Pricing details

Company

  • About
  • Careers3 open
  • Contact
  • Security

Legal

  • Privacy policy
  • Terms of service
  • Data processing
  • GDPR
  • Cookies
© 2026 AIVA Technologies Pvt. Ltd.
PrivacyTermsSitemap
All systems normal
Made with care in Rajkot. Shipped to 14 countries.

SDK

Built in your stack. Not next to it.

Type-safe, streaming, idiomatic. Three lines for a chat. A couple more for a custom UI.

Get started freeRead SDK docs ›

$npm install aiva-sdkCopy
support.tsxaiva.config.tsaiva-sdk@2.4.0 · TypeScript
import { useAiva } from 'aiva-sdk/react'

export function SupportChat() {
  const { messages, send, status } = useAiva({
    assistant: 'support',
    stream: true
  })

  return (
    <div>
      {messages.map((m) => (
        <Message key={m.id} role={m.role}>
          {m.content}
        </Message>
      ))}
      <Composer onSend={send} />
    </div>
  )
}
Live output · streaming
USER · 09:42
Where's order #4827?
AIVA · streaming
Mumbai → Bengaluru. Arriving Thursday 6 PM. Tracking link sent.
token #28 · 412ms totalLIVE

What makes it different

Designed for developers who ship.

Type-safe by default. Streaming by default. Idiomatic in every framework we support.

Type-safe

Catch the bug before you ship.

Full TypeScript across every method. Autocomplete on every parameter. Your editor knows what useAiva() returns before you finish typing the dot.

Pass an invalid model name? Compile error. Forget a required parameter? Compile error. Catch it before your customer does.

TypeScriptFirst-class
JSDoc on every methodYes
Runtime validationZod schemas
aiva.deploy.tsTypeScript
await aiva.deploy({
  model: 'gpt-4o-realtime',
  channel: 'voce' // ← typo
})
!Type erroron line 3
iDid you mean: 'voice' ?channel: 'voice' | 'web' | 'sms'
Streaming first

First token in 240ms.

Most AI SDKs make you wait for the entire response before showing anything. Ours streams tokens the moment they're available — so your UI feels alive, not frozen.

useAiva() returns a reactive messages array that updates as tokens arrive. No polling, no fetch loops, no special handling required.

First token240ms
Reactive updatesAuto
Backpressure handlingBuilt-in
Token timeline · live
240ms
"Mumbai"
281ms
→ Bengaluru.
340ms
Arriving Thursday 6 PM.
412ms
Tracking link sent.
Avg first-token latency240ms
Framework-native

Idiomatic everywhere.

The React SDK uses hooks. The Next.js SDK uses Server Actions. The Node SDK uses async iterators. The Python SDK uses async generators. We don't make you fight your framework.

Each is a thin layer over the same core, so behavior stays consistent — but you get to write code that looks like the rest of your codebase.

Languages4 first-class
Bundle size (React)8 KB gzipped
Tree-shakeableYes — ESM
⚛
React
const { messages } = useAiva()
Hookaiva-sdk/react
N
Next.js
'use server'; aiva.action()
Server Actionaiva-sdk/next
⬢
Node.js
for await (const t of stream)
Async iter.aiva-sdk
🐍
Python
async for token in aiva
Async gen.aiva-py

Specifications

The numbers you actually need.

Bundle sizes, latency, dependency footprint — the things engineering teams check first.

React bundle
8KB
Gzipped, tree-shakeable. Zero impact on your initial paint.
First token
240ms
Streaming starts faster than your loading spinner can render.
Dependencies
0
No transitive lockfile spaghetti. Everything ships in-tree.
Type coverage
100%
Every method, every parameter, every return type. Strict mode.

Available everywhere

In your package manager of choice.

npm, yarn, pnpm, bun, pip, poetry. Stable releases, semver, fully changelogged.

N
npm
npm i aiva-sdk
Y
Yarn
yarn add aiva-sdk
P
pnpm
pnpm add aiva-sdk
🍞
Bun
bun add aiva-sdk
🐍
pip
pip install aiva
P
Poetry
poetry add aiva
G
GitHub
Source · MIT licensed
+
More languages
Go, Ruby, Rust · soon

In production

Real teams using the SDK.

Vellum integrated AIVA into their developer console in two days. Their engineers never had to leave TypeScript.

We don't trust SDKs that throw on undefined config. AIVA's autocomplete caught three of my bugs before I ran the code. That's how I knew it was real.

V
Vivek Krishnan
Staff Engineer · Vellum
Read the full story ›
Their numbers
2daysFrom npm install to production
2.4kConversations a day
0On-call rotations needed
SDK is included on Growth and Enterprise.
From ₹9,999/mo with 10,000 conversations included. Free 14-day trial of all SDK features.
StarterGrowthEnterprise
See pricing ›

Other capabilities

SDK is one piece. Here's the rest.

All channels run on the same brain — train once, deploy anywhere.

Web widget

Drop-in chat for any site. Three lines, branded for your domain, 40+ languages.

Learn more ›

Voice

AI phone agents in 12 Indian languages. Picks up on the first ring, resolves 96%.

Learn more ›

Workflows

Trigger refunds, lookups, escalations from natural language. 200+ integrations.

Learn more ›

npm i aiva-sdk
and go.

Free for 14 days. MIT licensed. No credit card. Run it locally before signing up if you want.

Get started freeRead the SDK docs ›