---
name: "xpay-quakelive-export-frames-to-json"
description: "Export frames from an open demo as JSON Lines (one frame per line) to a file in DEMO_PATH. Each line is a raw DecodedServerMessage: sequence number, server_time, operations (snapshots, configstrings, server commands, etc.). Use from_frame/from_server_time to set the start, to_frame/to_server_time to set the end, and limit to cap the output. Returns the output path and the number of frames written."
version: "1.0.0"
price: "$0.02/call"
provider: "Mcps"
---

# Export Frames To Json

Export frames from an open demo as JSON Lines (one frame per line) to a file in DEMO_PATH. Each line is a raw DecodedServerMessage: sequence number, server_time, operations (snapshots, configstrings, server commands, etc.). Use from_frame/from_server_time to set the start, to_frame/to_server_time to set the end, and limit to cap the output. Returns the output path and the number of frames written.

**Provider:** Mcps
**Price:** $0.02/call
**Pricing model:** Flat rate per call

## When to Use

Use this tool when you need to export frames from an open demo as json lines (one frame per line) to a file in demo_path. each line is a raw decodedservermessage: sequence number, server_time, operations (snapshots, configstrings, server commands, etc.). use from_frame/from_server_time to set the start, to_frame/to_server_time to set the end, and limit to cap the output. returns the output path and the number of frames written.. This is part of the Mcps provider on xpay✦.

## MCP Connection

Connect to xpay✦ to access this tool (and 87+ others):

```json
{
  "mcpServers": {
    "xpay": {
      "url": "https://mcp.xpay.sh/mcp?key=YOUR_API_KEY"
    }
  }
}
```

For Claude Code:
```bash
claude mcp add --transport http xpay "https://mcp.xpay.sh/mcp?key=YOUR_API_KEY"
```

## How to Execute

Use the xpay✦ meta-tools to run this tool:

1. **`xpay_details`** — Get full input schema: `xpay_details("quakelive/export_frames_to_json")`
2. **`xpay_run`** — Execute: `xpay_run("quakelive/export_frames_to_json", { ...inputs })`

## Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to_server_time` | integer,null | No | Stop after this server time in milliseconds (inclusive upper bound) |
| `to_frame` | integer,null | No | Stop before this frame index (exclusive, 0-based) |
| `limit` | integer,null | No | Maximum number of frames to write |
| `output_filename` | string,null | No | Output filename written to DEMO_PATH (default: <demo>_frames.jsonl). Use .jsonl extension. |
| `from_server_time` | integer,null | No | Start at this server time in milliseconds; frames before it are skipped |
| `session_id` | string | Yes | Analysis session ID (returned by open_demo) |
| `from_frame` | integer,null | No | Start at this frame index (0-based); frames before it are skipped |

## Pricing

- **Cost:** $0.02/call
- **Balance check:** Use `xpay_balance` to check remaining credits
- Get your API key at [xpay.tools](https://xpay.tools/account/settings/api-keys/) — $5 free credits included

## Related Skills

- [Mcps (all tools)](https://xpay.tools/skills/quakelive/SKILL.md) — 88 tools
- [Add Player](https://xpay.tools/skills/quakelive/add-player/SKILL.md) — $0.00/call
- [Add Raw Snapshot](https://xpay.tools/skills/quakelive/add-raw-snapshot/SKILL.md) — $0.00/call
- [Add Server Command](https://xpay.tools/skills/quakelive/add-server-command/SKILL.md) — $0.00/call
- [Analyze Demo](https://xpay.tools/skills/quakelive/analyze-demo/SKILL.md) — $0.02/call
- [Award Medal](https://xpay.tools/skills/quakelive/award-medal/SKILL.md) — $0.02/call

## Links

- Tool page: https://xpay.tools/quakelive/export-frames-to-json/
- Provider: https://xpay.tools/quakelive/
- All tools: https://xpay.tools/explore
