FFmpeg - how to adjust video (clip) duration to sound duration if sound is longer, possible without re-encoding it with mp3 file?
You can hack this using mp4fpsmod (direct link to Win binary; C++ source at https://github.com/nu774/mp4fpsmod).

First step is to extract the timestamps of the existing video

mp4fpsmod -p vid_tc.txt vid.mp4


This will produce a text file like this

# timecode format v2
0
40
80
120
... 
4880
4920
4960


Each line contains the timestamp of frame #N in milliseconds.

In this example, each frame is 40 milliseconds long and the last frame is shown at 4960 ms and hence the video stream is 5 seconds long.

Now suppose your audio is 11.34 seconds == 11340 ms long. Edit the last timecode to something just under 11340, like 11320.

# timecode format v2
0
40
80
120
... 
4880
4920
11320


and then run

mp4fpsmod -x -T keep -t vid_tc.txt -o vid_new.mp4 vid.mp4


This will create a new file vid_new.mp4, which you can upload. The duration shown in desktop players or tools can be wrong, but playback should be as desired, except that the last frame is shown along with the end of the audio. This skips re-encoding and is quick. You can add -i and skip -o vid_new.mp4 if you want to edit the timecode in-place in existing file i.e. 

mp4fpsmod -x -T keep -t vid_tc.txt -i vid.mp4


but I don't recommend it.