[bug] Can't upload 4K 60fps videos from an iPhone

I am not sure if this problem is iPhone specific, but it was the only device I have that can record 4K at 60fps.

I have an iPhone 8 with the camera settings set to 4K at 60fps (and “Most Compatible” format). When I try to upload a video longer than five minutes on go.api.video, the upload fails with error:

Sometimes the video uploads successfully if it’s a minute.

iPhone videos at 4K and 30fps upload fine. One thing odd that I noticed with 4K 60fps videos is that if you try to preview them in a website using Object.createObjectURL and a video tag, the player looks different compared to other previewed videos that are of a lesser quality and only plays the audio.

1 Like

Hi there,

Let’s figure this out:

4K videos are big - so are you splitting the video into segments? Is the first segment ever working? or does it fail on the first segment?

(FYI - look to our SDKs - they abstract the need to split up the videos yourself - I use the NodeJS SDK all the time, and just upload the full video).

We’re looking into our server logs as to what might have caused a 504, but the devs have not come up with anything yet. Could you try it again today?


Merci de chercher à m’aider. Je crois que j’y suis finalement arrivée. La vidéo est en ligne sur l’un de mes blogs. J’espère pouvoir en faire d’autres sans ennuis à l’occasion. Je vous remercie.

Mme Tissot


I am using the “Upload” button on https://go.api.video/ and the 4k 60fps video is failing to upload, so I think it’s an issue on your guys’ end.

I was able to upload this 4k 60 fps video to my account: https://commons.wikimedia.org/w/index.php?title=File%3A(4k)Wild_Animal-Ultra_HD_Video_TV_60fps(2160p).webm
using to go.api.video upload.

how big is your file in MB/GB?


1.71 GB
5 minutes 1 second
4k 60fps
shot on iPhone 8

Hi there,

I just used the go.api.video button to upload a 4K 60 FPS video that was 5:25 and 3.05 GB. it took 63 minutes, but it worked.

I think the issue is that the timeout is occurring between phone -> server with button.
Server with button -> ingestion will break into smaller chunks and work just fine.

I’d recommend hosting your own video upload server closer to your location (or even running on localhost) to break the video into chunks. By minimising the distance of travel of the big file (before it is broken into chunks), you are less likely to have any HTTP timeouts of the first leg of your video’s journey to api.video.

Here is my demo app that I use:

To run it locally, just follow the directions in the readme to install the node dependencies, and then npm start - and it will be at localhost:3000.

I think this will alleviate your upload issues.

1 Like

Bonjour. Je ne parle pas anglais…

Envoyé depuis l’application Mail Orange