ton.halowerk.com
● LiveThe 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 the frame. Captions come as a cue list or as WebVTT/SRT text (cue times refer to the original audio and are shifted by start_s; markup tags are removed), are wrapped by measured text width into at most three centred lines (Liberation Sans Bold) and shown with drawtext exactly…
Claim this service- Price
- $0.02
- Asked in its payment challenge
- Chain
- Base
- Paid in
- USDC
- Live
- 2 of 2 checks
Endpoints
49 more endpoints · on x402 Bazaar
Checks and payment terms on this page refer to the first endpoint's example. Other endpoints have not been checked individually.
Base URLhttps:
- POST/ivr-prompt-qa$0.008Probes 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, pcm16_8k, pcm16_16k, amazon_connect per its documentation, or a custom target).
Example
curl -i -X POST 'https://ton.halowerk.com/v1/ivr-prompt-qa' \ -H 'Content-Type: application/json' \ -d '{"target":"g711_ulaw","audio_base64":"T2dnUwACAAAAAAAAAAAAAAAAAAAAAEkq9qABE09wdXNIZWFkAQE4AYA+AAAAAABPZ2dTAAAAAAAAAAAAAAAAAAABAAAASZW+VAEuT3B1c1RhZ3MGAAAAZmZtcGVnAQAAABQAAABlbmNvZGVyPUxhdmMgbGlib3B1c09nZ1MABPipAAAAAAAAAAAAAAIAAACRPgrVLgcGFR0WERQXEhsOEA4eGQ4QEQwKCggLCgkJDBAeDxQdGg8TFREeHBMVHxcMCgoIC+S5oLyECAfGsw7GCIACjOQh3Th/mUvSARvH+JjbDd2gCLdkwLW/ei/BIkIfCwooItKCF0wgfak1iuS/9uAIpRq5zOujCQ4tb2P0waJZqDOwaFdACKUrS4JG8YgbWXG2ZMbi8rcIpRq5zOujCQ4tcLbwaHHGjjZ3gAilGrnM65yqD02AUODcPrG1MPkbKaEoCKUauczrnKpISXrxk85Pt+3ACKUauczrnKpIOzmW2wd87wneFLlSLLiQfDWICKUauczrnKoPNxIRMiYIpRq5zOucqg9M0L5UEr0QCKUauczrnKpISXzbBh4IpRq5zOucqkhJeyLHfg72w10tTAFBGULnd0tg7RAIpRq5zOucqkhJeySaV4kiWQDo1WHR1d/QCKUrS4JG8YgbWW+WrI4IpRq5zOujCQ4tclW89PswCKVk7dT2pBlvqdMus3kAPfkIP2HgAAR4BgsHTCAIN77gAIita9JACBP6hN+2G5N5gAgIoO0UOYzwCAig66bujcVdBFgICKDrsYgKVLFoCAig67GIBb2sCAimZI16yChUCAimZI17WaB7uFmACIAEDOQiGpAf9/OOz8ytkAi3ZMC1v3ovwSJW04GPYet+eGe+i5lvk7mFbKnuwAilGrnM66MJDi10HlHviAilK0uCRvGIG1l129RrhJe+pM6ACKUauczrowkOLXLhBX7KC6sTOdL938ZAVYccEBAIpRq5zOucqg9MzNaxpS6xHEfZHVrSEgOOQAilK0uCRvGHoub69NXCGAilGrnM65yqRmw2hI5v7+pUAkAIpRq5zOucqgyBlJcSeAX9qzb9ilAIpRq5zOucqkhJBjdxmiC7aAilGrnM65yqSEl7VjLSyghFPCPmqecyHJBJXKN0jAilK0uCRvGIG1lwa+Djw9VhlSox5rHnJ9gE+CAIpRq5zOujCQ4tcoVPPGgOClWSCKUrS4JG8YgbWW+lyx1ileOL/cSbCKUauczrowkOLW/BbQov435sUGH9knD372KdbTcYSAimrU3U9qQZb6nTLzVYSOS09k5FqLBQCD9pEAAEeAa2DBfuCDiPUACIrW0YoAgXHxea2uxtdIA="}' - POST/letterbox-detect$0.01Runs 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 samples. Frames that are black as a whole are ignored; the union of the remaining picture areas is the content area, so no frame loses content.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/letterbox-detect' \ -H 'Content-Type: application/json' \ -d '{"video_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif"}' - POST/logo-screen-time$0.03The 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 transparent corners or gaps show whatever background the video has.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/logo-screen-time' \ -H 'Content-Type: application/json' \ -d '{"video_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","sample_fps":1,"logo_base64":"iVBORw0KGgoAAAANSUhEUgAAABgAAAAMCAIAAAD3UuoiAAAACXBIWXMAAAABAAAAAQBPJcTWAAAAK0lEQVR42mNgMJpOEP0nAjAMhEEHDmFHpBp0moEBKxo1aDAbRLXop1PKBgDJ265QGnuMIAAAAABJRU5ErkJggg=="}' - POST/lower-third-render$0.01Three 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 px and subtitle 34 px at 1080p, Liberation Sans Bold/Regular, SIL OFL 1.1); text widths are measured with the font metrics, the graphic is placed inside the EBU R 95 graphics-safe area (5 % from the left/right edge, bottom 10 %) and fonts shrink down to 70 % before a too-long…
Example
curl -i -X POST 'https://ton.halowerk.com/v1/lower-third-render' \ -H 'Content-Type: application/json' \ -d '{"name":"Jane Example","width":640,"height":360,"hold_s":3,"subtitle":"Head of Research"}' - POST/media-wcag-checklist$0.02Probes all streams with ffprobe (video, audio with visual_impaired/descriptions disposition, subtitles with hearing_impaired/captions disposition and language), decides whether the media is audio-video, audio-only or video-only (audio below −60 dBFS counts as silent), detects speech with Silero VAD v6.2, reads text subtitle tracks or sidecar captions (SRT/WebVTT) and measures the share of detected speech covered by caption cues (±0.5 s).
Example
curl -i -X POST 'https://ton.halowerk.com/v1/media-wcag-checklist' \ -H 'Content-Type: application/json' \ -d '{"media_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","transcript_available":true}' - POST/motion-summary$0.01Samples 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, mean absolute difference and per-cell shares on a grid_cols-wide grid. Pairs above active_threshold form active intervals (gaps up to 1 s are bridged); pairs with more than 60 % active pixels are reported as global changes (cut, camera motion or lighting change).
Example
curl -i -X POST 'https://ton.halowerk.com/v1/motion-summary' \ -H 'Content-Type: application/json' \ -d '{"video_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","sample_fps":4}' - POST/noise-floor-profile$0.02Decodes up to 5 minutes (mono, native rate up to 32 kHz, so interferers up to 16 kHz are covered). Per window (1 s, longer for recordings over 2 min so that at most 120 windows result) the noise floor is the 10th percentile of 20 ms frame levels in dBFS (RMS relative to digital full scale, 0 dBFS = RMS 1.0), ignoring exact digital silence. Gaps are runs of exact digital silence of at least 20 ms. Steps are changes of at least 6 dB between the medians of three windows before and after.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/noise-floor-profile' \ -H 'Content-Type: application/json' \ -d '{"audio_base64":"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"}' - POST/number-reading-check$0.005Extracts 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 audio (from your speech recogniser or the TTS front end), which may contain number words ("zwölften November zweitausendsechsundzwanzig", "vierzehn Uhr dreißig", "zwölf Euro fünfzig", "drei Komma fünf Kilometer") or digits.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/number-reading-check' \ -H 'Content-Type: application/json' \ -d '{"source_text":"Ihr Termin am 12.11.2026 um 14:30 Uhr kostet 12,50 €.","spoken_text":"Ihr Termin am zwölften November zweitausendsechsundzwanzig um vierzehn Uhr dreißig kostet zwölf Euro fünfzig."}' - POST/opml-normalize$0.003Parses 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 are case-insensitive. Missing text is filled from title or the feed host, missing type on outlines with xmlUrl becomes rss, attribute spelling such as xmlurl is corrected, invalid or non-http(s) feed URLs are flagged (optionally dropped) and exact duplicates (scheme and host…
Example
curl -i -X POST 'https://ton.halowerk.com/v1/opml-normalize' \ -H 'Content-Type: application/json' \ -d '{"opml":"<?xml version=\"1.0\"?><opml version=\"1.0\"><head><title>Abos</title></head><body><outline text=\"Podnews\" xmlUrl=\"https://podnews.net/rss\"/></body></opml>","sort":"title"}' - POST/picture-in-picture$0.02The 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 shorter side) or circle mask, optionally framed by a border of border_px in border_color, and overlaid with ffmpeg 6.1 at the chosen corner with margin_px from the frame edge to the outer border.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/picture-in-picture' \ -H 'Content-Type: application/json' \ -d '{"shape":"circle","border_px":3,"duration_s":2,"screen_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","speaker_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","size_percent":30}' - POST/pronunciation-lexicon$0.005Generate mode: takes entries (graphemes plus IPA or X-SAMPA pronunciations and/or aliases) and writes a PLS 1.0 lexicon (namespace, version, alphabet, xml:lang) in IPA or X-SAMPA, converting between them with the X-SAMPA table of J. C. Wells. Check mode: parses an existing lexicon.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/pronunciation-lexicon' \ -H 'Content-Type: application/json' \ -d '{"lang":"de-DE","entries":[{"ipa":["ˈhaːloˌvɛʁk"],"graphemes":["HALOWERK"]},{"aliases":["x vier null zwei"],"graphemes":["x402"]}]}' - POST/room-change-detect$0.02Decodes up to 5 minutes (mono, 16 kHz), computes octave-band levels (250 Hz–4 kHz) per 10 ms frame. Reverberation: free decays after local level peaks (−3 dB to −13 dB) are collected per band; the ...
Example
curl -i -X POST 'https://ton.halowerk.com/v1/room-change-detect' \ -H 'Content-Type: application/json' \ -d '{"audio_base64":"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"}' - POST/scrub-sprites$0.01Takes 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 columns x rows with ffmpeg 6.1 (tile filter) and writes a WebVTT track whose cues cover [k*interval, (k+1)*interval) and point to sprite_NNN.jpg#xywh=x,y,w,h (W3C Media Fragments 1.0), optionally prefixed with your CDN path.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/scrub-sprites' \ -H 'Content-Type: application/json' \ -d '{"columns":4,"video_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","interval_s":0.5,"thumb_width":96}' - POST/sign-overlay-space$0.02Samples the video at sample_fps on a 320 px wide grey copy. For each candidate corner a box of area_share of the picture (default 1/6, the minimum signer size Ofcom concluded in its review of signing on television) with aspect box_aspect and margin is tested in every sample: edge density (share of pixels whose gradient |dx|+|dy| exceeds 48) and motion (share of pixels changing by more than 20 grey levels from the previous sample).
Example
curl -i -X POST 'https://ton.halowerk.com/v1/sign-overlay-space' \ -H 'Content-Type: application/json' \ -d '{"video_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","sample_fps":1}' - POST/slides-from-video$0.02Samples 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 start) and keeps runs lasting at least min_stable_s. The last frame of each run represents the slide; runs whose frames match an earlier slide (64-bit DCT perceptual hash within 8 bits and pixel change within the threshold) are merged as repeated appearances.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/slides-from-video' \ -H 'Content-Type: application/json' \ -d '{"image_width":320,"min_stable_s":2,"video_base64":"R0lGODlhMAAcAPcfMR1MeC58Mv///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQEZAAfACwAAAAAMAAcAIEdTHgufDL///////8IWwAFCBxIsKDBgwgTKlzIsOFBABAjSpxIsaJFiwQvatzIEWLGjiBDAvgosuRFkiZTSkSpUqXDlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1KtKjRo0iTKl3KtKnMgAAAIfkEBWQAAAAsLwAbAAEAAQAACAQAAQQEACH5BAVkAAAALC8AGwABAAEAAAgEAAEEBAAh+QQFZAAAACwCAAIALAAWAAAIWQAFCBxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFhQAyatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJk2OAmzhz6tT5cqdPnz1/Cr0ZdOjPokZ3Ik2a82VAACH5BAVkAAAALC8AGwABAAEAAAgEAAEEBAAh+QQFZAAAACwvABsAAQABAAAIBAABBAQAIfkEBWQAAQAsAgACACwAFgAACFkAAQgcSLCgwYMIEypcyLChw4cQI0qcSLGixYUBMmrcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSZOjgJs4c+rU+XKnT589fwq9GXToz6JGdyJNmvNlQAAh+QQFZAAAACwvABsAAQABAAAIBAABBAQAIfkEBWQAAAAsLwAbAAEAAQAACAQAAQQEADs="}' - POST/ssml-validate$0.005Parses the SSML (well-formedness, no DTD) and checks it against W3C SSML 1.1: <speak> with version="1.1", xml:lang and namespace; the content model of every element (e.g. no <p> in <s>, <desc> only in <audio>, lexicon/meta first); required attributes (say-as interpret-as, sub alias, phoneme ph, audio src, mark name, lexicon uri and xml:id); value syntax of break, emphasis, prosody and voice.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/ssml-validate' \ -H 'Content-Type: application/json' \ -d '{"ssml":"<speak version=\"1.1\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xml:lang=\"de-DE\"><p><s>Willkommen<break time=\"300ms\"/> bei <sub alias=\"Halowerk\">HALOWERK</sub>.</s></p></speak>"}' - POST/transcript-pages$0.003Takes 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:" speaker prefixes, word-level Podcast Namespace JSON segments (merged into sentences) and the cite/time/p HTML format, groups cues into speaker paragraphs (at most 120 words, own rule) and renders one page per episode: lang attribute, skip link, landmarks, one h1, cite for speakers…
Example
curl -i -X POST 'https://ton.halowerk.com/v1/transcript-pages' \ -H 'Content-Type: application/json' \ -d '{"site":{"base_url":"https://example.com/transcripts/","language":"en","podcast_title":"Example Podcast"},"episodes":[{"title":"Episode 1: Hello","format":"srt","transcript":"1\n00:00:00,000 --> 00:00:02,500\nWelcome to the show.\n\n2\n00:00:02,500 --> 00:00:05,000\nToday we talk about podcast transcripts.\n"}]}' - POST/tts-ab-compare$0.01Decodes 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 bridged), leading/trailing silence, pause statistics, words per minute over the speech span and syllables per second of speech time if the text is given (vowel-group syllable count), active level, pause noise floor, sample peak, clipped samples at codec full scale, spectral…
Example
curl -i -X POST 'https://ton.halowerk.com/v1/tts-ab-compare' \ -H 'Content-Type: application/json' \ -d '{"text":"Hallo Welt","audio_a_base64":"T2dnUwACAAAAAAAAAAAAAAAAAAAAAEkq9qABE09wdXNIZWFkAQE4AYA+AAAAAABPZ2dTAAAAAAAAAAAAAAAAAAABAAAASZW+VAEuT3B1c1RhZ3MGAAAAZmZtcGVnAQAAABQAAABlbmNvZGVyPUxhdmMgbGlib3B1c09nZ1MABPipAAAAAAAAAAAAAAIAAACRPgrVLgcGFR0WERQXEhsOEA4eGQ4QEQwKCggLCgkJDBAeDxQdGg8TFREeHBMVHxcMCgoIC+S5oLyECAfGsw7GCIACjOQh3Th/mUvSARvH+JjbDd2gCLdkwLW/ei/BIkIfCwooItKCF0wgfak1iuS/9uAIpRq5zOujCQ4tb2P0waJZqDOwaFdACKUrS4JG8YgbWXG2ZMbi8rcIpRq5zOujCQ4tcLbwaHHGjjZ3gAilGrnM65yqD02AUODcPrG1MPkbKaEoCKUauczrnKpISXrxk85Pt+3ACKUauczrnKpIOzmW2wd87wneFLlSLLiQfDWICKUauczrnKoPNxIRMiYIpRq5zOucqg9M0L5UEr0QCKUauczrnKpISXzbBh4IpRq5zOucqkhJeyLHfg72w10tTAFBGULnd0tg7RAIpRq5zOucqkhJeySaV4kiWQDo1WHR1d/QCKUrS4JG8YgbWW+WrI4IpRq5zOujCQ4tclW89PswCKVk7dT2pBlvqdMus3kAPfkIP2HgAAR4BgsHTCAIN77gAIita9JACBP6hN+2G5N5gAgIoO0UOYzwCAig66bujcVdBFgICKDrsYgKVLFoCAig67GIBb2sCAimZI16yChUCAimZI17WaB7uFmACIAEDOQiGpAf9/OOz8ytkAi3ZMC1v3ovwSJW04GPYet+eGe+i5lvk7mFbKnuwAilGrnM66MJDi10HlHviAilK0uCRvGIG1l129RrhJe+pM6ACKUauczrowkOLXLhBX7KC6sTOdL938ZAVYccEBAIpRq5zOucqg9MzNaxpS6xHEfZHVrSEgOOQAilK0uCRvGHoub69NXCGAilGrnM65yqRmw2hI5v7+pUAkAIpRq5zOucqgyBlJcSeAX9qzb9ilAIpRq5zOucqkhJBjdxmiC7aAilGrnM65yqSEl7VjLSyghFPCPmqecyHJBJXKN0jAilK0uCRvGIG1lwa+Djw9VhlSox5rHnJ9gE+CAIpRq5zOujCQ4tcoVPPGgOClWSCKUrS4JG8YgbWW+lyx1ileOL/cSbCKUauczrowkOLW/BbQov435sUGH9knD372KdbTcYSAimrU3U9qQZb6nTLzVYSOS09k5FqLBQCD9pEAAEeAa2DBfuCDiPUACIrW0YoAgXHxea2uxtdIA=","audio_b_base64":"T2dnUwACAAAAAAAAAAAAAAAAAAAAAEkq9qABE09wdXNIZWFkAQE4AYA+AAAAAABPZ2dTAAAAAAAAAAAAAAAAAAABAAAASZW+VAEuT3B1c1RhZ3MGAAAAZmZtcGVnAQAAABQAAABlbmNvZGVyPUxhdmMgbGlib3B1c09nZ1MABPipAAAAAAAAAAAAAAIAAAA9U0zjLgcGFR0WERQXEhsOEA4eGREMCwgICgsKCgwJCQYGBg8eFRQVFhkSHBEOGxMNCgkIC+S5oLyECAfGsw7GCIACjOQh3Th/mUvSARvH+JjbDd2gCLdkwLW/ei/BIkIfCwooItKCF0wgfak1iuS/9uAIpRq5zOujCQ4tb2P0waJZqDOwaFdACKUrS4JG8YgbWXG2ZMbi8rcIpRq5zOujCQ4tcLbwaHHGjjZ3gAilGrnM65yqD02AUODcPrG1MPkbKaEoCKUauczrnKpISXrxk85Pt+3ACKUauczrnKpIOzmW2wd87wneFLlSLLiQfDWICKUauczrnKoPNxIRMiYIpRq5zOucqg9M0L5UEr0QCKUauczrnKpISXzbBh4IpRq5zOucqkhJeyLHfg72w10tTAFBGULnd0tg7RAIpRq5zOucqkhJeySaV4kiWQDo1WHR1d/QCAZvo5AdDpqseIUhlcXzZSQIPfqAADWc7xy2E0AILnsAAUK7VBF3yAgKJP3sMZ5wCAig7Q+VpQ4ICKDrpuykMgrwCAig66btpEd6CwQICKZkjXrKFmvACAimZJ+CvtlbQAgIpmSNe1mge7hZgAgIpmSMdI0/2wgIay0d2uHFaAgHxrMOxggHxrMOxggHxrMOxgiEwO5FEZ8rv6p8tqKDrwisMvlHEgdfz9hexYcm2p81pmGnEA2Ap1I/P1IE6gilK0uCRvGIG1l13n1yOOkxXs5PmAilK0uCRvGIG1lv4fE1adhQiFXcCKUauczrnKpIOzlvQDjk0QNA6+f+CKUauczrnKpGgZkUrPPqzmggNFzx0QilK0uCRvGIG1l2jKzs7vE6sEjjZK2SZpYIpRq5zOucqg84GODpwES8S7AIpRq5zOucqgyBnzDZsH9p4D5uGD6+xl4XwGXgCKUrS4JG8YgXldYdswjD5/AIpRq5zOujCQ4tbxb3hAilK0uCRvGIG1l2UFVKjoi8hEDaOD8XipB+1gimrKXWGaQZcFDa/ZJloW9aKUAIP2kQAAR577k0iteQCDiPUACI7jUkgAgXHwnFGtPQsA=="}' - POST/tts-text-normalize-de$0.005Rule-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.), paragraphs (§ 5a), en-dash ranges, decimals, thousands separators, numbers with leading zeros (read digit by digit) and about 45 unambiguous abbreviations from the Duden list, plus your own abbreviations.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/tts-text-normalize-de' \ -H 'Content-Type: application/json' \ -d '{"text":"Am 12.11.2026 um 14:30 Uhr kostet das Ticket 12,50 €, z. B. für 3,5 km."}' - POST/video-denoise$0.01Filters 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 short low-resolution clips). Strength presets light/medium/strong map to fixed filter parameters stated in the response.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/video-denoise' \ -H 'Content-Type: application/json' \ -d '{"method":"hqdn3d","strength":"light","video_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif"}' - POST/video-dup-detect$0.02Both 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 matter). Flat samples (standard deviation below 4 grey levels on the 32×32 image) carry no information and are skipped. Every time offset between the two sequences is tried; at each offset a pair of samples matches when their hashes differ in at most max_hamming bits.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/video-dup-detect' \ -H 'Content-Type: application/json' \ -d '{"video_a_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","video_b_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif"}' - POST/video-quality-compare$0.02Both 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 bicubic filter when the sizes differ (the display aspect ratios must agree within 2 %).
Example
curl -i -X POST 'https://ton.halowerk.com/v1/video-quality-compare' \ -H 'Content-Type: application/json' \ -d '{"worst_frames":3,"distorted_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","reference_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif"}' - POST/video-stabilize$0.02Pass 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 tripod mode, followed by a light unsharp mask as the vid.stab authors recommend, then H.264 (libx264, CRF by quality) with AAC audio.
Example
curl -i -X POST 'https://ton.halowerk.com/v1/video-stabilize' \ -H 'Content-Type: application/json' \ -d '{"smoothing":10,"video_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif"}' - POST/video-text-ocr$0.03Samples 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 largest changes win). The chosen frames are re-extracted at up to 1280 px width (small videos are upscaled 2x) and read with Tesseract 5.3.4 (LSTM, sparse-text mode, Ubuntu tessdata eng/deu, Apache-2.0).
Example
curl -i -X POST 'https://ton.halowerk.com/v1/video-text-ocr' \ -H 'Content-Type: application/json' \ -d '{"video_url":"https://upload.wikimedia.org/wikipedia/commons/2/2c/Rotating_earth_%28large%29.gif","max_ocr_frames":4}' - POST/voice-agent-eval$0.005Takes the turns of a voice-agent conversation (speaker, text, optional start/end times) and your goal criteria (required phrases per speaker, success and failure phrases). Without any language model it detects, with German and English phrase lists: agent fallback/no-match prompts, user requests for a human, agent transfers, user corrections, repeated user utterances and repeated agent prompts (normalised Levenshtein similarity >= 0.8 / 0.9), and with timestamps: response latency after each user…
Example
curl -i -X POST 'https://ton.halowerk.com/v1/voice-agent-eval' \ -H 'Content-Type: application/json' \ -d '{"goal":{"success_phrases":["ist gebucht"]},"turns":[{"text":"Guten Tag, wie kann ich helfen?","speaker":"agent"},{"text":"Ich möchte einen Termin am Freitag.","speaker":"user"},{"text":"Ihr Termin am Freitag um 10 Uhr ist gebucht.","speaker":"agent"}],"ended_by":"agent"}'
A dash means the listing gives no price or method. {Braces} mark a value you fill in. Copy buttons copy an example URL.
Showing 25 of 50 endpoints. First endpoints
Agents can find it through the Superstables MCP server and JSON API: GET /api/v1/services/ton.halowerk.com
Recent checks
- Median response
- 815 ms
- Last checked
- 14 Nov, 15:25 UTC
Our probes look for a payment challenge. They don't test payment or delivery.
All 2 checks
| When (UTC) | Result | HTTP | Response |
|---|---|---|---|
| 14 Nov, 15:25 UTC | Live | 402 | 873ms |
| 13 Nov, 00:24 UTC | Live | 402 | 757ms |
Questions
Did our last probe detect a payment challenge?
At our last probe on 14 Nov, 15:25 UTC, it returned HTTP 402 or another detected payment-challenge signal.
What payment terms does ton.halowerk.com advertise?
The listing advertises x402, Base and USDC. It names cdp as its facilitator. Check the seller's current payment challenge and authentication requirements before paying.
Something wrong on this page? Tell us.