Frostbyte Screenshot Action

March 4, 2026 · View on GitHub

Take automated website screenshots in your GitHub Actions workflow. No Puppeteer setup, no browser dependencies — just one API call.

Use Cases

  • Deployment verification — screenshot your app after every deploy
  • Visual regression testing — compare screenshots across PRs
  • PR previews — auto-post screenshots of staging URLs on pull requests
  • Documentation — generate up-to-date screenshots for docs
  • Monitoring — periodic screenshots of production pages

Quick Start

- name: Take screenshot
  uses: OzorOwn/frostbyte-screenshot-action@v1
  with:
    url: 'https://your-app.vercel.app'

That's it. The screenshot is saved as an artifact you can download from the Actions tab.

Examples

Screenshot after deployment

name: Deploy & Screenshot
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Deploy to Vercel
        id: deploy
        run: echo "url=https://your-app.vercel.app" >> $GITHUB_OUTPUT

      - name: Screenshot deployment
        uses: OzorOwn/frostbyte-screenshot-action@v1
        with:
          url: ${{ steps.deploy.outputs.url }}
          viewport: desktop

Multi-viewport screenshots

- name: Desktop screenshot
  uses: OzorOwn/frostbyte-screenshot-action@v1
  with:
    url: 'https://example.com'
    viewport: desktop
    output-path: screenshots/desktop.png
    artifact-name: desktop-screenshot

- name: Mobile screenshot
  uses: OzorOwn/frostbyte-screenshot-action@v1
  with:
    url: 'https://example.com'
    viewport: mobile
    output-path: screenshots/mobile.png
    artifact-name: mobile-screenshot

Comment on Pull Request

name: PR Screenshot
on:
  pull_request:

jobs:
  screenshot:
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
    steps:
      - name: Screenshot staging
        uses: OzorOwn/frostbyte-screenshot-action@v1
        with:
          url: 'https://staging.your-app.com'
          comment-on-pr: 'true'
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Full page + dark mode

- name: Full page dark mode screenshot
  uses: OzorOwn/frostbyte-screenshot-action@v1
  with:
    url: 'https://example.com'
    full-page: 'true'
    dark-mode: 'true'
    format: jpeg
    quality: '90'
    output-path: screenshots/full-dark.jpeg

Inputs

InputDescriptionDefaultRequired
urlURL to screenshotYes
viewportdesktop, tablet, mobile, 1080p, 4kdesktopNo
formatpng or jpegpngNo
full-pageCapture full scrollable pagefalseNo
dark-modeEmulate dark color schemefalseNo
qualityJPEG quality (1-100)80No
output-pathFile path for the screenshotscreenshot.pngNo
api-keyFrostbyte API key (optional)No
comment-on-prPost screenshot as PR commentfalseNo
upload-artifactUpload as GitHub Actions artifacttrueNo
artifact-nameName for the artifactscreenshotNo

Outputs

OutputDescription
screenshot-pathPath to the saved screenshot file
screenshot-urlURL to view the artifact in Actions

Viewports

PresetResolution
desktop1280 x 720
tablet768 x 1024
mobile375 x 812
1080p1920 x 1080
4k3840 x 2160

Rate Limits

Works without an API key — 50 free screenshots per IP. For higher limits:

  1. Get a free API key: curl -X POST https://agent-gateway-kappa.vercel.app/api/keys/create
  2. Add it as a repository secret (FROSTBYTE_API_KEY)
  3. Pass it to the action:
- uses: OzorOwn/frostbyte-screenshot-action@v1
  with:
    url: 'https://example.com'
    api-key: ${{ secrets.FROSTBYTE_API_KEY }}

Free API keys include 200 credits. Each screenshot costs 1 credit.

Powered by Frostbyte

This action uses the Frostbyte Screenshot API — one of 40+ developer APIs available through a single gateway.

License

MIT