ToolAssay

Sprite tools

Sprite tools: Turn an animation video or GIF (from Kling, Veo, Sora or a capture) into a sprite sheet: frames at your fps, background removed, every frame aligned to one box and pivot so it does not jitter, the best loop point, TexturePacker JSON, Godot SpriteFrames and a GIF preview. Full schema: https://rengi.dev/v1/sprite-tools/schema

Answeringour last check, 2026-10-21
1 of 1checks answered this week
905 msmedian answer time
$0.15listed price per call
$0.15price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://rengi.dev/v1/sprite-tools/video-to-sheet

CategoryImage and media
Provider hostrengi.dev
Networkseip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-21 valid payment request 402$0.15 905 ms

Example input (from the provider)

{
  "body": {
    "fps": 12,
    "videoUrl": "https://rengi.dev/samples/slime-jump.mp4"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "background": {
              "default": "auto",
              "description": "auto: keep the video's own transparency, key a one-color background, or use AI (max 24 frames).",
              "enum": [
                "auto",
                "keep",
                "flat",
                "ai"
              ],
              "type": "string"
            },
            "columns": {
              "maximum": 64,
              "minimum": 1,
              "type": "integer"
            },
            "end": {
              "exclusiveMinimum": 0,
              "type": "number"
            },
            "fps": {
              "default": 12,
              "maximum": 60,
              "minimum": 1,
              "type": "number"
            },
            "frameSize": {
              "default": 256,
              "description": "Longest side of one frame.",
              "maximum": 1024,
              "minimum": 16,
              "type": "integer"
            },
            "maxFrames": {
              "default": 48,
              "maximum": 120,
              "minimum": 1,
              "type": "integer"
            },
            "pixelArt": {
              "default": false,
              "description": "Scale with nearest neighbour.",
              "type": "boolean"
            },
            "start": {
              "default": 0,
              "minimum": 0,
              "type": "number"
            },
            "video": {
              "description": "Base64 MP4, WebM, MOV or GIF.",
              "type": "string"
            },
            "videoUrl": {
              "format": "uri",
              "type": "string"
            }
          },
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "additionalProperties": false,
          "properties": {
            "background": {
              "enum": [
                "keep",
                "flat",
                "ai"
              ],
              "type": "string"
            },
            "columns": {
              "type": "number"
            },
            "fps": {
              "type": "number"
            },
            "frameCount": {
              "type": "number"
            },
            "frameHeight": {
              "type": "number"
            },
            "frameWidth": {
              "type": "number"
            },
            "frames": {
              "type": "string"
            },
            "godot": {
              "type": "string"
            },
            "loop": {
              "additionalProperties": false,
              "description": "Frames 0..frames-1 make the cleanest loop; difference 0 = identical.",
              "properties": {
                "difference": {
                  "type": "number"
                },
                "frames": {
                  "type": "number"
                }
              },
              "required": [
                "frames",
                "difference"
              ],
              "type": "object"
            },
            "pivot": {
              "additionalProperties": false,
              "properties": {
                "x": {
                  "type": "number"
                },
                "y": {
                  "type": "number"
                }
              },
              "required": [
                "x",
                "y"
              ],
              "type": "object"
            },
            "preview": {
              "type": "string"
            },
            "sheet": {
              "type": "string"
            },
            "texturepacker": {
              "type": "string"
            },
            "warnings": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "required": [
            "preview",
            "sheet",
            "frames",
            "texturepacker",
            "godot",
            "frameCount",
            "frameWidth",
            "frameHeight",
            "columns",
            "fps",
            "background",
            "pivot",
            "loop",
            "warnings"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON