| const puppeteer = require("puppeteer"); |
| const axios = require("axios"); |
| const fs = require("fs"); |
|
|
| async function generateImage(text) { |
|
|
| const browser = await puppeteer.launch({ |
| headless: "new", |
| args: [ |
| "--no-sandbox", |
| "--disable-setuid-sandbox", |
| "--disable-dev-shm-usage", |
| "--disable-gpu", |
| "--no-zygote", |
| "--single-process" |
| ] |
| }); |
|
|
| const page = await browser.newPage(); |
|
|
| console.log("Opening page..."); |
|
|
| await page.goto( |
| "https://en.ephoto360.com/create-3d-colorful-paint-text-effect-online-801.html", |
| { waitUntil: "networkidle2" } |
| ); |
|
|
| console.log("Typing text..."); |
| await page.type("#text-0", text); |
|
|
| console.log("Submitting form..."); |
| await page.click("#submit"); |
|
|
| console.log("Waiting for generated image..."); |
|
|
| await page.waitForSelector(".thumbnail img", { timeout: 60000 }); |
|
|
| const imageUrl = await page.$eval(".thumbnail img", el => el.src); |
|
|
| console.log("Image URL:", imageUrl); |
|
|
| const response = await axios.get(imageUrl, { responseType: "arraybuffer" }); |
|
|
| fs.writeFileSync("result.png", response.data); |
|
|
| console.log("Image saved → result.png"); |
|
|
| await browser.close(); |
| } |
|
|
| generateImage("HELLO").catch(console.error); |