File size: 1,083 Bytes
867b17d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
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;
},
});
|