To offset the cost of starting up a new ephemeral node (high), first ping a public gateway (e.g. ipfs.io) to get the size of the requested object. If it's over some size (recursively), start up the node. Otherwise perform a GET over the gateway (and validate the hash).