Install the reviewed package.
Download the release asset from the public repository, then install it through Dify's local-package flow. A Marketplace listing is not required for this path.
SHA-256 c64bda979ead353767240070d0a697052a8c0c69c9e039595e32e013c9dd6a21
- In Dify, open Plugins and choose Install Plugin → Local Package File.
- Select
latchshot-0.0.1.difypkgand finish the package installation. - Open the Latchshot provider settings and paste the API key into its secret field.
- Save the provider. Credential validation reads
GET /v1/usage; it does not perform or consume a render.
The Free plan issues one key per email with 100 successful renders each UTC calendar month. No card or approval queue is required.
Put one artifact job in the workflow.
Add the Latchshot capture_page tool to a Workflow tool node or enable it for an Agent. Supply a complete public URL and choose the file format the next step needs.
| Input | Default | Bounded behavior |
|---|---|---|
url | Required | Public HTTP(S), no credentials, port 80 or 443 |
format | png | png, jpeg, or pdf |
width × height | 1440 × 900 | 320–2560 × 240–1440 CSS pixels |
full_page | false | Images only; document height remains safety-limited |
delay_ms | 0 | 0–3000 milliseconds after page readiness |
timeout_ms | 15000 | 3000–30000 milliseconds, with a separate server deadline |
paper | A4 | A4, Letter, or Legal for PDF output |
Keep the first run small: a fixed 1440 × 900 PNG of https://example.com. Once the artifact reaches the next node, substitute the URL from an earlier workflow variable or let an agent supply it from explicit user intent.
Receive the file and the evidence.
A successful invocation emits the binary artifact as a Dify blob and a separate JSON diagnostic object. The plugin does not return a temporary third-party download URL.
| Result | Contents | Use in the next step |
|---|---|---|
| Artifact blob | PNG, JPEG, or PDF with a stable MIME type and filename | Attach, store, inspect, or pass as a file input |
| Diagnostics JSON | Bytes, render time, navigation, font/script fallback, quota remaining and reset | Branch, log, or explain the capture result |
| Tool error | Sanitized credential, target, rate, quota, timeout, or service failure | Stop or route to an explicit recovery path |
The companion get_usage tool returns the current plan, monthly limit, remaining successful renders, reset time, counters, and existing upgrade-request state. It does not consume render quota.
Treat remote browsing as a high-risk tool.
The user or model chooses a URL that a remote browser visits. The plugin therefore documents the integration as high risk under Dify's review categories even though its capability is intentionally narrow.
- The plugin can call only
https://latchshot.fly.dev; there is no configurable API host that could receive the Bearer key. - Latchshot rejects private, loopback, link-local, special-use, credential-bearing, mixed public/private DNS, and non-web-port targets.
- Cookies, custom headers, logins, arbitrary JavaScript, downloads, CAPTCHA solving, proxy rotation, and anti-bot bypass are not available.
- The plugin streams the response, verifies its MIME type, and rejects artifacts larger than 25 MB.
- The target page can observe a browser visit from Latchshot infrastructure. Dify retains credentials and workflow inputs according to the policy of the Dify deployment.
Use the tool only for pages the user is authorized to capture. Read the package's privacy policy for the complete plugin, Dify, Latchshot, infrastructure, and target-page data boundary.
Choose the smallest integration surface.
The Dify plugin, hosted MCP server, and direct REST API use the same renderer and quota. They differ in where the contract appears.
| Surface | Best fit | What you operate |
|---|---|---|
| Dify plugin | Dify Workflow and Agent nodes that need a file result | One local package and provider credential |
| Hosted MCP | MCP clients that support Streamable HTTP and a secret header | One remote server configuration |
| REST API | Application code, CI, or automation with an HTTP client | The request, binary response, and retry policy |
| Local browser | Private pages, authenticated sessions, clicks, or scripts | Chromium, isolation, updates, and job limits |
Use the Dify package when the orchestration already lives in Dify. Use the hosted MCP guide for a protocol-level agent tool, or the REST guide when the application should own the request directly.
Separate package evidence from platform approval.
The public source passes 13 contract and package tests, Ruff, Python compilation, Dify SDK source loading, and packaging with the official Dify CLI. Its controlled production round trip read Free-plan usage and returned a valid 14,571-byte PNG from example.com.
That evidence verifies the API client and package contents. It is not a claim that Dify Marketplace approved the plugin or that the package has been installed successfully on Dify Cloud. Marketplace submission requires the owner to review Dify's Plugin Developer Agreement, and a real CE/Cloud installation check remains outstanding.
Start with a recurring free allowance.
The Free plan renews to 100 successful renders each UTC calendar month. Launch is $19 for 2,500, Build is $49 for 12,000, and Scale is $149 for 50,000. Automatic overages are disabled, and failed direct renders do not consume quota.
The plugin source is MIT licensed. The hosted renderer remains a separate proprietary, quota-metered service. Review the public repository and the benchmark method before putting captures on a production decision path.
Install the first capture tool.
Download the reviewed package, add a Free-plan key, and test one fixed public URL before connecting workflow variables.