import { readFile, writeFile } from "node:fs/promises";
import process from "node:process";
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api.modular.com/v1",
apiKey: process.env.MODULAR_API_KEY,
});
async function main() {
const inputImage = await readFile("landscape.png");
const image_data = inputImage.toString("base64");
const response = await client.responses.create({
model: "black-forest-labs/FLUX.2-klein-4B",
input: [
{
role: "user",
content: [
{
type: "input_image",
image_url: `data:image/png;base64,${image_data}`,
},
{
type: "input_text",
text: "Transform this image into a watercolor painting.",
},
],
},
],
provider_options: {
image: {
height: 512,
width: 512,
steps: 4,
},
},
});
const output_image_data = response.output[0].content[0].image_data;
await writeFile("watercolor.png", Buffer.from(output_image_data, "base64"));
}
main();