I haven't yet found the actual limiting condition, but after some threshold of plot width/height/number of data points, I am unable to download a png of a Plotly plot. See following codepen:
https://codepen.io/anon/pen/WWZBOB
With n = 20000, I can't download the png, Chrome just shows the following message:

With n = 10000, it works. It also works with a 2000x2000 figure layout and 20000 points.
Thanks for reporting!
Interestingly, downloading your graph in FF66 works fine. Chrome must put a URL-length limit in <a> with download attribute like we use here:
I found this stackoverflow post claiming that Chrome uses a 2MB limit.
We should probably try using URL.createObjectURL.
Interestingly, we were using createObjectURL to some extent back before https://github.com/plotly/plotly.js/pull/446/
PoC in https://github.com/plotly/plotly.js/compare/createObjectURL
We should be able to get a fix in the next minor 1.49.0 (I wouldn't want to try this our in a patch release).
https://codepen.io/etpinard/pen/zVdjQg which uses https://42931-45646037-gh.circle-artifacts.com/0/dist/plotly.min.js
appears to work correctly on Chrome 70 and FF67 on my laptop.
Before making a PR, we still need to test the legacy fallbacks on IE10, IE11 and Safari.
I manually tested saving mock 14.json to image by clicking the snapshot button in the modebar. I used a bundle built off your branch createObjectUrl which is currently at b31fef645f09248ebb194ce8efd6695b7d1d9b96

Cool. Thanks! Have you tried downloading 14.json on Safari and IE10 off master?
Taking a snapshot of 14.json on Safari works off master: it downloads the image to the filesystem
In IE10 I can't load the dashboard and render anything.
Things seems to now work ok in Safari off https://github.com/plotly/plotly.js/commit/ecf3ac7c739c2e1a4ae0a840c83cfd6c1731a2d2 on browserstack.
Still, before I make a PR, I would appreciate if someone with access to a Mac could test out https://codepen.io/etpinard/pen/QXraeW in Safari.
Thanks!