# API Reference

Complete reference documentation for all Go-AI SDK APIs, types, and interfaces.

## Core AI Functions

High-level functions for working with AI models:

- [GenerateText](https://goaisdk.com/docs/reference/ai/generate-text.md) - Generate text completions
- [StreamText](https://goaisdk.com/docs/reference/ai/stream-text.md) - Stream text completions in real-time
- [GenerateObject](https://goaisdk.com/docs/reference/ai/generate-object.md) - Generate structured data
- [StreamObject](https://goaisdk.com/docs/reference/ai/stream-object.md) - Stream structured data
- [Embed](https://goaisdk.com/docs/reference/ai/embed.md) - Generate embeddings for text
- [EmbedMany](https://goaisdk.com/docs/reference/ai/embed-many.md) - Generate embeddings for multiple texts
- [Rerank](https://goaisdk.com/docs/reference/ai/rerank.md) - Rerank documents by relevance
- [GenerateImage](https://goaisdk.com/docs/reference/ai/generate-image.md) - Generate images from text
- [Transcribe](https://goaisdk.com/docs/reference/ai/transcribe.md) - Transcribe audio to text
- [GenerateSpeech](https://goaisdk.com/docs/reference/ai/generate-speech.md) - Generate speech from text
- [Agent](https://goaisdk.com/docs/reference/ai/agent.md) - The `agent.Agent` interface (in `pkg/agent`)
- [ToolLoopAgent](https://goaisdk.com/docs/reference/ai/tool-loop-agent.md) - `agent.ToolLoopAgent`, the SDK's tool-using agent (in `pkg/agent`)

## Tool & Helper APIs

Functions for working with tools and utilities:

- [Tool](https://goaisdk.com/docs/reference/ai/tool.md) - Define tools for AI models
- [Dynamic Tools](https://goaisdk.com/docs/reference/ai/dynamic-tool.md) - Register tools at runtime
- [CosineSimilarity](https://goaisdk.com/docs/reference/ai/cosine-similarity.md) - Calculate similarity between vectors
- [IsStepCount](https://goaisdk.com/docs/reference/ai/step-count-is.md) - Stop condition: stop after n steps
- [HasToolCall](https://goaisdk.com/docs/reference/ai/has-tool-call.md) - Stop condition: stop when a tool is called
- [StopCondition](https://goaisdk.com/docs/reference/ai/stop-condition.md) - The StopCondition type and StopWhen evaluation
- [GenerateID](https://goaisdk.com/docs/reference/ai/generate-id.md) - Generate unique IDs
- [Callback Events](https://goaisdk.com/docs/reference/ai/callback-events.md) - Structured lifecycle events for observability
- [Stream Transport Helpers](https://goaisdk.com/docs/reference/ai/stream-transport-helpers.md) - Convert stream results to HTTP-friendly payloads
- [Agent UI Stream Helpers](https://goaisdk.com/docs/reference/ai/agent-ui-stream-helpers.md) - Bridge ToolLoopAgent streams to UI transport
- [Middleware Aliases](https://goaisdk.com/docs/reference/ai/middleware-aliases.md) - Middleware APIs re-exported from pkg/ai

## Type Definitions

Core types used throughout the SDK:

- [Messages](https://goaisdk.com/docs/reference/types/messages.md) - Message types and structures
- [Tools](https://goaisdk.com/docs/reference/types/tools.md) - Tool definition types
- [Usage](https://goaisdk.com/docs/reference/types/usage.md) - Token usage tracking types
- [Errors](https://goaisdk.com/docs/reference/types/errors.md) - Error types and handling

## Provider Interfaces

Interfaces for implementing custom providers:

- [LanguageModel](https://goaisdk.com/docs/reference/providers/language-model.md) - Language model interface
- [EmbeddingModel](https://goaisdk.com/docs/reference/providers/embedding-model.md) - Embedding model interface
- [ImageModel](https://goaisdk.com/docs/reference/providers/image-model.md) - Image generation interface
- [SpeechModel](https://goaisdk.com/docs/reference/providers/speech-model.md) - Speech synthesis interface
- [TranscriptionModel](https://goaisdk.com/docs/reference/providers/transcription-model.md) - Audio transcription interface
- [CustomProvider](https://goaisdk.com/docs/reference/providers/custom-provider.md) - Create custom providers

## Middleware

Middleware system for modifying model behavior:

- [WrapLanguageModel](https://goaisdk.com/docs/reference/middleware/wrap-language-model.md) - Wrap models with middleware
- [MiddlewareInterface](https://goaisdk.com/docs/reference/middleware/middleware-interface.md) - Middleware interface specification
- [BuiltInMiddleware](https://goaisdk.com/docs/reference/middleware/built-in-middleware.md) - Built-in middleware functions

## Schema & Registry

Schema validation and provider registry:

- [JSONSchema](https://goaisdk.com/docs/reference/schema/json-schema.md) - JSON schema definitions
- [ProviderRegistry](https://goaisdk.com/docs/reference/registry/provider-registry.md) - Provider registration system

## Error Types

Comprehensive error reference:

- [Error Types Overview](https://goaisdk.com/docs/reference/types/errors.md) - All error types and handling

## Integrations (experimental)

Adapters and experimental runtimes added in v0.5.0:

- [Code Mode](https://goaisdk.com/docs/reference/ai/code-mode.md) - Run model-written JavaScript that calls host tools, in a QuickJS-on-WebAssembly sandbox
- [Harness Sandbox: Vercel](https://goaisdk.com/docs/reference/ai/harness-sandbox-vercel.md) - Run harness sandboxes on Vercel Sandbox
- [LlamaIndex Adapter](https://goaisdk.com/docs/reference/ai/llamaindex.md) - Convert a LlamaIndex chat-engine stream to UI message stream chunks

## See Also

- [Getting Started Guide](https://goaisdk.com/docs/getting-started.md)
- [AI SDK Core](https://goaisdk.com/docs/ai-sdk-core/overview.md)
- [Provider Documentation](https://goaisdk.com/docs/providers.md)
