
Images
Images can be added to the prompt for models that support this feature (like gpt-4o
).
Use the defImages
function to declare the images. Supported images will vary
with models but typically include PNG
, JPEG
, WEBP
, and GIF
. Both local files and URLs are supported.
defImages(env.files);
Read more about OpenAI Vision.
Public URLs (that do not require authentication) will be passed directly to OpenAI.
defImages( "https://github.com/microsoft/genaiscript/blob/main/docs/public/images/logo.png?raw=true",);
Local files are loaded and encoded as a data uri.
Buffer, Blob, ReadableStream
Section titled “Buffer, Blob, ReadableStream”The defImages
function also supports Buffer,
Blob, ReadableStream.
This example takes a screenshot of bing.com and adds it to the images.
import { browse } from "@genaiscript/plugin-playwright";const page = await browse("https://bing.com");const screenshot = await page.screenshot(); // returns a node.js BufferdefImages(screenshot);
Detail
Section titled “Detail”OpenAI supports a “low” / “high” field. An image in “low” detail will be downsampled to 512x512 pixels.
defImages(img, { detail: "low" });
Cropping
Section titled “Cropping”You can crop a region of interest from the image.
defImages(img, { crop: { x: 0, y: 0, w: 512, h: 512 } });
Auto crop
Section titled “Auto crop”You can also automatically remove uniform color on the edges of the image.
defImages(img, { autoCrop: true });
Greyscale
Section titled “Greyscale”You can convert the image to greyscale.
defImages(img, { greyscale: true });
Rotate
Section titled “Rotate”You can rotate the image.
defImages(img, { rotate: 90 });
You can scale the image.
defImages(img, { scale: 0.5 });
You can flip the image.
defImages(img, { flip: { horizontal: true; vertical: true } })
Max width, max height
Section titled “Max width, max height”You can specify a maximum width, maximum height. GenAIScript will resize the image to fit into the constraints.
defImages(img, { maxWidth: 800 });// and / ordefImages(img, { maxHeight: 800 });