@runcrate/ai
v0.1.5
Published
Runcrate provider for Vercel AI SDK
Maintainers
Readme
@runcrate/ai
Runcrate provider for the Vercel AI SDK.
Installation
npm install @runcrate/ai aiSetup
Set your Runcrate API key:
export RUNCRATE_API_KEY=rc_live_...Or pass it directly when creating the provider.
Usage
Text Generation
import { runcrate } from '@runcrate/ai';
import { generateText } from 'ai';
const { text } = await generateText({
model: runcrate('deepseek-ai/DeepSeek-V3'),
prompt: 'Explain quantum computing in simple terms.',
});
console.log(text);Streaming
import { runcrate } from '@runcrate/ai';
import { streamText } from 'ai';
const result = streamText({
model: runcrate('deepseek-ai/DeepSeek-V3'),
prompt: 'Write a short story about a robot.',
});
for await (const chunk of result.textStream) {
process.stdout.write(chunk);
}Chat Messages
import { runcrate } from '@runcrate/ai';
import { generateText } from 'ai';
const { text } = await generateText({
model: runcrate('meta-llama/Llama-3.3-70B-Instruct'),
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
{ role: 'user', content: 'What is the capital of France?' },
],
});Structured Output
import { runcrate } from '@runcrate/ai';
import { generateText, Output } from 'ai';
import { z } from 'zod';
const { output } = await generateText({
model: runcrate('deepseek-ai/DeepSeek-V3'),
output: Output.object({
schema: 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(output);Image Generation
import { runcrate } from '@runcrate/ai';
import { generateImage } from 'ai';
const { image } = await generateImage({
model: runcrate.imageModel('black-forest-labs/FLUX.1-schnell'),
prompt: 'A futuristic cityscape at sunset',
size: '1024x768',
});
console.log(image.base64); // base64 encoded imageEmbeddings
import { runcrate } from '@runcrate/ai';
import { embed } from 'ai';
const { embedding } = await embed({
model: runcrate.embeddingModel('BAAI/bge-large-en-v1.5'),
value: 'The quick brown fox jumps over the lazy dog',
});
console.log(embedding); // float arrayCustom Configuration
import { createRuncrate } from '@runcrate/ai';
const runcrate = createRuncrate({
apiKey: 'rc_live_...',
baseURL: 'https://api.runcrate.ai/v1', // default
headers: {
'X-Custom-Header': 'value',
},
});Available Models
Chat Models
| Model ID | Description |
|----------|-------------|
| deepseek-ai/DeepSeek-V3 | DeepSeek V3 |
| deepseek-ai/DeepSeek-R1 | DeepSeek R1 (reasoning) |
| meta-llama/Llama-3.3-70B-Instruct | Llama 3.3 70B |
| meta-llama/Llama-3.1-405B-Instruct | Llama 3.1 405B |
| Qwen/Qwen2.5-72B-Instruct | Qwen 2.5 72B |
| Qwen/QwQ-32B | QwQ 32B (reasoning) |
| mistralai/Mistral-Large-Instruct-2411 | Mistral Large |
| microsoft/phi-4 | Phi-4 |
Image Models
| Model ID | Description |
|----------|-------------|
| black-forest-labs/FLUX.1-schnell | FLUX.1 Schnell (fast) |
| black-forest-labs/FLUX.1-dev | FLUX.1 Dev |
| black-forest-labs/FLUX.1-pro | FLUX.1 Pro |
| ideogram-ai/ideogram-v2 | Ideogram V2 |
| recraft-ai/recraft-v3 | Recraft V3 |
| stabilityai/sd3.5-large | Stable Diffusion 3.5 Large |
Embedding Models
| Model ID | Description |
|----------|-------------|
| BAAI/bge-large-en-v1.5 | BGE Large English |
| BAAI/bge-base-en-v1.5 | BGE Base English |
| sentence-transformers/all-MiniLM-L6-v2 | MiniLM L6 v2 |
See the full model catalog at runcrate.ai/models.
Model Settings
const { text } = await generateText({
model: runcrate('deepseek-ai/DeepSeek-V3', {
maxTokens: 1000,
temperature: 0.7,
topP: 0.9,
}),
prompt: 'Hello!',
});License
MIT
