Poliage

Capture Types

Poliage supports multiple capture formats. Looping GIFs are the recommended default for interactive documentation, with screenshots for static content.

The primary capture format for documenting user flows. GIFs loop infinitely and work everywhere—no video player required.

Basic GIF Capture

{
  "action": "gif",
  "key": "login-flow",
  "duration": 5000
}
OptionDescription
durationRecording length in milliseconds (max 10 seconds)
loopLoop infinitely (default: true)
fpsFrames per second (default: 15)

Why GIFs?

  • No player required — Works in Markdown, email, Slack
  • Always looping — Users don't need to click play
  • Universal support — Every browser, every device
  • Harder to replicate — Unlike static screenshots, clean looping GIFs require orchestration

Screenshots (PNG)

Full Page Screenshot

Captures the entire visible viewport:

{
  "action": "capture",
  "key": "homepage-hero"
}

Element Screenshot

Captures a specific element:

{
  "action": "capture",
  "key": "navigation-menu",
  "selector": "[data-testid='main-nav']"
}

With Custom Clip Region

Define a specific region of the page:

{
  "action": "capture",
  "key": "sidebar-partial",
  "clip": {
    "x": 0,
    "y": 100,
    "width": 300,
    "height": 400
  }
}

Video Clips (MP4)

Record a sequence of actions as a video. Perfect for documenting:

  • Drag-and-drop interactions
  • Menu animations
  • Form workflows
  • Loading states

Recording a Video

During interactive recording, press C and select Multi-Step Clip.

In config:

{
  "action": "capture",
  "key": "dropdown-demo",
  "type": "video",
  "duration": 3000
}
OptionDescription
typeSet to "video" for video capture
durationMaximum length in milliseconds

Interactive Capture (Press C)

During a recording session, pressing C opens the capture menu:

  1. Single-Step Screenshot
    • Full Page capture
    • Element selection mode
  2. Multi-Step Clip
    • Starts video recording
    • Press C again to stop

Capture Keys

Every capture needs a unique key identifier:

{ "action": "capture", "key": "login-form-filled" }

Best practices for keys:

  • Use descriptive, lowercase names
  • Separate words with hyphens
  • Include context: settings-dark-mode, modal-confirmation

The key becomes part of the asset URL and should remain stable across versions.