Ideally, I want to tell PyTorch to use the same computational graph of the first frame for the next frames as it does not change.

The thing is that what takes memory is not the graph itself, but the intermediary buffers that are needed to do the backward. And these buffers are different for each input you give.

Can you be more specific please ?

You can try:
outputs = []
for i in range(n_frames):
     outputs.append(checkpoint(pretrained_model, video[i]))