ToolAssay

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.

Answeringour last check, 2026-10-31
1 of 1checks answered this week
1029 msmedian answer time
$0.004listed price per call
$0.004price 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://medien.halowerk.com/v1/video-black-detect

CategoryImage and media
Provider hostmedien.halowerk.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
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"
}

This page as JSON