@terramind/ai-sdk-provider
v0.0.1
Published
Terramind AI SDK provider - Access multiple LLM providers through a unified interface
Maintainers
Readme
@terramind/ai-sdk-provider
Use Terramind's unified LLM API with the Vercel AI SDK.
Installation
npm install @terramind/ai-sdk-provider ai
# or
pnpm add @terramind/ai-sdk-provider ai
# or
bun add @terramind/ai-sdk-provider aiQuick Start
import { createTerramind } from '@terramind/ai-sdk-provider'
import { streamText } from 'ai'
// Initialize the provider
const terramind = createTerramind({
apiKey: process.env.TERRAMIND_API_KEY,
})
// Use with any Terramind model
const result = await streamText({
model: terramind('claude-sonnet-4-5'),
prompt: 'Write a haiku about coding',
})
for await (const chunk of result.textStream) {
process.stdout.write(chunk)
}Available Models
Terramind provides access to multiple LLM providers through a single API:
- Claude:
claude-sonnet-4-5,claude-sonnet-4,claude-haiku-4-5,claude-3-5-haiku,claude-opus-4-1 - GPT:
gpt-5,gpt-5-codex - Chinese Models:
glm-4.6,kimi-k2,qwen3-coder - Specialized:
grok-code,big-pickle
Authentication
You can authenticate in two ways:
// 1. Pass API key directly
const terramind = createTerramind({
apiKey: 'your-api-key'
})
// 2. Use environment variable (recommended)
// Set TERRAMIND_API_KEY in your .env file
const terramind = createTerramind()Features
Streaming
import { streamText } from 'ai'
const result = await streamText({
model: terramind('claude-haiku-4-5'),
prompt: 'Explain quantum computing',
})
for await (const chunk of result.textStream) {
process.stdout.write(chunk)
}Tool Calling
import { generateText, tool } from 'ai'
import { z } from 'zod'
const result = await generateText({
model: terramind('claude-sonnet-4-5'),
prompt: 'What is the weather in San Francisco?',
tools: {
getWeather: tool({
description: 'Get the weather for a location',
parameters: z.object({
location: z.string(),
}),
execute: async ({ location }) => ({
temperature: 72,
condition: 'sunny',
location,
}),
}),
},
})
console.log(result.text)Structured Outputs
import { generateObject } from 'ai'
import { z } from 'zod'
const result = await generateObject({
model: terramind('claude-sonnet-4-5'),
schema: z.object({
recipe: z.object({
name: z.string(),
ingredients: z.array(z.string()),
steps: z.array(z.string()),
}),
}),
prompt: 'Generate a recipe for chocolate chip cookies',
})
console.log(result.object.recipe)Configuration Options
interface TerramindProviderSettings {
/**
* Terramind API key. Defaults to process.env.TERRAMIND_API_KEY
*/
apiKey?: string
/**
* Base URL for the Terramind API.
* Defaults to:
* - Production: https://terramind.com/api/v1
* - Development: http://localhost:3002/api/v1
*/
baseURL?: string
}Get an API Key
Visit terramind.com to sign up and get your API key.
Links
License
MIT
