IPFS has nothing to do with a blockchain. It's a peer to peer file system. The host ipfs.io though is often overused so it can be slow.
I would try a different IPFS provider such as Cloudflare or infura.io (https://infura-ipfs.io/ipfs/). Be aware that they're often rate limited so better to probably role your own IPFS node.
If you want to connect to a different node via nodejs, then here's some code that might help:
import { create } from 'ipfs-http-client';
const fs = require('fs');
// and then call the below function
async function getIpfsFileAsArchive(ipfs, cid){
for await (const buf of ipfs.get(cid, {archive: true, compress: true})) {
const ipfs = await create({host: "replace with ipfs host ip address"});
fs.createWriteStream(`./ipfs/${cid}.tar.gz`).write(buf);
}
}