# Frame Timing String Normalisation and Keyed Dataset Comparison

> Frame Timing String Normalisation and Keyed Dataset Comparison is a paid API for AI agents from market.datapackvibe.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-29).

Normalises strings and compares two keyed datasets of frame timing records (frame_ms, draw_calls) across up to 200 rows, producing 2 analytical reports.

## Facts

- Endpoint: POST https://market.datapackvibe.com/x402/assistant-ib26-game-01-036?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/frame-timing-string-normalisation-and-keyed-dataset-comparison-b8ae3389
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Wn5OHsCdrcPWSt96Dxev0

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability frame-timing-string-normalisation-and-keyed-dataset-comparison-b8ae3389 -d '<json body>'
```

Example prompt: Compare these two sets of frame timing records — my baseline has rows like row-1 on 2026-10-01 in group-a with frame_ms=10 and draw_calls=1, and my new build has the same row IDs but slightly different frame_ms and draw_calls values — normalise the game_area strings and give me a keyed comparison report for both datasets (up to 200 rows each).

## When to prefer this

Choose this endpoint when you need to compare two keyed datasets of game frame timing records (frame_ms, draw_calls) with string normalisation, especially when rows share IDs across datasets and you need local analytical computation without any external lookup, prediction, or live data. Suitable for game performance audits, regression checks, and string cleanup on game area labels.

## Known failure modes

- Exceeding 200 rows causes a validation error
- Missing required fields (row_id, game_area, date, frame_ms, draw_calls) cause rejection
- Invalid date format (not YYYY-MM-DD) causes schema validation failure
- Empty rows array causes an error
- Numeric values outside allowed range are rejected

## How this service works

Frame timing — String normalisation + Keyed dataset comparison: String normalisation + Keyed dataset comparison for supplied frame timing records (frame_ms, draw_calls). Up to 200 rows; 2 independent reports using shared local analytical engines. No live lookup, prediction, professional assessment or external action. 0.01 USDC includes 2 supplied-data reports for up to 200 rows.

## Output

Two analytical reports: (1) a string normalisation report cleaning game_area and other string fields, and (2) a keyed dataset comparison report matching rows by row_id across the two supplied datasets and highlighting differences in frame_ms and draw_calls values. Up to 200 rows processed per call.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "rows": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "game_area",
     "date",
     "frame_ms",
     "draw_calls"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "frame_ms": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "game_area": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "draw_calls": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "frame_ms": 10,
     "game_area": "group-a",
     "draw_calls": 1
    },
    {
     "date": "2026-10-02",
     "row_id": "row-2",
     "frame_ms": 20,
     "game_area": "group-b",
     "draw_calls": 2
    },
    {
     "date": "2026-10-03",
     "row_id": "row-3",
     "frame_ms": 15,
     "game_area": "group-a",
     "draw_calls": 3
    },
    {
     "date": "2026-10-04",
     "row_id": "row-4",
     "frame_ms": 30,
     "game_area": "group-b",
     "draw_calls": 4
    }
   ],
   "maxItems": 200,
   "minItems": 1
  },
  "other": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "row_id",
     "game_area",
     "date",
     "frame_ms",
     "draw_calls"
    ],
    "properties": {
     "date": {
      "type": "string",
      "default": "",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "maxLength": 10
     },
     "row_id": {
      "type": "string",
      "default": "",
      "maxLength": 80,
      "minLength": 1
     },
     "frame_ms": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     },
     "game_area": {
      "type": "string",
      "default": "",
      "maxLength": 80
     },
     "draw_calls": {
      "type": [
       "number",
       "null"
      ],
      "maximum": 1000000000000,
      "minimum": -1000000000000
     }
    },
    "additionalProperties": false
   },
   "default": [
    {
     "date": "2026-10-01",
     "row_id": "row-1",
     "frame_ms": 10,
     "ga
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/frame-timing-string-normalisation-and-keyed-dataset-comparison-b8ae3389/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from market.datapackvibe.com](https://www.zero.xyz/host/market.datapackvibe.com/llms.txt)
