Takes a video (up to 24 MB) and returns one JPEG with columns × rows frames take
Takes a video (up to 24 MB) and returns one JPEG with columns × rows frames taken at evenly spaced times across the running time, each tile labelled with its timestamp, and the list of those times. Tile width, grid size and JPEG quality are selectable. Useful for a quick visual overview, for choosing a thumbnail, or as a single image to hand to a vision model instead of a whole video. Runs locally with ffmpeg; nothing leaves this machine. Fixed price per call.
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://medien.halowerk.com/v1/video-contact-sheet
| Category | Image and media |
|---|---|
| Provider host | medien.halowerk.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-10-31 | valid payment request | 402 | $0.004 | 1053 ms |
Example input (from the provider)
{
"body": {
"columns": 3,
"rows": 2,
"source": {
"url": "https://medien.halowerk.com/beispiel/vortrag.mp4"
},
"tile_width": 160
},
"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": {
"columns": {
"default": 4,
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"rows": {
"default": 3,
"maximum": 8,
"minimum": 1,
"type": "integer"
},
"source": {
"additionalProperties": false,
"properties": {
"content_base64": {
"maxLength": 12000000,
"type": "string"
},
"filename": {
"maxLength": 260,
"type": "string"
},
"url": {
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
},
"tile_width": {
"default": 240,
"maximum": 480,
"minimum": 80,
"type": "integer"
},
"timestamps": {
"default": true,
"type": "boolean"
}
},
"required": [
"source"
],
"type": "object"
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST",
"PUT",
"PATCH"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}