This is because we don't use image generation endpoint, instead you just send the image as a base64 in the same chat/completions endpoint. Kinda like this: { type: "text" | "image_url" | "file"; text?: string; image_url?: { url: string; // Required storageId?: string; // Optional - for internal use }; }