Motion summary x402 REST
Samples the video at sample_fps on a 160 px wide grey image and compares each sample with the previous one: a pixel is active when its grey level changes by more than pixel_threshold. Per pair it records the active share...
ton.halowerk.com · 27 listed services · provider site
Samples the video at sample_fps on a 160 px wide grey image and compares each sample with the previous one: a pixel is active when its grey level changes by more than pixel_threshold. Per pair it records the active share...
The logo (PNG, JPEG or WebP, cropped to its opaque pixels) is turned into grey templates for widths between min_logo_width and max_logo_width of the frame width in steps of 1.2x. Only the opaque pixels are compared, so t...
Every frame (at most 60 per second, up to 60 s and 2,400 frames) is reduced to a 96 px wide RGB image. Per pixel, relative luminance follows the WCAG 2.2 sRGB formula; a transition is an opposing change of at least 0.1 b...
Runs ffmpeg cropdetect (per-frame reset, rows and columns whose mean luma is at or below black_level count as black) on the keyframes of the selected range, or on evenly spaced frames when there are fewer keyframes than...
Both videos are decoded from start_s for duration_s (at most 60 s), converted to 8-bit YUV 4:2:0 and aligned frame by frame at the frame rate of the reference; the distorted video is scaled to the reference size with a b...
Both videos (up to 300 s each) are sampled at sample_fps from their start, each sample is reduced to 64×64 grey and hashed with a 64-bit DCT perceptual hash (pHash method; aspect ratio ignored, so rescaling does not matt...
Crops the subtitle band (band_top to band_bottom of the frame height) and samples it at sample_fps. A text mask keeps bright pixels that have a dark neighbour within 2 px (outline or shadow; the reverse for dark text). A...
Samples the video at sample_fps; only samples whose 160 px grey image differs from the last OCR frame (more than 0.3 % of pixels changing by more than 24 levels) are read again, at most max_ocr_frames per call (the large...
Samples the video at sample_fps on a 160 px wide grey image, splits it into runs without change (share of pixels changing by more than 24 grey levels at most change_threshold, against the previous sample and the run star...
Samples up to 12 frames of the target window and of the reference (video or image) at 160 px width in RGB, builds 256-bin histograms per channel and derives a monotone 1D LUT: method histogram = histogram specification (...
Each card is a full-frame ffmpeg 6.1 render: solid colour or linear two-colour gradient background, optional logo (PNG/JPEG/WebP, up to 22 % of the frame height, alpha kept), title in Liberation Sans Bold and subtitle in...
Takes one thumbnail every interval_s (default: 1, 2, 5, 10, 15, 30 or 60 s so that at most 120 thumbnails result), scales it to the requested width with the display aspect ratio, tiles the thumbnails into sheets of colum...
The audio window (up to 60 s, any audio file or the audio track of a video) drives an ffmpeg 6.1 showwaves waveform (mode cline, line, p2p or point, square-root amplitude scale, mono mix) in a band across the middle of t...
Three templates: bar (accent stripe plus semi-transparent box), box (name on an accent box, subtitle on a second box) and minimal (text with drop shadow and accent underline). Sizes scale with the frame height (name 52 p...
The speaker clip is scaled to size_percent of the screen width (height from its display aspect ratio; circle = centre square crop), masked with an anti-aliased rectangle, rounded-rectangle (corner radius 12 % of the shor...
Each clip (own start_s/duration_s window) is converted to square pixels, fitted into the target frame (pad = letterbox/pillarbox in background_color, crop = fill and cut the overflow centred, stretch = distort), resample...
Encodes up to four renditions in one ffmpeg 6.1 pass (libx264 high profile, constrained VBR with maxrate 1.1x and buffer 2x the target, closed GOPs with a keyframe at every segment boundary) plus one AAC stereo audio ren...
Filters with ffmpeg 6.1: hqdn3d (spatio-temporal, default), atadenoise (adaptive temporal averaging, keeps edges, needs a mostly static camera) or nlmeans (non-local means, best detail but slow, therefore limited to shor...
Pass 1 runs ffmpeg 6.1 vidstabdetect (vid.stab 1.1, local motion fields), pass 2 vidstabtransform with the chosen smoothing window (frames), border handling (static optimal zoom, adaptive zoom, black or kept borders) or...
Extracts every number-like item from the German source text (same rules as tts-text-normalize-de: dates, times, money, units, percentages, decimals, years, digit strings) and parses the transcript of the synthesised audi...
Rule-based German text normalisation for TTS front ends. Detects ISO and German numeric dates (12.11.2026, 3. Oktober), times (14:30 Uhr), amounts in EUR/USD/CHF/GBP (12,50 €), numbers with units (km/h, kWh, °C, %, Mio.)...
Probes and decodes the prompt (base64 or URL, at most 10 MiB and 60 s) with ffmpeg 6.1 and checks it against a target profile: container, codec, sample rate, channels, duration and size (presets g711_ulaw, g711_alaw, pcm...
Decodes both clips (base64 or URL, at most 10 MiB and 60 s each) with ffmpeg 6.1 and measures each on 10 ms frames: speech segments above the silence threshold (blips under 30 ms dropped, gaps shorter than min_pause_ms b...
Takes episodes inline or from an RSS feed whose items link transcripts via podcast:transcript (up to four transcripts are fetched, preferring VTT, JSON, SRT, HTML). Parses WebVTT voice spans, SRT cards with "Name:" speak...
Parses OPML 1.0/1.1/2.0 and applies the OPML 2.0 rules (opml.org/spec2, freely implementable): version, head and body required, every outline needs a text attribute, rss outlines need type, text and xmlUrl, type values a...
Indexes up to 300 supplied transcripts (WebVTT, SRT, Podcast Namespace JSON or HTML, plain text) per call and searches them; nothing is stored between calls and no feed is crawled. Passages are cues (word-level JSON merg...
Feed mode: takes the newest 1-4 episodes of an RSS feed and fetches only a byte range of each enclosure (by default from the middle of MP3 files, from the start for other containers; large ID3 tags are skipped), so every...
Provider identity is derived from the domain or repository in the source record. If two vendors share a host, they appear together here — that is a limitation of the data, not a statement about ownership.