Convert, probe, and split video into frames — real FFmpeg, paid per job with x402 on Base.
Déduit des transports déclarés par cette annonce (streamable-http). Un client absent de cette liste n’est pas écarté pour autant — c’est simplement quelque chose que Forge ne peut pas confirmer.
La vérification confirme l’identité de l’éditeur (la propriété du dépôt), pas la sûreté du code. L’analyse de sécurité couvre les CVE connues et les scripts d’installation suspects.
Lu depuis un véritable échange MCP initialize → tools/list contre l’endpoint déclaré. Aucun outil n’a été invoqué — tools/list est l’appel d’introspection en lecture seule que le protocole prévoit pour cela. Cela reflète ce que le serveur annonçait à cet instant ; un endpoint hébergé n’est figé sur aucune version et peut changer sans préavis.
https://ffpipe.dev/mcp6 outils · 199 msconvert_videoQueue an asynchronous video conversion: fetches sourceUrl (or, with upload: true, waits for you to PUT the bytes to the returned uploadUrl), converts to MP4 scaled to fit maxWidth x maxHeight (defaults 1920x1080, cap 4096). Returns { jobId, status: "queued" | "awaiting_upload", statusUrl, uploadUrl…Queue an asynchronous video conversion: fetches sourceUrl (or, with upload: true, waits for you to PUT the bytes to the returned uploadUrl), converts to MP4 scaled to fit maxWidth x maxHeight (defaults 1920x1080, cap 4096). Returns { jobId, status: "queued" | "awaiting_upload", statusUrl, uploadUrl…
| Paramètre | Type | Description |
|---|---|---|
| sourceUrl | string | https URL of the input media (<= 100 MiB). Fetched from datacenter IP ranges - prefer a presigned URL from storage you control; no IP literals, no localhost/.i… |
| upload | boolean | Set true to upload the bytes yourself instead of giving a sourceUrl (exactly one of the two). The paid result then returns status awaiting_upload plus uploadUr… |
| maxWidth | integer | Max output width, default 1920 |
| maxHeight | integer | Max output height, default 1080 |
| retryVoucher | string | Retry-voucher credential (`uuid.hmac`) from a failed paid job's status - pays for this call instead of x402. Single use, kind-matched. |
probe_mediaQueue an asynchronous media inspection: fetches sourceUrl (or, with upload: true, waits for you to PUT the bytes to the returned uploadUrl) and returns its technical metadata as a downloadable file. In the default json format the result is the full raw analysis plus one added top-level "ffpipe_summ…Queue an asynchronous media inspection: fetches sourceUrl (or, with upload: true, waits for you to PUT the bytes to the returned uploadUrl) and returns its technical metadata as a downloadable file. In the default json format the result is the full raw analysis plus one added top-level "ffpipe_summ…
| Paramètre | Type | Description |
|---|---|---|
| sourceUrl | string | https URL of the input media (<= 100 MiB). Fetched from datacenter IP ranges - prefer a presigned URL from storage you control; no IP literals, no localhost/.i… |
| upload | boolean | Set true to upload the bytes yourself instead of giving a sourceUrl (exactly one of the two). The paid result then returns status awaiting_upload plus uploadUr… |
| outputFormat | string | Format of the delivered analysis, default json. Only json carries the ffpipe_summary block; the rest are raw. flat is delivered as .txt. |
| sections | array | Which sections to report. Default: format, streams, chapters. |
| summary | boolean | Keep the normalized ffpipe_summary block (json only). Default true; send false for byte-exact raw output. |
| selectStreams | string | Restrict the analysis to matching streams, e.g. "v:0" (first video stream) or "a" (all audio). |
| showFrames | boolean | Report per-FRAME detail. Large: a bounded window is applied for you unless you send readIntervals. Pair with showEntries to keep only the fields you need. |
| showPackets | boolean | Report per-PACKET detail. Same bounded-window treatment as showFrames. |
| showEntries | string | Keep only the named fields, e.g. "frame=pict_type,pts_time,key_frame" or "format=duration". Section and field names only. |
| readIntervals | string | Limit the analysis to a window, e.g. "%+60" (first 60 seconds), "30%+10" (10 seconds from 0:30), "%+#500" (first 500 packets). |
| countFrames | boolean | Count frames exactly. Requires decoding the whole file - slow on long sources. |
| countPackets | boolean | Count packets exactly. Same cost caveat as countFrames. |
| retryVoucher | string | Retry-voucher credential (`uuid.hmac`) from a failed paid job's status - pays for this call instead of x402. Single use, kind-matched. |
extract_framesQueue an asynchronous frame extraction - the tool to reach for when you need to SEE a video: fetches sourceUrl (or, with upload: true, waits for you to PUT the bytes to the returned uploadUrl) and extracts still frames as jpeg, webp or png. mode is REQUIRED and picks the sampling (all, every_nth, i…Queue an asynchronous frame extraction - the tool to reach for when you need to SEE a video: fetches sourceUrl (or, with upload: true, waits for you to PUT the bytes to the returned uploadUrl) and extracts still frames as jpeg, webp or png. mode is REQUIRED and picks the sampling (all, every_nth, i…
| Paramètre | Type | Description |
|---|---|---|
| sourceUrl | string | https URL of the input media (<= 100 MiB). Fetched from datacenter IP ranges - prefer a presigned URL from storage you control; no IP literals, no localhost/.i… |
| upload | boolean | Set true to upload the bytes yourself instead of giving a sourceUrl (exactly one of the two). The paid result then returns status awaiting_upload plus uploadUr… |
| mode* | string | How to pick frames (required): "all" every frame; "every_nth" every Nth decoded frame (needs n); "interval" a fixed rate in seconds (needs fps, may be below 1)… |
| n | integer | every_nth only: keep every Nth DECODED frame (a frame index, not a time). |
| fps | number | interval only: frames per second, may be below 1 (0.5 = one frame every two seconds). |
| count | integer | evenly_spaced only: how many frames to spread across the window. |
| timestamps | array | timestamps only: seconds into the source, one accurate frame each. Sorted for you. |
| startTime | number | Window start in seconds (default 0). |
| endTime | number | Window end in seconds (0 or omitted = to the end); must exceed startTime. |
| maxOutputWidth | integer | Fit box width applied to the source's DISPLAY dimensions: aspect preserved, never upscaled, oriented to the input. 0 = no limit on this axis. |
| maxOutputHeight | integer | Fit box height, same rules as maxOutputWidth. |
| format | string | Image format of each frame, default jpeg (small and accepted by every vision API). png is lossless. |
| quality | integer | Encoder quality for jpeg/webp, default 85; ignored for png. |
| maxFrames | integer | Ceiling on frames produced, default and hard limit 1000. A request whose sampling would exceed it fails before any decoding. |
| retryVoucher | string | Retry-voucher credential (`uuid.hmac`) from a failed paid job's status - pays for this call instead of x402. Single use, kind-matched. |
get_job_statusFree status lookup for a job accepted by convert_video / probe_media / extract_frames. Requires the job's ownership token - the `t` query parameter of the statusUrl returned at acceptance (store the whole statusUrl; it cannot be regenerated). Status goes [awaiting_upload ->] queued -> finished | er…Free status lookup for a job accepted by convert_video / probe_media / extract_frames. Requires the job's ownership token - the `t` query parameter of the statusUrl returned at acceptance (store the whole statusUrl; it cannot be regenerated). Status goes [awaiting_upload ->] queued -> finished | er…
| Paramètre | Type | Description |
|---|---|---|
| jobId* | string | Job id from the acceptance |
| token* | string | Ownership token - the `t` query parameter of statusUrl |
get_balanceFree. Reports the credit balance of the account this client is connected to, plus what one credit is worth, what each operation costs in credits, the monthly free allowance and whether a card is on file to unlock it. Takes no input: it reads the account behind the credential your client already con…Free. Reports the credit balance of the account this client is connected to, plus what one credit is worth, what each operation costs in credits, the monthly free allowance and whether a card is on file to unlock it. Takes no input: it reads the account behind the credential your client already con…
Aucun schéma d’entrée n’a été publié pour cet outil.
leave_feedbackTell us what you needed. If ffpipe does not offer the operation you came for - another output format, extracting a frame, a different transformation entirely - say so here: these requests are aggregated and they drive directly what gets built next, so a one-line "I wanted X" is genuinely useful to…Tell us what you needed. If ffpipe does not offer the operation you came for - another output format, extracting a frame, a different transformation entirely - say so here: these requests are aggregated and they drive directly what gets built next, so a one-line "I wanted X" is genuinely useful to…
| Paramètre | Type | Description |
|---|---|---|
| type | string | What this is: "feature_request" for a capability ffpipe does not offer yet, "bug" for something broken, "feedback" for anything else. Defaults to "feedback". |
| message* | string | What you wanted, what went wrong, or what you think. Plain text, 1 to 2000 characters. Be concrete: "needed a single frame as a jpeg at a given timestamp" is w… |
| jobId | string | Optional job id this relates to. Context only - ownership is NOT checked and no token is needed. |
| contact | string | Optional. An email or handle to reply at, up to 200 characters. Omit it and the submission stays anonymous. |
6 outils sur 6 ont publié une description.
Les noms et descriptions d’outils sont écrits par l’éditeur et affichés tels quels, comme du texte inerte. Ce sont les chaînes qu’un client MCP transmet à un modèle, alors Forge y recherche des motifs d’injection de prompt — tout constat apparaît avec l’analyse de sécurité ci-dessus. « Privilégié » est une correspondance de mot-clé sur le nom de l’outil, pas un audit de ce qu’il fait : un nom anodin peut tout de même tout faire.
Convert, probe, and split video into frames — real FFmpeg, paid per job with x402 on Base.
Les noms cliquables ouvrent l’index Forge de toutes les entrées observées exposant cet outil. Parcourir tous les outils indexés.
Cette entrée ne publie aucun paquet npm : Forge n'a donc pas d'arbre de dépendances pour elle. C'est une lacune de couverture — pas une affirmation qu'elle n'a aucune dépendance.