HALOWERK Medien
Takes an audio or video file by URL or inline base64 and returns the transcript: the full text, every word with start and end time and its own confidence, the utterances and paragraphs the recogniser separated, and the detected language with its confidence where no language was specified.
- Category
- Images, audio & video
- Starting price
- $0.001
- Paid calls · 30 days
- 198
- Unique payers · 30 days
- 155
Paid endpoints
122 endpoints, sorted by usage. Prices are per request.
- POST/v1/dub
Takes an audio or video file of up to 10 minutes and returns a dubbed audio track in the target language. The speech is transcribed with timestamps and split into blocks; each block is translated on its own and spoken by a Deepgram voice of the target language, then placed at the start time of the original block. A spoken block that is longer than its slot is sped up to at most 1.6x, and any remai
$0.10Base1calls / 30d - POST/v1/burn-subtitles
Takes a video of up to 3 minutes and returns an MP4 with the subtitles rendered into the picture. Subtitles come either from you as SRT or WebVTT text, or, with transcribe=true, from the soundtrack (Deepgram, training opt-out) at 0.03 instead of 0.01 USDC per minute — the price is fixed before payment.
$0.03Base1calls / 30d - POST/v1/podcast-mix
Takes 2 to 4 audio tracks of the same conversation, one per speaker (remote recordings or a multitrack recorder), of up to 20 minutes, and returns one mixed episode. Every track gets a high-pass filter against rumble and hum, light FFT noise reduction, a noise gate that closes while that speaker is silent so that bleed and room noise of the others do not sit twice in the mix, and is brought to a c
$0.01Base1calls / 30d - POST/v1/speech-coach
Takes a recording of a talk, pitch, lesson or rehearsal of up to 30 minutes and returns delivery metrics computed from word timestamps: words per minute overall and for every minute, filler words (uh, um, äh, ähm) and hedge words (basically, actually, eigentlich, sozusagen) per minute with their most frequent forms, pauses over one second with position, average and longest sentences, and phrases o
$0.03Base1calls / 30d - POST/v1/voice-note-tasks
Takes a voice note or memo of up to 10 minutes and returns its contents as separate entries: tasks with due date, events with start and end, contacts with spoken phone number or e-mail, and notes. Relative expressions such as "tomorrow", "next Tuesday" or "end of the month" are resolved against reference_time in the given IANA time zone, and every entry carries the verbatim phrase it was taken fro
$0.03Base1calls / 30d - POST/v1/sentiment-timeline
Takes a conversation, call, focus group or meeting of up to 60 minutes, separates speakers, splits it into time windows (default 60 seconds) and returns a sentiment timeline: per window and speaker a score from -1 to +1, a label such as tense, pleased or annoyed, and a verbatim quote that is checked against the transcript. Also returned are the average per speaker, the largest changes as turning p
$0.04Base1calls / 30d - POST/v1/lecture-flashcards
Takes a lecture or talk recording of up to 120 minutes and returns study material: a summary, key terms, flashcards with front and back, and multiple-choice questions with four options, the correct answer and an explanation. Every card and question names the paragraph of the transcript it comes from, and the timestamp of that paragraph is attached so learners can jump to the place in the recording
$0.04Base1calls / 30d - POST/v1/subtitles-multi
Takes an audio or video file and up to five target languages and returns subtitles for each: the speech is transcribed once with word timestamps, split into cues at pauses, six seconds or 84 characters, and every cue is translated on its own into each language in parallel. The number and timing of cues is identical across all languages and the original, and this is checked for every language.
$0.04Base1calls / 30d - POST/v1/interview-article
Takes an interview recording of up to 60 minutes and returns an edited question-and-answer text ready for editing: title, two-to-three-sentence standfirst, and the questions with smoothed answers — fillers, false starts and repetitions removed, grammar fixed, statements, figures and names kept exactly. Speakers are separated automatically, and their labels can be replaced with names.
$0.05Base1calls / 30d - POST/v1/ad-detect
Takes a podcast episode of up to 120 minutes and returns its advertising segments: paid sponsor reads, self-promotion (newsletter, Patreon, merchandise) and cross-promotion of other shows, each with start and end on sentence boundaries, the advertiser and any discount code as spoken, and a verbatim evidence phrase that is checked against the transcript — a segment without verified evidence is repo
$0.06Base1calls / 30d - POST/v1/subtitle-convert
Takes subtitle text in SRT or WebVTT (format detected automatically) and returns it in one or more target formats: SRT, WebVTT, ASS with a readable default style, TTML, JSON cue list or plain text. Cue settings and styling of the source are not carried over; timings and text are. Blocks that cannot be parsed are counted and reported instead of silently dropped. Pure text processing on this machine
$0.001Base1calls / 30d - POST/v1/timestamps-shift
Takes SRT or WebVTT subtitles and corrects their timing in one of two ways: either with an offset in seconds and an optional speed factor (new = old × factor + offset, e.g. 25/23.976 for a frame-rate mismatch), or with two anchors — a cue number and the time where it really belongs, for two cues far apart — from which factor and offset are calculated and reported. Cues that would start before zero
$0.001Base1calls / 30d - POST/v1/speaker-rename
Takes a transcript, SRT or WebVTT text and a mapping from labels to names, e.g. {"Speaker 1": "Anna Weber", "S2": "Interviewer"}, and replaces each label where it marks a speaker: at the start of a line before a colon, and inside WebVTT voice tags <v Speaker 1>. Words inside sentences that merely look like a label are not touched. The answer counts replacements per label and lists speaker labels f
$0.001Base1calls / 30d - POST/v1/audio-convert
Takes an audio or video file and returns the audio in the requested format — MP3, Opus, Ogg Vorbis, AAC in M4A, WAV or FLAC — with selectable bitrate for lossy formats, sample rate and mono or stereo. Only the first audio stream is converted; the content is not altered otherwise. Input and output are measured with ffprobe and both are reported, including size change. Output inline as base64, max 8
$0.002Base1calls / 30d - POST/v1/media-probe-batch
Takes 1 to 25 media files by URL or inline (each up to 24 MB) and returns for each: duration in seconds and in started minutes (the value every per-minute service here expects as duration_minutes), container, audio and video codecs, channels, sample rate, resolution, frame rate, bitrate, size and SHA-256, plus detected file type. Files that cannot be read are reported with their error instead of f
$0.002Base1calls / 30d - POST/v1/captions-check
Takes subtitle text in SRT or WebVTT and checks every cue against configurable rules: maximum characters per line (default 42), maximum lines per cue (2), reading speed in characters per second (default 17 for adults, 13 recommended for children), minimum duration (0.83 s) and maximum duration (7 s), overlapping cues, and gaps too short for the eye to register a change (under 2 frames). Defaults f
$0.002Base1calls / 30d - POST/v1/stereo-check
Takes an audio or video file of up to 60 minutes and measures each channel and the mono sum: RMS level per channel and channel balance, the correlation-like difference between left and right (identical channels mean the file is mono in a stereo container), a silent or much quieter channel, and the level loss of the mono sum compared with the stereo signal — a loss of more than about 3 dB means par
$0.002Base1calls / 30d - POST/v1/audio-trim
Takes an audio or video file (up to 24 MB) and returns the part between start_seconds and end_seconds as an audio file. The cut is sample-accurate because the excerpt is re-encoded rather than cut at the nearest frame. Optional fade-in and fade-out in seconds. If the end lies beyond the file, the excerpt ends with the file and this is reported. Output inline as base64, max 8 MB. Runs locally with
$0.003Base1calls / 30d - POST/v1/waveform-image
Takes an audio or video file (up to 24 MB) and returns its waveform as a PNG image with chosen width, height, wave colour and background colour, mono or one lane per channel, optionally on a logarithmic scale that makes quiet speech visible. Rendered locally with ffmpeg; the image comes back inline as base64 along with duration and size. Nothing leaves this machine. Fixed price per call.
$0.003Base1calls / 30d - POST/v1/spectrogram-image
Takes an audio or video file (up to 24 MB) and returns a spectrogram image: time on the horizontal axis, frequency on the vertical, intensity as colour, with scale and legend. It makes visible what the ear misses — mains hum as a line at 50 or 60 Hz, broadband noise, the cut-off of a phone or low-bitrate recording, and hard edits. Size, colour scheme and linear or logarithmic intensity are selecta
$0.003Base1calls / 30d - POST/v1/silence-split
Takes an audio or video file of up to 60 minutes, detects silences longer than min_silence_seconds below threshold_db and cuts the recording into parts at the middle of each silence. Parts shorter than min_part_seconds are merged with their neighbour; at most 50 parts. Returned are the cut list with start, end and duration of every part and, if they fit into 8 MB together, the parts themselves as
$0.003Base1calls / 30d - POST/v1/hum-remove
Takes an audio or video file and removes electrical mains hum — the steady buzz at 50 Hz (Europe and most of the world) or 60 Hz (North America) and its harmonics — with narrow notch filters (Q 30) on the fundamental and up to eight harmonics, so speech and music outside those narrow bands stay untouched. Choose the mains frequency or leave it on 50 by default; the number of harmonics is selectabl
$0.003Base1calls / 30d - POST/v1/de-ess
Takes a voice recording and reduces sibilance, the harsh hiss on s, sh, z and ch sounds that close microphones and bright voices produce, with ffmpeg's de-esser at light, medium or strong intensity. Only the sibilant frequencies are attenuated when they occur, so the rest of the voice keeps its brightness. Too strong a setting makes speech sound lispy; medium suits most podcasts. Runs locally with
$0.003Base1calls / 30d - POST/v1/speed-change
Takes an audio or video file and changes its tempo by a factor from 0.5 (half speed) to 2.0 (double speed) while keeping the pitch, using the Rubber Band time-stretching library through ffmpeg — good for faster listening, language learning at reduced speed, or fitting a voice-over into a slot. The new running time is measured and returned. All timestamps of the original scale by 1/factor. Runs loc
$0.003Base1calls / 30d - POST/v1/pitch-shift
Takes an audio or video file and transposes it by a number of semitones from -12 to +12 while keeping tempo and running time, using the Rubber Band library through ffmpeg. With preserve_formants on, voices keep their natural timbre instead of sounding like cartoon characters — useful for practice tracks in another key or light voice anonymisation. Pitch-shifting is not a secure anonymisation: it c
$0.003Base1calls / 30d - POST/v1/ringtone-cut
Takes an audio or video file and returns a ringtone: the part from start_seconds for length_seconds (at most 30, the iPhone limit), with a short fade-in and a fade-out, normalised to a loud but undistorted level, as M4R for iPhone or MP3 and Ogg for Android. Only use material you have the rights to. Runs locally with ffmpeg; nothing leaves this machine and nothing is stored. Output inline as base6
$0.003Base1calls / 30d - POST/v1/clipping-detect
Takes an audio or video file of up to 60 minutes and measures every 100 ms window for peak level and the number of samples sitting at the peak. Windows that reach the clipping threshold (default -0.1 dBFS) with several consecutive peak samples are merged into passages, each with start, end, duration and the number of clipped windows, sorted by severity. The verdict says clean, minor or severe, and
$0.003Base1calls / 30d - POST/v1/chapter-split
Takes an audio or video file of up to 60 minutes and a list of chapters with start time and title (e.g. from podcast show notes or topic segmentation) and returns one audio file per chapter, from its start to the next chapter's start, cut exactly by re-encoding. Up to 50 chapters; if all files together exceed 8 MB, Opus at a lower bitrate is suggested. Each file carries its title and duration. Run
$0.003Base1calls / 30d - POST/v1/intro-outro
Takes a main recording and an intro and/or outro file and returns one episode: intro, main part, outro, joined with short crossfades, every part brought to the same loudness first and the result normalised to the target. The measured start of the main part in the new file is returned, because every chapter mark and transcript time of the original shifts by that amount. Output as MP3, Opus, WAV or
$0.003Base1calls / 30d - POST/v1/media-chapters-embed
Takes a media file (up to 24 MB) and a list of chapters with start time and title — for example from the video digest, podcast show notes or topic segmentation — and returns the same file with real embedded chapters: MP4/M4A chapter atoms, Matroska chapters, or ID3 chapter frames for MP3. Audio and video are copied, not re-encoded. Chapters starting after the end are dropped and counted; the end o
$0.003Base1calls / 30d - POST/v1/audio-concat
Takes 2 to 10 audio or video files (each up to 24 MB, together up to 60 minutes) and joins their audio in the given order. Between parts either a pause of chosen length or a crossfade is placed; optionally every part is brought to a common loudness first so that no part is suddenly louder. The start time of every part in the joined file is measured and returned, ready for chapter marks. Output as
$0.004Base1calls / 30d - POST/v1/music-ducking
Takes a voice recording and a music track and returns one mix in which the music is lowered by sidechain compression whenever the voice is present and returns in pauses — the standard podcast and voice-over sound. The music is looped or trimmed to the voice length, starts at the chosen bed level and fades out at the end; the voice is levelled first. Depth of ducking and music level are selectable,
$0.004Base1calls / 30d - POST/v1/loudness-report
Takes 1 to 20 audio or video files (each up to 24 MB) and returns a loudness report: integrated loudness in LUFS, true peak in dBTP, loudness range in LU and duration per file, measured with ffmpeg's EBU R128 meter. Every file is rated against the selected targets — podcast -16 LUFS, streaming -14, EBU broadcast -23, ATSC broadcast -24, ACX audiobook -20 — with pass or fail and the gain in dB that
$0.004Base1calls / 30d - POST/v1/video-gif
Takes a video (up to 24 MB) and returns the part from start_seconds, up to 15 seconds long, as an animated GIF built with a palette computed for exactly this clip (much cleaner gradients than the default palette), or as animated WebP, which is smaller and true-colour but not supported everywhere. Width, frame rate and looping are selectable. Output inline as base64, max 12 MB; if the GIF would be
$0.004Base1calls / 30d - POST/v1/video-contact-sheet
Takes a video (up to 24 MB) and returns one JPEG with columns × rows frames taken at evenly spaced times across the running time, each tile labelled with its timestamp, and the list of those times. Tile width, grid size and JPEG quality are selectable. Useful for a quick visual overview, for choosing a thumbnail, or as a single image to hand to a vision model instead of a whole video. Runs locally
$0.004Base1calls / 30d - POST/v1/video-black-detect
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 separatel
$0.004Base1calls / 30d - POST/v1/video-subtitle-mux
Takes a video (up to 24 MB) and one to five SRT or WebVTT subtitle texts with language codes, and returns the video with each as a separate, switchable subtitle track tagged with its language, the first marked default. Picture and sound are copied, not re-encoded, so quality is unchanged and it is fast. MP4 uses mov_text (plays in QuickTime, browsers with players, most phones); MKV uses SRT tracks
$0.004Base1calls / 30d - POST/v1/video-thumbnail
Takes a video (up to 24 MB) and returns the best poster frames: candidates are spread over the running time, and for each segment ffmpeg's thumbnail filter selects the frame closest to the segment average, which avoids transitions, flashes and motion blur. Candidates that are almost black or very flat are dropped. The best candidates come back as JPEG at the chosen width, each with timestamp and m
$0.004Base1calls / 30d - POST/v1/video-trim
Takes a video (up to 24 MB) and returns the part between start_seconds and end_seconds, at most 180 seconds, as MP4 with H.264 and AAC. The clip is re-encoded, so it starts exactly at the requested time rather than at the previous keyframe. Optional maximum width and short video and audio fades at both ends. If the end lies beyond the video, the clip ends with the video and this is reported. Outpu
$0.006Base1calls / 30d - POST/v1/video-convert
Takes a video of up to 10 minutes and 24 MB and returns it as MP4 with H.264 and AAC and fast-start for web playback, or as WebM with VP9 and Opus, scaled down to max_width if larger (aspect ratio kept), at high, medium or low quality, optionally with the audio removed. Input and output facts — container, codec, resolution, frame rate, duration and size — are measured and returned with the size ra
$0.008Base1calls / 30d - POST/v1/video-watermark
Takes a video of up to 5 minutes and returns it with a text watermark rendered into the picture in DejaVu Sans, at top-left, top-right, bottom-left, bottom-right or centre, with selectable size relative to the picture height and opacity, optionally followed by a running timecode — useful for review copies and drafts. Sound is copied unchanged. Output MP4 (H.264/AAC) inline as base64, max 24 MB. Ru
$0.008Base1calls / 30d - POST/v1/subtitle-translate
Takes subtitle text in SRT or WebVTT and a target language and returns the translated file: every cue is translated on its own so that number, order and timing of cues stay exactly as in the original, which is checked on each model answer. Line breaks inside a cue are joined for translation. Output in SRT or WebVTT. Translation by a language model at Groq, which does not train on inputs; disclosed
$0.01Base1calls / 30d - POST/v1/video-vertical
Takes a video of up to 3 minutes and returns it in vertical 9:16 format at 720x1280 or 1080x1920. Mode crop fills the frame by cutting the sides, with the horizontal focus position selectable from left (0) to right (1); mode blur keeps the whole picture and places it centred on a blurred, enlarged copy of itself, so nothing is lost. Sound is kept. Output MP4 (H.264/AAC) inline as base64, max 24 MB
$0.01Base1calls / 30d - POST/v1/numbers-extract
Takes a call, meeting, dictation or interview of up to 60 minutes and returns its numeric statements as structured data: kind (amount, percent, date, time, duration, quantity, phone, year), the wording as spoken, a normalised value, unit or currency, what the number refers to, the sentence it comes from and its timestamp. A language model classifies; each value must point to an existing sentence w
$0.03Base1calls / 30d - POST/v1/entities
Takes a recording of up to 60 minutes and returns the named entities in it — people, places, organisations, products, events — each with its type, a short description taken from the context, and every mention with timestamp and surrounding words. A language model proposes the names; every name is then searched word by word in the transcript, and names without a match are dropped and counted. Usefu
$0.03Base1calls / 30d - POST/v1/question-detect
Takes a conversation of up to 60 minutes — interview, meeting, sales or support call — and returns every question asked, detected from the recogniser's punctuation together with speaker separation, with speaker, timestamp and the reply that followed. Whether a question was taken up is measured: another speaker saying at least five words within 30 seconds counts as a reply.
$0.03Base1calls / 30d - POST/v1/topic-segments
Takes a recording of up to 120 minutes and returns its topic structure: segments that start where the subject really changes, each with a topic label of up to eight words, keywords, a one-sentence summary, start and end time and the spoken text of the segment. Boundaries are chosen by a language model as sentence numbers only, so they always fall on sentence starts with recogniser timestamps. Maxi
$0.03Base1calls / 30d - POST/v1/audio-qa
Takes a recording of up to 60 minutes and up to ten questions, and answers each one strictly from the transcript. Every answer cites the sentence numbers it relies on; those sentences are returned with their text and timestamps, and citations to sentences that do not exist are removed. When the recording does not contain the answer, the question is marked not answered instead of guessed. Answer la
$0.03Base1calls / 30d - POST/v1/transcript-merge
Takes up to 20 transcript parts, each a list of segments with start, end and text, plus an optional speaker label and a time offset in seconds (where the part starts in the full recording). Offsets are applied, all segments are sorted by time, and the merged transcript is returned as a segment list, plain text with speaker labels, SRT and WebVTT. Overlapping segments from different speakers are ke
$0.001Base1calls / 30d - POST/v1/cost-estimate
Takes an audio or video file (up to 24 MB), measures its running time, derives the started minutes to declare as duration_minutes, and returns for every service of this hub that bills by duration the exact price it would quote — computed with the same quote function that produces its 402 challenge — or the reason it cannot take the file (too long). Services with other price units (per call, per fi
$0.001Base1calls / 30d