Takes a video of up to 30 minutes and finds, in one pass, segments where the pic
Takes a video of up to 30 minutes and finds, in one pass, segments where the picture is black (blackdetect), where it freezes (freezedetect) and where the sound drops out (silencedetect), each with start, end and duration, using minimum lengths and thresholds you can set. A summary says whether the file passes with no finding longer than the limits. Leading and trailing black is reported separately because it is often intended. Runs locally with ffmpeg; nothing leaves this machine.
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-black-detect
| 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 | 1029 ms |
Example input (from the provider)
{
"body": {
"duration_minutes": 1,
"min_freeze_seconds": 5,
"min_silence_seconds": 1.5,
"source": {
"url": "https://medien.halowerk.com/beispiel/vortrag.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": {
"duration_minutes": {
"maximum": 30,
"minimum": 1,
"type": "integer"
},
"min_black_seconds": {
"default": 0.5,
"maximum": 10,
"minimum": 0.04,
"type": "number"
},
"min_freeze_seconds": {
"default": 2,
"maximum": 60,
"minimum": 0.5,
"type": "number"
},
"min_silence_seconds": {
"default": 2,
"maximum": 60,
"minimum": 0.2,
"type": "number"
},
"silence_db": {
"default": -50,
"maximum": -20,
"minimum": -90,
"type": "number"
},
"source": {
"additionalProperties": false,
"properties": {
"content_base64": {
"maxLength": 12000000,
"type": "string"
},
"filename": {
"maxLength": 260,
"type": "string"
},
"url": {
"maxLength": 2048,
"type": "string"
}
},
"type": "object"
}
},
"required": [
"source",
"duration_minutes"
],
"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"
}