# @ai-sdk/provider ## 3.0.8 ### Patch Changes - 7168375: feat (ai, provider): default global provider video model resolution ## 3.0.7 ### Patch Changes - 53f6731: feat (ai, provider): experimental generate video support ## 3.0.6 ### Patch Changes - 2810850: fix(ai): improve type validation error messages with field paths and entity identifiers ## 3.0.5 ### Patch Changes - 4de5a1d: chore: excluded tests from src folder in npm package ## 3.0.4 ### Patch Changes - 5c090e7: fix(ai): fix LanguageModelV2ProviderTool type ## 3.0.3 ### Patch Changes - 1b11dcb: chore(ai): include sources in npm package ## 3.0.2 ### Patch Changes - d937c8f: Add Image model middleware support via `wrapImageModel` and `ImageModelV3Middleware`. ## 3.0.1 ### Patch Changes - 863d34f: fix: trigger release to update `@latest` ## 3.0.0 ### Major Changes - dee8b05: ai SDK 6 beta ### Minor Changes - 78928cb: release: start 5.1 beta ### Patch Changes - 0c3b58b: fix(provider): add specificationVersion to ProviderV3 - 0adc679: feat(provider): shared spec v3 - d1bdadb: Added reranking model - 046aa3b: feat(provider): speech model v3 spec - 8d9e8ad: chore(provider): remove generics from EmbeddingModelV3 Before ```ts model.textEmbeddingModel('my-model-id'); ``` After ```ts model.embeddingModel('my-model-id'); ``` - dce03c4: feat: tool input examples - 2625a04: feat(openai); update spec for mcp approval - 37c58a0: This release introduces `wrapEmbeddingModel`, a new helper that brings embedding model customization capabilities similar to `wrapLanguageModel`. - 2b0caef: feat(provider): add preliminary provider executed tool results to language model specification - 954c356: feat(openai): allow custom names for provider-defined tools - 544d4e8: chore(specification): rename v3 provider defined tool to provider tool - 0c4822d: feat: `EmbeddingModelV3` - 4c44a5b: fix(spec): allow `undefined` values in `JSONObject` type - e8109d3: feat: tool execution approval - ed329cb: feat: `Provider-V3` - 53f3368: feat(provider): support embedding model call warnings in specification - 3bd2689: feat: extended token usage - bb36798: fix(spec): `LanguageModelV3ToolResult["result"]` change from `unknown` to `NonNullable` - 8dac895: feat: `LanguageModelV3` - a755db5: feat(provider): Add SharedV3Warning type - 475189e: chore(specification): rename EmbeddingModelCallOptions - 457318b: chore(provider,ai): switch to SharedV3Warning and unified warnings - b681d7d: feat: expose usage tokens for 'generateImage' function - db913bd: fix(google): add thought signature to gemini 3 pro image parts - 9061dc0: feat: image editing - 366f50b: chore(provider): add deprecated textEmbeddingModel and textEmbedding aliases - 81d4308: feat: provider-executed dynamic tools - 9549c9e: chore(specification): extract types - af3780b: chore(provider): remove providerExecuted from LanguageModelV3ToolResult - 522f6b8: feat: `ImageModelV3` - 10d819b: fix(packages/provider): fix CallWarning and allow strings as type - 3794514: feat: flexible tool output content support - cbf52cd: feat: expose raw finish reason - 1bd7d32: feat: tool-specific strict mode ## 3.0.0-beta.32 ### Patch Changes - 475189e: chore(specification): rename EmbeddingModelCallOptions ## 3.0.0-beta.31 ### Patch Changes - 2625a04: feat(openai); update spec for mcp approval ## 3.0.0-beta.30 ### Patch Changes - cbf52cd: feat: expose raw finish reason ## 3.0.0-beta.29 ### Patch Changes - 9549c9e: chore(specification): extract types ## 3.0.0-beta.28 ### Patch Changes - 9061dc0: feat: image editing ## 3.0.0-beta.27 ### Patch Changes - 366f50b: chore(provider): add deprecated textEmbeddingModel and textEmbedding aliases ## 3.0.0-beta.26 ### Patch Changes - 3bd2689: feat: extended token usage ## 3.0.0-beta.25 ### Patch Changes - 53f3368: feat(provider): support embedding model call warnings in specification ## 3.0.0-beta.24 ### Patch Changes - dce03c4: feat: tool input examples ## 3.0.0-beta.23 ### Patch Changes - 1bd7d32: feat: tool-specific strict mode ## 3.0.0-beta.22 ### Patch Changes - 544d4e8: chore(specification): rename v3 provider defined tool to provider tool ## 3.0.0-beta.21 ### Patch Changes - 954c356: feat(openai): allow custom names for provider-defined tools ## 3.0.0-beta.20 ### Patch Changes - 457318b: chore(provider,ai): switch to SharedV3Warning and unified warnings ## 3.0.0-beta.19 ### Patch Changes - 8d9e8ad: chore(provider): remove generics from EmbeddingModelV3 Before ```ts model.textEmbeddingModel('my-model-id'); ``` After ```ts model.embeddingModel('my-model-id'); ``` ## 3.0.0-beta.18 ### Patch Changes - 10d819b: fix(packages/provider): fix CallWarning and allow strings as type ## 3.0.0-beta.17 ### Patch Changes - db913bd: fix(google): add thought signature to gemini 3 pro image parts ## 3.0.0-beta.16 ### Patch Changes - b681d7d: feat: expose usage tokens for 'generateImage' function ## 3.0.0-beta.15 ### Patch Changes - bb36798: fix(spec): `LanguageModelV3ToolResult["result"]` change from `unknown` to `NonNullable` ## 3.0.0-beta.14 ### Patch Changes - af3780b: chore(provider): remove providerExecuted from LanguageModelV3ToolResult ## 3.0.0-beta.13 ### Patch Changes - 37c58a0: This release introduces `wrapEmbeddingModel`, a new helper that brings embedding model customization capabilities similar to `wrapLanguageModel`. ## 3.0.0-beta.12 ### Patch Changes - d1bdadb: Added reranking model ## 3.0.0-beta.11 ### Patch Changes - 4c44a5b: fix(spec): allow `undefined` values in `JSONObject` type ## 3.0.0-beta.10 ### Patch Changes - 0c3b58b: fix(provider): add specificationVersion to ProviderV3 ## 3.0.0-beta.9 ### Patch Changes - a755db5: feat(provider): Add SharedV3Warning type ## 3.0.0-beta.8 ### Patch Changes - 3794514: feat: flexible tool output content support ## 3.0.0-beta.7 ### Patch Changes - 81d4308: feat: provider-executed dynamic tools ## 3.0.0-beta.6 ### Major Changes - dee8b05: ai SDK 6 beta ## 2.1.0-beta.5 ### Patch Changes - 046aa3b: feat(provider): speech model v3 spec - e8109d3: feat: tool execution approval ## 2.1.0-beta.4 ### Patch Changes - 0adc679: feat(provider): shared spec v3 - 2b0caef: feat(provider): add preliminary provider executed tool results to language model specification ## 2.1.0-beta.3 ### Patch Changes - 8dac895: feat: `LanguageModelV3` ## 2.1.0-beta.2 ### Patch Changes - ed329cb: feat: `Provider-V3` - 522f6b8: feat: `ImageModelV3` ## 2.1.0-beta.1 ### Patch Changes - 0c4822d: feat: `EmbeddingModelV3` ## 2.1.0-beta.0 ### Minor Changes - 78928cb: release: start 5.1 beta ## 2.0.0 ### Major Changes - 742b7be: feat: forward id, streaming start, streaming end of content blocks - 7cddb72: refactoring (provider): collapse provider defined tools into single definition - ccce59b: feat (provider): support changing provider, model, supportedUrls in middleware - e2b9e4b: feat (provider): add name for provider defined tools for future validation - 95857aa: chore: restructure language model supported urls - 6f6bb89: chore (provider): cleanup request and rawRequest (language model v2) - d1a1aa1: chore (provider): merge rawRequest into request (language model v2) - 63f9e9b: chore (provider,ai): tools have input/output instead of args,result - d5f588f: AI SDK 5 - b6b43c7: chore: move warnings into stream-start part (spec) - 411e483: chore (provider): refactor usage (language model v2) - abf9a79: chore: rename mimeType to mediaType - 14c9410: chore: refactor file towards source pattern (spec) - e86be6f: chore: remove logprobs - 0d06df6: chore (ai): remove v1 providers - d9c98f4: chore: refactor reasoning parts (spec) - a3f768e: chore: restructure reasoning support - 7435eb5: feat: upgrade speech models to v2 specification - 0054544: chore: refactor source parts (spec) - 9e9c809: chore: refactor tool call and tool call delta parts (spec) - 32831c6: chore: refactor text parts (spec) - 6dc848c: chore (provider): remove image parts - d0f9495: chore: refactor file parts (spec) - 7979f7f: feat (provider): support reasoning tokens, cached input tokens, total token in usage information - 44f4aba: feat: upgrade transcription models to v2 specification - 7ea4132: chore: remove object generation mode - 023ba40: feat (provider): support arbitrary media types in tool results - e030615: chore (provider): remove prompt type from language model v2 spec - 5e57fae: refactoring (provider): restructure tool result output - c57e248: chore (provider): remove mode - 3795467: chore: return content array from doGenerate (spec) - 1766ede: chore: rename maxTokens to maxOutputTokens - 33f4a6a: chore (provider): rename providerMetadata inputs to providerOptions ### Patch Changes - dc714f3: release alpha.4 - b5da06a: update to LanguageModelV2ProviderDefinedClientTool to add server side tool later on - 48d257a: release alpha.15 - 0d2c085: chore (provider): tweak provider definition - 9222aeb: release alpha.8 - e2aceaf: feat: add raw chunk support - 7b3ae3f: chore (provider): change getSupportedUrls to supportedUrls (language model v2) - a166433: feat: add transcription with experimental_transcribe - 26735b5: chore(embedding-model): add v2 interface - 443d8ec: feat(embedding-model-v2): add response body field - a8c8bd5: feat(embed-many): respect supportsParallelCalls & concurrency - 9bf7291: chore(providers/openai): enable structuredOutputs by default & switch to provider option - 2e13791: feat(anthropic): add server-side web search support - 472524a: spec (ai): add provider options to tools - dd3ff01: chore: add language setting to speechv2 - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2` - 0a87932: core (ai): change transcription model mimeType to mediaType - c4a2fec: chore (provider): extract shared provider options and metadata (spec) - 79457bd: chore (provider): extract LanguageModelV2File - 8aa9e20: feat: add speech with experimental_generateSpeech - 4617fab: chore(embedding-models): remove remaining settings - cb68df0: feat: add transcription and speech model support to provider registry - ad80501: chore (provider): allow both binary and base64 file content (spec) Before ```ts import { convertUint8ArrayToBase64 } from '@ai-sdk/provider-utils'; // Had to manually convert binary data to base64 const fileData = new Uint8Array([0, 1, 2, 3]); const filePart = { type: 'file', mediaType: 'application/pdf', data: convertUint8ArrayToBase64(fileData), // Required conversion }; ``` After ```ts // Can use binary data directly const fileData = new Uint8Array([0, 1, 2, 3]); const filePart = { type: 'file', mediaType: 'application/pdf', data: fileData, // Direct Uint8Array support }; ``` - 68ecf2f: release alpha.13 - 6b98118: release alpha.3 - 3f2f00c: feat: `ImageModelV2#maxImagesPerCall` can be set to a function that returns a `number` or `undefined`, optionally as a promise pull request: https://github.com/vercel/ai/pull/6343 - 9bd5ab5: feat (provider): add providerMetadata to ImageModelV2 interface (#5977) The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models. ```js const prompt = 'Santa Claus driving a Cadillac'; const { providerMetadata } = await experimental_generateImage({ model: openai.image('dall-e-3'), prompt, }); const revisedPrompt = providerMetadata.openai.images[0]?.revisedPrompt; console.log({ prompt, revisedPrompt, }); ``` - 5c56081: release alpha.7 - fd65bc6: chore(embedding-model-v2): rename rawResponse to response - 26535e0: release alpha.2 - 393138b: feat(embedding-model-v2): add providerOptions - 7182d14: Remove `Experimental_LanguageModelV2Middleware` type - c1e6647: release alpha.11 - 811dff3: release alpha.9 - f10304b: feat(tool-calling): don't require the user to have to pass parameters - 27deb4d: feat (provider/gateway): Add providerMetadata to embeddings response - c4df419: release alpha.10 ## 2.0.0-beta.2 ### Patch Changes - 27deb4d: feat (provider/gateway): Add providerMetadata to embeddings response ## 2.0.0-beta.1 ### Major Changes - 742b7be: feat: forward id, streaming start, streaming end of content blocks - 7cddb72: refactoring (provider): collapse provider defined tools into single definition - ccce59b: feat (provider): support changing provider, model, supportedUrls in middleware - e2b9e4b: feat (provider): add name for provider defined tools for future validation - 0d06df6: chore (ai): remove v1 providers - 7435eb5: feat: upgrade speech models to v2 specification - 44f4aba: feat: upgrade transcription models to v2 specification - 023ba40: feat (provider): support arbitrary media types in tool results - 5e57fae: refactoring (provider): restructure tool result output ### Patch Changes - 472524a: spec (ai): add provider options to tools - dd3ff01: chore: add language setting to speechv2 - cb68df0: feat: add transcription and speech model support to provider registry ## 2.0.0-alpha.15 ### Patch Changes - 48d257a: release alpha.15 ## 2.0.0-alpha.14 ### Major Changes - 63f9e9b: chore (provider,ai): tools have input/output instead of args,result ### Patch Changes - b5da06a: update to LanguageModelV2ProviderDefinedClientTool to add server side tool later on - 2e13791: feat(anthropic): add server-side web search support ## 2.0.0-alpha.13 ### Patch Changes - 68ecf2f: release alpha.13 ## 2.0.0-alpha.12 ### Patch Changes - e2aceaf: feat: add raw chunk support ## 2.0.0-alpha.11 ### Patch Changes - c1e6647: release alpha.11 ## 2.0.0-alpha.10 ### Patch Changes - c4df419: release alpha.10 ## 2.0.0-alpha.9 ### Patch Changes - 811dff3: release alpha.9 ## 2.0.0-alpha.8 ### Patch Changes - 9222aeb: release alpha.8 ## 2.0.0-alpha.7 ### Patch Changes - 5c56081: release alpha.7 ## 2.0.0-alpha.6 ### Patch Changes - 0d2c085: chore (provider): tweak provider definition ## 2.0.0-alpha.4 ### Patch Changes - dc714f3: release alpha.4 ## 2.0.0-alpha.3 ### Patch Changes - 6b98118: release alpha.3 ## 2.0.0-alpha.2 ### Patch Changes - 26535e0: release alpha.2 ## 2.0.0-alpha.1 ### Patch Changes - 3f2f00c: feat: `ImageModelV2#maxImagesPerCall` can be set to a function that returns a `number` or `undefined`, optionally as a promise pull request: https://github.com/vercel/ai/pull/6343 ## 2.0.0-canary.14 ### Major Changes - 7979f7f: feat (provider): support reasoning tokens, cached input tokens, total token in usage information ### Patch Changes - a8c8bd5: feat(embed-many): respect supportsParallelCalls & concurrency ## 2.0.0-canary.13 ### Patch Changes - 9bd5ab5: feat (provider): add providerMetadata to ImageModelV2 interface (#5977) The `experimental_generateImage` method from the `ai` package now returnes revised prompts for OpenAI's image models. ```js const prompt = 'Santa Claus driving a Cadillac'; const { providerMetadata } = await experimental_generateImage({ model: openai.image('dall-e-3'), prompt, }); const revisedPrompt = providerMetadata.openai.images[0]?.revisedPrompt; console.log({ prompt, revisedPrompt, }); ``` ## 2.0.0-canary.12 ### Patch Changes - 7b3ae3f: chore (provider): change getSupportedUrls to supportedUrls (language model v2) ## 2.0.0-canary.11 ### Major Changes - e030615: chore (provider): remove prompt type from language model v2 spec ### Patch Changes - 9bf7291: chore(providers/openai): enable structuredOutputs by default & switch to provider option - 4617fab: chore(embedding-models): remove remaining settings ## 2.0.0-canary.10 ### Major Changes - a3f768e: chore: restructure reasoning support ### Patch Changes - 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2` ## 2.0.0-canary.9 ### Major Changes - e86be6f: chore: remove logprobs ## 2.0.0-canary.8 ### Major Changes - 95857aa: chore: restructure language model supported urls - 7ea4132: chore: remove object generation mode ## 2.0.0-canary.7 ### Major Changes - b6b43c7: chore: move warnings into stream-start part (spec) - 3795467: chore: return content array from doGenerate (spec) ### Patch Changes - 8aa9e20: feat: add speech with experimental_generateSpeech ## 2.0.0-canary.6 ### Major Changes - 14c9410: chore: refactor file towards source pattern (spec) - d9c98f4: chore: refactor reasoning parts (spec) - 0054544: chore: refactor source parts (spec) - 9e9c809: chore: refactor tool call and tool call delta parts (spec) - 32831c6: chore: refactor text parts (spec) - d0f9495: chore: refactor file parts (spec) ### Patch Changes - 26735b5: chore(embedding-model): add v2 interface - 443d8ec: feat(embedding-model-v2): add response body field - c4a2fec: chore (provider): extract shared provider options and metadata (spec) - fd65bc6: chore(embedding-model-v2): rename rawResponse to response - 393138b: feat(embedding-model-v2): add providerOptions - 7182d14: Remove `Experimental_LanguageModelV2Middleware` type ## 2.0.0-canary.5 ### Major Changes - 411e483: chore (provider): refactor usage (language model v2) - ad80501: chore (provider): allow both binary and base64 file content (spec) - 1766ede: chore: rename maxTokens to maxOutputTokens ### Patch Changes - 79457bd: chore (provider): extract LanguageModelV2File - f10304b: feat(tool-calling): don't require the user to have to pass parameters ## 2.0.0-canary.4 ### Major Changes - 6f6bb89: chore (provider): cleanup request and rawRequest (language model v2) ## 2.0.0-canary.3 ### Major Changes - d1a1aa1: chore (provider): merge rawRequest into request (language model v2) ## 2.0.0-canary.2 ### Major Changes - abf9a79: chore: rename mimeType to mediaType - 6dc848c: chore (provider): remove image parts ### Patch Changes - a166433: feat: add transcription with experimental_transcribe - 0a87932: core (ai): change transcription model mimeType to mediaType ## 2.0.0-canary.1 ### Major Changes - c57e248: chore (provider): remove mode - 33f4a6a: chore (provider): rename providerMetadata inputs to providerOptions ## 2.0.0-canary.0 ### Major Changes - d5f588f: AI SDK 5 ## 1.1.0 ### Minor Changes - 5bc638d: AI SDK 4.2 ## 1.0.12 ### Patch Changes - 0bd5bc6: feat (ai): support model-generated files ## 1.0.11 ### Patch Changes - 2e1101a: feat (provider/openai): pdf input support ## 1.0.10 ### Patch Changes - e1d3d42: feat (ai): expose raw response body in generateText and generateObject ## 1.0.9 ### Patch Changes - ddf9740: feat (ai): add anthropic reasoning ## 1.0.8 ### Patch Changes - 2761f06: fix (ai/provider): publish with LanguageModelV1Source ## 1.0.7 ### Patch Changes - d89c3b9: feat (provider): add image model support to provider specification ## 1.0.6 ### Patch Changes - 3a58a2e: feat (ai/core): throw NoImageGeneratedError from generateImage when no predictions are returned. ## 1.0.5 ### Patch Changes - 0a699f1: feat: add reasoning token support ## 1.0.4 ### Patch Changes - 19a2ce7: feat (provider): add message option to UnsupportedFunctionalityError - 6337688: feat: change image generation errors to warnings ## 1.0.3 ### Patch Changes - 5ed5e45: chore (config): Use ts-library.json tsconfig for no-UI libs. ## 1.0.2 ### Patch Changes - 09a9cab: feat (ai/core): add experimental generateImage function ## 1.0.1 ### Patch Changes - b446ae5: feat (provider): Define type for ObjectGenerationMode. ## 1.0.0 ### Major Changes - b469a7e: chore: remove isXXXError methods - c0ddc24: chore (ai): remove toJSON method from AI SDK errors ## 1.0.0-canary.0 ### Major Changes - b469a7e: chore: remove isXXXError methods - c0ddc24: chore (ai): remove toJSON method from AI SDK errors ## 0.0.26 ### Patch Changes - aa98cdb: chore: more flexible dependency versioning - 1486128: feat: add supportsUrl to language model specification - 7b937c5: feat (provider-utils): improve id generator robustness - 3b1b69a: feat: provider-defined tools - 811a317: feat (ai/core): multi-part tool results (incl. images) ## 0.0.25 ### Patch Changes - b9b0d7b: feat (ai): access raw request body ## 0.0.24 ### Patch Changes - d595d0d: feat (ai/core): file content parts ## 0.0.23 ### Patch Changes - 03313cd: feat (ai): expose response id, response model, response timestamp in telemetry and api - 3be7c1c: fix (provider/anthropic): support prompt caching on assistant messages ## 0.0.22 ### Patch Changes - 26515cb: feat (ai/provider): introduce ProviderV1 specification ## 0.0.21 ### Patch Changes - f2c025e: feat (ai/core): prompt validation ## 0.0.20 ### Patch Changes - 6ac355e: feat (provider/anthropic): add cache control support ## 0.0.19 ### Patch Changes - dd4a0f5: fix (ai/provider): remove invalid check in isJSONParseError ## 0.0.18 ### Patch Changes - 4bd27a9: chore (ai/provider): refactor type validation ## 0.0.17 ### Patch Changes - 029af4c: feat (ai/core): support schema name & description in generateObject & streamObject ## 0.0.16 ### Patch Changes - d58517b: feat (ai/openai): structured outputs ## 0.0.15 ### Patch Changes - 96aed25: fix (ai/provider): release new version ## 0.0.14 ### Patch Changes - a8d1c9e9: feat (ai/core): parallel image download ## 0.0.13 ### Patch Changes - 2b9da0f0: feat (core): support stopSequences setting. - a5b58845: feat (core): support topK setting - 4aa8deb3: feat (provider): support responseFormat setting in provider api - 13b27ec6: chore (ai/core): remove grammar mode ## 0.0.12 ### Patch Changes - b7290943: feat (ai/core): add token usage to embed and embedMany ## 0.0.11 ### Patch Changes - 5edc6110: feat (provider): add headers support to language and embedding model spec ## 0.0.10 ### Patch Changes - 102ca22f: fix (@ai-sdk/provider): fix TypeValidationError.isTypeValidationError ## 0.0.9 ### Patch Changes - 09295e2e: feat (@ai-sdk/provider): add DownloadError ## 0.0.8 ### Patch Changes - f39c0dd2: feat (provider): add toolChoice to language model specification ## 0.0.7 ### Patch Changes - 8e780288: feat (ai/provider): add "unknown" finish reason (for models that don't provide a finish reason) ## 0.0.6 ### Patch Changes - 6a50ac4: feat (provider): add additional error types ## 0.0.5 ### Patch Changes - 0f6bc4e: feat (ai/core): add embed function ## 0.0.4 ### Patch Changes - 325ca55: feat (ai/core): improve image content part error message ## 0.0.3 ### Patch Changes - 41d5736: ai/core: re-expose language model types. ## 0.0.2 ### Patch Changes - d6431ae: ai/core: add logprobs support (thanks @SamStenner for the contribution) - 25f3350: ai/core: add support for getting raw response headers. ## 0.0.1 ### Patch Changes - eb150a6: ai/core: remove scaling of setting values (breaking change). If you were using the temperature, frequency penalty, or presence penalty settings, you need to update the providers and adjust the setting values.