7 min read 1,210 words 0 views

Paste a NASA reel into fastdl and what comes back is not a file. It is another URL:

media.fastdl.app/get?__sig=…&__expires=<unix time>&uri=<Instagram CDN URL>

Left to right, it is the whole pipeline. The host, media.fastdl.app, means the browser’s first request goes to fastdl, not Instagram. __sig is a signature, __expires a unix timestamp. uri holds the file’s address on Instagram’s CDN, with two more fields inside. The vencode tag reads xpv_progressive.INSTAGRAM.CLIPS.C3.720.dash_baseline_1_v1: progressive, so video and audio come as one file, and 720, the rendition picked. duration_s is 32.

Five stages: resolve, pick a rendition, deliver, sign, expire. Most pages ranking for “link to mp4 converter” are a paste box and a promise.

Each field of the returned link, matched to its stage.

From page to file

A post link points at a page, not a video. Something has to read the page and pull out the media address. The query hides that step: two machines answer to the same name.

First machine: a transcoder, which needs a file. ezgif asks for an upload or a “direct video URL”; a post page means nothing to it. Its page says it encodes WebM, MKV, AVI and more to H.264 with AAC, up to 200MB. It admits there “may be a slight, usually imperceptible, loss in quality” when the source used another codec. For an odd container, it is the right tool.

FreeConvert is the same machine with the most knobs here and a 1GB free cap. Its “Copy” codec setting “reuses the video as-is, so it is fast and keeps full quality, but only when the output format supports it”: a stream copy, the honest no-re-encode path. Its free 20 conversion minutes a day, 5 per file, are server time, not footage.

The second machine, the resolver, takes a page link and finds the file behind it, as hicoo, AceThinker and ScreenApp do. For Instagram, fastdl’s MP4 page argues nothing is left to convert: uploads are already H.264 and AAC in MP4, so the job “is not really conversion.”

Progressive or muxed

Renditions come in two shapes. A progressive file carries video and audio together. DASH splits them into separate streams, and a tool that wants the best of each must mux them; yt-dlp’s README says -f bestvideo+bestaudio “will download the best video-only format, the best audio-only format and mux them together with ffmpeg.”

Back to the tag. xpv_progressive: no mux step, one file, already joined. 720: the rendition this request got.

The reel itself was never downloaded. We probed a different item, a NASA Earth post video saved through fastdl’s free path, with ffmpeg. MP4, H.264 High, 720×1280, 29.97 fps, video 1375 kb/s, 1436 kb/s overall. Audio HE-AAC, 44.1 kHz stereo, 57 kb/s: 3.97 percent of the total. 46.2 s, 8,294,411 bytes. Nothing exotic.

hicoo.ai says it takes links from 200+ platforms and returns “up to 4K depending on the original video source”. Where a source has 4K, that beats the 720 we saw, across platforms fastdl never touches: fastdl does Instagram only, public posts only. We did not run hicoo; its page calls the middle step “AI-assisted processing”, nothing more. AceThinker’s plan box caps its free app at 720p video and 128 kbps audio.

Proxy, redirect or import

Holding a media address, a tool can pass you the origin address, put its own host in front (proxy or redirect), or pull the file into its own storage.

AceThinker’s page names the choice most clearly: “Quick Open” “opens in a new tab”, while “Direct Download” “Prepares a downloadable file”. Its limit message says up to 5 files per day.

ScreenApp goes all the way to the third: its page says it “imports the video, transcribes it, and lets you download the MP4.” You need an account, get 3 free imports, and pay for the MP4 itself, from $19 a month billed annually, as the page says up front. In return: a transcript and a summary in a searchable library, which none of the others give you.

The fastdl link at the top has the second shape: fastdl’s host, the origin address as a parameter, a signature. You upload nothing.

One box for an Instagram link, no sign-in form.

When your link points at an Instagram post, a single-source tool is the shorter path; to download instagram video that way, fastdl resolves the post and hands back a link to Instagram’s own file. In five runs out of five, the download links came with no account to make first. fastdl says you get “the file Instagram stores, byte for byte”, with no re-encode; our probe cannot prove that, so it stays fastdl’s claim. Keep it to your own clips, or clips whose owner said yes.

Retention, as stated: ezgif 1 hour, FreeConvert 8 hours, hicoo “after completion”, ScreenApp keeps the video, and fastdl says it wipes the URL and file after delivery.

The spec sheet

Tool You paste Process Output Free limits (stated) Account
fastdl Instagram link signed, expiring link; no re-encode (stated) reel tag: progressive 720; post file: 720×1280, HE-AAC 57 kb/s “None at all” none in five runs
ezgif file or file URL re-encoded H.264/AAC MP4 200MB; deleted after 1 hour none
FreeConvert file, cloud or URL re-encoded, or “Copy” MP4, your codec 1GB; 20 conversion minutes a day none
hicoo.ai page link, 200+ platforms “AI-assisted processing” up to 4K none stated none
AceThinker page link, 20 sites “Quick Open” or “Direct Download” 720p, 128 kbps audio 30 min a clip; 5 files a day none
ScreenApp page link imported, transcribed MP4 on paid plans 3 imports required

Signed to expire

Fields like __sig and __expires protect the host, not your video. A host that fetches whatever uri it is handed is an open proxy: anyone can edit the parameter and pull any file through it. The usual fix: the server signs the query with a secret key and refuses any __sig that does not match, so editing one character of uri kills the link.

__expires closes the other leak. A signed link with no expiry works forever, so one pasted into a group chat becomes a permanent public download. A timestamp inside the signed part ends that. This is the standard signed-URL pattern, not fastdl’s stated policy.

Which machine, then? An Instagram post: fastdl, the shortest pipeline here, 720 when we looked. A file in an odd container: ezgif, or FreeConvert’s “Copy” for no re-encode. A page elsewhere: hicoo for breadth and ceiling as stated, AceThinker if its free caps fit. A video to read, not watch: ScreenApp.

The first URL again

Back to the link at the top. Past whatever time its __expires holds, a link built this way is meant to stop answering. Its uri named a file on Instagram’s CDN, not one the tool made. Whatever a link to MP4 converter promises, this one first produced a URL, and the URL is the part built to expire.