import { myProvider } from '@/lib/ai/providers'; import { createDocumentHandler } from '@/lib/artifacts/server'; import { experimental_generateImage } from 'ai'; export const imageDocumentHandler = createDocumentHandler<'image'>({ kind: 'image', onCreateDocument: async ({ title, dataStream }) => { let draftContent = ''; const { image } = await experimental_generateImage({ model: myProvider.imageModel('small-model'), prompt: title, n: 1, }); draftContent = image.base64; dataStream.write({ type: 'data-imageDelta', data: image.base64, transient: true, }); return draftContent; }, onUpdateDocument: async ({ description, dataStream }) => { let draftContent = ''; const { image } = await experimental_generateImage({ model: myProvider.imageModel('small-model'), prompt: description, n: 1, }); draftContent = image.base64; dataStream.write({ type: 'data-imageDelta', data: image.base64, transient: true, }); return draftContent; }, });