ToolAssay

Computes dense Farneback optical flow between two consecutive grayscale frames a

Computes dense Farneback optical flow between two consecutive grayscale frames and returns the horizontal and vertical displacement of every pixel. Unlike sparse tracking this covers the whole image, which is what you want for measuring motion in regions with no distinct features to track — smoke, water, crowds, a panning background. Both frames must be the same size and should come from the same camera at a short interval.

Answeringour last check, 2026-10-25
1 of 1checks answered this week
1219 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/oss-opencv-dense-frame-optical-flow

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

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-25 valid payment request 402$0.004 1219 ms

Example input (from the provider)

{
  "body": {
    "first_frame": [
      [
        196,
        238,
        156,
        55,
        103,
        60,
        158,
        129,
        206,
        218,
        14,
        34,
        211,
        255,
        31,
        32
      ],
      [
        62,
        22,
        220,
        201,
        133,
        162,
        51,
        212,
        223,
        178,
        216,
        220,
        13,
        35,
        203,
        10
      ],
      [
        118,
        77,
        146,
        195,
        188,
        236,
        193,
        113,
        86,
        52,
        215,
        95,
        42,
        13,
        69,
        123
      ],
      [
        160,
        224,
        195,
        173,
        75,
        117,
        11,
        112,
        254,
        170,
        122,
        112,
        48,
        75,
        35,
        246
      ],
      [
        59,
        13,
        32,
        59,
        192,
        161,
        61,
        78,
        177,
        141,
        56,
        192,
        104,
        116,
        135,
        15
      ],
      [
        112,
        136,
        52,
        184,
        31,
        85,
        96,
        158,
        34,
        112,
        45,
        230,
        19,
        141,
        108,
        12
      ],
      [
        82,
        193,
        118,
        134,
        69,
        88,
        160,
        51,
        49,
        205,
        99,
        145,
        17,
        215,
        79,
        198
      ],
      [
        149,
        178,
        8,
        8,
        76,
        33,
        71,
        12,
        149,
        241,
        107,
        147,
        93,
        68,
        181,
        112
      ],
      [
        123,
        230,
        171,
        205,
        239,
        203,
        178,
        208,
        56,
        221,
        144,
        26,
        25,
        143,
        124,
        49
      ],
      [
        104,
        224,
        162,
        158,
        152,
        157,
        46,
        106,
        122,
        126,
        164,
        158,
        191,
        30,
        140,
        184
      ],
      [
        193,
        205,
        186,
        199,
        238,
        93,
        105,
        65,
        201,
        197,
        63,
        129,
        67,
        15,
        12,
        4
      ],
      [
        66,
        16,
        134,
        3,
        216,
        26,
        235,
        167,
        1,
        237,
        29,
        123,
        226,
        182,
        252,
        249
      ],
      [
        91,
        161,
        192,
        178,
        247,
        39,
        153,
        154,
        134,
        184,
        177,
        40,
        39,
        255,
        31,
        73
      ],
      [
        134,
        89,
        61,
        218,
        10,
        44,
        225,
        253,
        75,
        217,
        163,
        111,
        117,
        100,
        19,
        227
      ],
      [
        204,
        133,
        0,
        148,
        102,
        132,
        244,
        9,
        12,
        71,
        211,
        208,
        14,
        63,
        232,
        128
      ],
      [
        149,
        159,
        83,
        136,
        160,
        70,
        237,
        197,
        16,
        193,
        64,
        148,
        30,
        231,
        183,
        206
      ]
    ],
    "second_frame": [
      [
        172,
        54,
        122,
        255,
        150,
        193,
        180,
        115,
        178,
        176,
        194,
        158,
        111,
        182,
        177,
        105
      ],
      [
        66,
        182,
        196,
        238,
        156,
        55,
        103,
        60,
        158,
        129,
        206,
        218,
        14,
        34,
        211,
        255
      ],
      [
        9,
        154,
        62,
        22,
        220,
        201,
        133,
        162,
        51,
        212,
        223,
        178,
        216,
        220,
        13,
        35
      ],
      [
        197,
        233,
        118,
        77,
        146,
        195,
        188,
        236,
        193,
        113,
        86,
        52,
        215,
        95,
        42,
        13
      ],
      [
        97,
        8,
        160,
        224,
        195,
        173,
        75,
        117,
        11,
        112,
        254,
        170,
        122,
        112,
        48,
        75
      ],
      [
        160,
        178,
        59,
        13,
        32,
        59,
        192,
        161,
        61,
        78,
        177,
        141,
        56,
        192,
        104,
        116
      ],
      [
        0,
        161,
        112,
        136,
        52,
        184,
        31,
        85,
        96,
        158,
        34,
        112,
        45,
        230,
        19,
        141
      ],
      [
        16,
        184,
        82,
        193,
        118,
        134,
        69,
        88,
        160,
        51,
        49,
        205,
        99,
        145,
        17,
        215
      ],
      [
        145,
        52,
        149,
        178,
        8,
        8,
        76,
        33,
        71,
        12,
        149,
        241,
        107,
        147,
        93,
        68
      ],
      [
        131,
        59,
        123,
        230,
        171,
        205,
        239,
        203,
        178,
        208,
        56,
        221,
        144,
        26,
        25,
        143
      ],
      [
        7,
        82,
        104,
        224,
        162,
        158,
        152,
        157,
        46,
        106,
        122,
        126,
        164,
        158,
        191,
        30
      ],
      [
        39,
        139,
        193,
        205,
        186,
        199,
        238,
        93,
        105,
        65,
        201,
        197,
        63,
        129,
        67,
        15
      ],
      [
        12,
        53,
        66,
        16,
        134,
        3,
        216,
        26,
        235,
        167,
        1,
        237,
        29,
        123,
        226,
        182
      ],
      [
        52,
        27,
        91,
        161,
        192,
        178,
        247,
        39,
        153,
        154,
        134,
        184,
        177,
        40,
        39,
        255
      ],
      [
        34,
        240,
        134,
        89,
        61,
        218,
        10,
        44,
        225,
        253,
        75,
        217,
        163,
        111,
        117,
        100
      ],
      [
        140,
        164,
        204,
        133,
        0,
        148,
        102,
        132,
        244,
        9,
        12,
        71,
        211,
        208,
        14,
        63
      ]
    ]
  },
  "bodyType": "json",
  "exampleUrl": "https://medien.halowerk.com/v1/oss-opencv-dense-frame-optical-flow/schema#/requestExample",
  "method": "POST",
  "schemaUrl": "https://medien.halowerk.com/v1/oss-opencv-dense-frame-optical-flow/schema#/inputSchema",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": true,
  "properties": {
    "input": {
      "additionalProperties": true,
      "properties": {
        "bodyType": {
          "const": "json"
        },
        "exampleUrl": {
          "format": "uri",
          "type": "string"
        },
        "method": {
          "const": "POST"
        },
        "schemaUrl": {
          "format": "uri",
          "type": "string"
        },
        "type": {
          "const": "http"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "additionalProperties": false,
          "properties": {
            "operation": {
              "const": "dense-frame-optical-flow"
            },
            "result": {
              "additionalProperties": false,
              "properties": {
                "flow_xy": {
                  "items": {
                    "items": {
                      "items": {
                        "type": "number"
                      },
                      "maxItems": 2,
                      "minItems": 2,
                      "type": "array"
                    },
                    "maxItems": 256,
                    "minItems": 16,
                    "type": "array"
                  },
                  "maxItems": 256,
                  "minItems": 16,
                  "type": "array"
                },
                "height": {
                  "minimum": 0,
                  "type": "integer"
                },
                "warnings": {
                  "items": {
                    "maxLength": 1024,
                    "type": "string"
                  },
                  "maxItems": 8,
                  "minItems": 1,
                  "type": "array"
                },
                "width": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "flow_xy",
                "width",
                "height",
                "warnings"
              ],
              "type": "object"
            },
            "runtime_ms": {
              "minimum": 0,
              "type": "number"
            },
            "upstream": {
              "additionalProperties": false,
              "properties": {
                "binary_sha256": {
                  "const": "1fd4eb220f9986baa0ea0492cbcbedf85b868e792cbcac5f69e10d067a2f956c"
                },
                "components": {
                  "const": [
                    "calcOpticalFlowFarneback"
                  ]
                },
                "numpy_version": {
                  "const": "2.5.0"
                },
                "package_version": {
                  "const": "4.13.0.92"
                },
                "project": {
                  "const": "OpenCV"
                },
                "version": {
                  "const": "4.13.0"
                }
              },
              "required": [
                "project",
                "version",
                "package_version",
                "binary_sha256",
                "numpy_version",
                "components"
              ],
              "type": "object"
            }
          },
          "required": [
            "operation",
            "result",
            "upstream",
            "runtime_ms"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON