diff --git a/packages/ai/src/images.ts b/packages/ai/src/images.ts new file mode 100644 index 00000000..089c5f31 --- /dev/null +++ b/packages/ai/src/images.ts @@ -0,0 +1,36 @@ +import { getImagesApiProvider } from "./images-api-registry.js"; +import type { + AssistantImages, + AssistantImagesEventStream, + ImagesApi, + ImagesContext, + ImagesModel, + ImagesOptions, + ProviderImagesOptions, +} from "./types.js"; + +function resolveImagesApiProvider(api: ImagesApi) { + const provider = getImagesApiProvider(api); + if (!provider) { + throw new Error(`No API provider registered for api: ${api}`); + } + return provider; +} + +export function images( + model: ImagesModel, + context: ImagesContext, + options?: ProviderImagesOptions, +): AssistantImagesEventStream { + const provider = resolveImagesApiProvider(model.api); + return provider.images(model, context, options as ImagesOptions); +} + +export async function completeImages( + model: ImagesModel, + context: ImagesContext, + options?: ProviderImagesOptions, +): Promise { + const s = images(model, context, options); + return s.result(); +}