// Example: Batch Image Asset Generation
allow "helpers/safe" in with {newFolder, getFiles, saveMedia}

let outputDir = "assets/products/"
outputDir | newFolder

let products: array<str> = ["coffee_mug", "desk_lamp", "notebook"]

for product in products {
    show "Generating asset for:" product
    prompt request {"A clean studio presentation photograph of a " product " on a solid white background."}
    prompt filename {outputDir product ".png"}

    try {
        let imageData = image("gemini-2.5-flash-image") {ratio: "1:1", size: "1K"} {request}
        let success = filename | saveMedia(imageData)

        if success {
            show "Saved:" filename
        }
    } catch (e) {
        show "Failed processing" product ":" e
    }
}

if outputDir | getFiles | includes("notebook.png") {
    show "Asset generation complete."
} else {
    show "Asset generation incomplete. There should be" products | length "images, but only" outputDir | getFiles | length "were generated."
}