How to upload image sequences with API?

data = { "project": {"type": "Project", "id": 23}, "entity": {"type": "Asset", "id": asset['id']}, "sg_status_list": "cmpt", "code":fileName } pub = sg.create('PublishedFile',data) sg.upload('PublishedFile',pub['id'],os.path.join(Path, +"_P.####.exr"),field_name='path')

I’m having issues getting our image sequences to upload using the API. Any ideas on what I’m doing wrong?

The publish is being created but the upload is not working. I’ve also tried just uploading a single image and that didn’t work either.

This was working fine for versions but would only upload a single image. I did some testing by uploading manually and saw that image sequences are publishes and so moved to this hoping to get the sequences in.


Hi @Mike_Burgoyne,

Welcome to the community!

We don’t support image sequence uploads, we only store proxy media of it, i.e. a QT/mov. We recommend you store the image sequences locally and use the Path to Frames field to link them to a proxy Version.



Just curious, whats happening when you upload an image sequence through the desktop app.


Hey @Mike_Burgoyne—jumping in for @DavidMason since it’s after hours in his part of the world! :slight_smile:

When you use the Desktop app, a QT movie proxy file of the image sequence is generated and uploaded to SG. The app also captures the local path (Path to Frames) so that tools that can access local media (RV, Shotgun Create) know where to look for playback.


@johnny.duguid Are you sure this functionality exists?

When uploading image sequences via the Publishing Tools straight from Shotgun Desktop it only uploads the first frame of the sequence as a thumbnail. There’s is no automatic QT movie proxy generation, and I couldn’t find anything in that regard in the default hooks. Or am I missing something?

According to this Thread it also seems like that’s the case…

The only things I could find where some automatic image sequence conversion step in the Nuke or After Effects engine hooks, when running the tk-multi-publish2 from within there.