{"record":{"id":"a60de4895588ef3d","repo":"vercel/ai","slug":"elevenlabs-does-not-provide-image-models","errorCode":null,"errorMessage":"ElevenLabs does not provide image models","messagePattern":"ElevenLabs does not provide image models","errorType":"exception","errorClass":"NoSuchModelError","httpStatus":null,"severity":"error","filePath":"packages/elevenlabs/src/elevenlabs-provider.ts","lineNumber":133,"sourceCode":"  provider.languageModel = (modelId: string) => {\n    throw new NoSuchModelError({\n      modelId,\n      modelType: 'languageModel',\n      message: 'ElevenLabs does not provide language models',\n    });\n  };\n\n  provider.embeddingModel = (modelId: string) => {\n    throw new NoSuchModelError({\n      modelId,\n      modelType: 'embeddingModel',\n      message: 'ElevenLabs does not provide embedding models',\n    });\n  };\n  provider.textEmbeddingModel = provider.embeddingModel;\n\n  provider.imageModel = (modelId: string) => {\n    throw new NoSuchModelError({\n      modelId,\n      modelType: 'imageModel',\n      message: 'ElevenLabs does not provide image models',\n    });\n  };\n\n  return provider as ElevenLabsProvider;\n}\n\n/**\n * Default ElevenLabs provider instance.\n */\nexport const elevenLabs = createElevenLabs();\n","sourceCodeStart":115,"sourceCodeEnd":147,"githubUrl":"https://github.com/vercel/ai/blob/69428b1f8b037e4d118fb4853428d5c4e620493c/packages/elevenlabs/src/elevenlabs-provider.ts#L115-L147","documentation":"ElevenLabs offers no image generation, so its imageModel factory throws NoSuchModelError with the message 'ElevenLabs does not provide image models'. The stub enforces the provider's capability boundary (speech and transcription only).","triggerScenarios":"Calling generateImage() with an ElevenLabs model or provider.imageModel('some-id') directly.","commonSituations":"Multi-provider media pipelines that route all generation tasks (text, image, speech) through one configured vendor, or exploratory API usage.","solutions":["Use an image-capable provider (e.g. @ai-sdk/openai, @ai-sdk/google, @ai-sdk/azure) for generateImage.","Split your provider config by capability: ElevenLabs for audio, another provider for images.","Add a capability check before dispatching generation tasks to a provider."],"exampleFix":"// before\nawait generateImage({ model: elevenlabs.imageModel('x'), prompt });\n\n// after\nawait generateImage({ model: openai.image('gpt-image-1'), prompt });","handlingStrategy":"validation","validationCode":"function supportsImages(provider: unknown): boolean {\n  return !/elevenlabs/i.test((provider as any)?.provider ?? '');\n}","typeGuard":"function isImageCapable(p: any): p is { imageModel: (id: string) => unknown } {\n  return typeof p?.imageModel === 'function' && !/elevenlabs/i.test(p?.provider ?? '');\n}","tryCatchPattern":"try {\n  await generateImage({ model: provider.imageModel(id), prompt });\n} catch (e) {\n  if (NoSuchModelError.isInstance(e) && e.modelType === 'imageModel') {\n    throw new Error('ElevenLabs cannot generate images; use an image provider.');\n  }\n  throw e;\n}","preventionTips":["Route image generation to providers with documented image support.","Split media pipeline config by capability (audio: ElevenLabs, images: other).","Assert provider capabilities in tests for dynamically selected providers."],"tags":["provider-capability","image-generation","no-such-model"],"backgroundTag":"provider-does-not-support-model-type","analyzedSha":"69428b1f8b037e4d118fb4853428d5c4e620493c","analyzedAt":"2026-08-30T12:32:21.016Z","schemaVersion":2},"datasetVersion":"2026-08-30T13:17:10.514Z"}