pradyut-das/goclick-runpod

0

stars

2

commits

Python

primary language

Aug 2, 2026

updated

README

GoClick on RunPod Serverless — low-cost setup

Endpoint settings

Use these settings for about 500 requests/day:

  • Endpoint type: Queue
  • GPU category: 16 GB
  • Active/minimum workers: 0
  • Maximum workers: 1
  • GPUs per worker: 1
  • Idle timeout: 5 seconds
  • Execution timeout: 30 seconds
  • FlashBoot: Enabled
  • Model: HongxinLi/GoClick-Large
  • Environment variable: MODEL_NAME=HongxinLi/GoClick-Large
  • Do not add a paid network volume only for this model
  • Use RunPod Model Caching; do not bake model weights into the image

For the lowest bill, replace both values with HongxinLi/GoClick-Base. It loads and runs faster, but accuracy is lower.

Deploy

  1. Push this folder to GitHub.
  2. Open RunPod → Serverless → New Endpoint.
  3. Deploy from the GitHub repository using this Dockerfile.
  4. Select Queue endpoint and the settings above.
  5. In the endpoint Model field, enter HongxinLi/GoClick-Large.
  6. Deploy.

The worker finds the cached model under /runpod-volume/huggingface-cache/hub and loads it in offline mode.

Call it

Compress screenshots to JPEG quality 65–80 to reduce request size and transfer time.

export RUNPOD_ENDPOINT_ID="your-endpoint-id"
export RUNPOD_API_KEY="your-api-key"
node call-endpoint.mjs screenshot.jpg "the Send button at the bottom-right"

RobotJS scaling

const screen = robot.getScreenSize();
const clickX = Math.round(output.x * screen.width / output.image_width);
const clickY = Math.round(output.y * screen.height / output.image_height);
robot.moveMouseSmooth(clickX, clickY);
robot.mouseClick();

Cost notes

  • 500 requests in bursts across a few agent sessions is inexpensive because one warm worker handles many requests.
  • 500 isolated requests spread through the day can be much more expensive because each may cold-start.
  • Keep max workers at 1 initially.
  • Keep idle timeout at 5 seconds initially.
  • Never set active workers to 1 for this traffic level.

Contributors

pradyut-das

2 commits

pradyut-das/goclick-runpod

0

stars

2

commits

Python

primary language

Aug 2, 2026

updated

README

GoClick on RunPod Serverless — low-cost setup

Endpoint settings

Use these settings for about 500 requests/day:

  • Endpoint type: Queue
  • GPU category: 16 GB
  • Active/minimum workers: 0
  • Maximum workers: 1
  • GPUs per worker: 1
  • Idle timeout: 5 seconds
  • Execution timeout: 30 seconds
  • FlashBoot: Enabled
  • Model: HongxinLi/GoClick-Large
  • Environment variable: MODEL_NAME=HongxinLi/GoClick-Large
  • Do not add a paid network volume only for this model
  • Use RunPod Model Caching; do not bake model weights into the image

For the lowest bill, replace both values with HongxinLi/GoClick-Base. It loads and runs faster, but accuracy is lower.

Deploy

  1. Push this folder to GitHub.
  2. Open RunPod → Serverless → New Endpoint.
  3. Deploy from the GitHub repository using this Dockerfile.
  4. Select Queue endpoint and the settings above.
  5. In the endpoint Model field, enter HongxinLi/GoClick-Large.
  6. Deploy.

The worker finds the cached model under /runpod-volume/huggingface-cache/hub and loads it in offline mode.

Call it

Compress screenshots to JPEG quality 65–80 to reduce request size and transfer time.

export RUNPOD_ENDPOINT_ID="your-endpoint-id"
export RUNPOD_API_KEY="your-api-key"
node call-endpoint.mjs screenshot.jpg "the Send button at the bottom-right"

RobotJS scaling

const screen = robot.getScreenSize();
const clickX = Math.round(output.x * screen.width / output.image_width);
const clickY = Math.round(output.y * screen.height / output.image_height);
robot.moveMouseSmooth(clickX, clickY);
robot.mouseClick();

Cost notes

  • 500 requests in bursts across a few agent sessions is inexpensive because one warm worker handles many requests.
  • 500 isolated requests spread through the day can be much more expensive because each may cold-start.
  • Keep max workers at 1 initially.
  • Keep idle timeout at 5 seconds initially.
  • Never set active workers to 1 for this traffic level.

Contributors

pradyut-das

2 commits

Languages

Python

76.1%

JavaScript

15.4%

Dockerfile

8.5%