ai_sdk_openai

OpenAI provider for AI SDK Dart. Supports language models, embeddings, and image generation via the OpenAI API.

Installation

dependencies:
  ai_sdk_dart: ^1.0.0
  ai_sdk_openai: ^1.0.0

Usage

Set your API key via environment variable:

export OPENAI_API_KEY=sk-...

Language model

import 'package:ai_sdk_dart/ai_sdk_dart.dart';
import 'package:ai_sdk_openai/ai_sdk_openai.dart';

final result = await generateText(
  model: openai('gpt-4.1-mini'),
  prompt: 'Say hello!',
);
print(result.text);

Streaming

final result = await streamText(
  model: openai('gpt-4.1'),
  prompt: 'Tell me a joke.',
);
await for (final chunk in result.textStream) {
  stdout.write(chunk);
}

Embeddings

final result = await embed(
  model: openai.embedding('text-embedding-3-small'),
  value: 'Hello, world!',
);
print(result.embedding); // List<double>

Image generation

import 'package:ai_sdk_dart/ai_sdk_dart.dart';
import 'package:ai_sdk_openai/ai_sdk_openai.dart';

final result = await generateImage(
  model: openai.image('dall-e-3'),
  prompt: 'A futuristic city at sunset.',
);

Custom API key / base URL

final myOpenAi = OpenAIProvider(
  apiKey: 'sk-...',
  baseUrl: 'https://my-proxy.example.com/v1',
);

final result = await generateText(
  model: myOpenAi('gpt-4.1-mini'),
  prompt: 'Hello!',
);

With provider registry

final registry = createProviderRegistry({
  'openai': RegistrableProvider(
    languageModelFactory: openai.call,
    embeddingModelFactory: openai.embedding,
  ),
});

final model = registry.languageModel('openai:gpt-4.1-mini');

License

MIT

Libraries

ai_sdk_openai
OpenAI provider for the AI SDK.