Local File to Streamable Media


At the moment, when artists submit files via Shotgun:Publish, it links the local media to where the artist file was stored originally. Lets say if artist has his .jpg file on the his desktop, the local media will link to his local desktop, then generating a web streamable version.

I am looking for a way, that can when publishing the local files release to the server location first (where shotgun project is stored on the stuido server), then generate a web version after. Essentially, link the streamable version to the published .jpg file. This way, the original high res version of the file is always store on the server, where the anyone on the team can access other than link to someones desktop. Hopefully it makes a sense.


Hey @he.sun—welcome to the forum! Your question is better suited for our #pipeline category, so I’ve pushed it over there for the right eyes to see. :slight_smile:


As Johnny said, welcome to the forums!

In answer to your question, yes you can modify this behaviour although it will require some scripting.

It would be good to determine whether you’re using our basic integrations or our advanced ones?
If you’ve not been through the advanced setup wizard as outlined in this doc then you will be using the basic integrations.

If you could let me know which I can help point you down the right route to being able to modify the publish process.

It should be noted that the advanced integrations handle how folders should be created and where files should be stored. However even with the advanced integrations, the standalone publish behaviour defaults to letting you save the file where ever you like, so some customization would still be needed.

In short, you would need to take over and modify the validation method in the publish hook, so that it failed validation if the file was not stored on the server:

You can read more about the publish customization here.


I am not using advanced implementation. I think what I am after is a way of copying file to the server, when we are publishing the a local file from artist’s local harddrive. Then link the web streamable version “Path To Media” to the copied server file.


Hi @he.sun,

In my knowledge this will only be possible when you use install the pipeline and modify the configuration as Phil pointed out above.

If you are using the default non-installed config this will not work.


I’ve just created a new topic here detailing how to take over the basic integrations. Ideally we need to turn this into docs, but for now, it can live there.

Those steps should get you to a place where you have a config you can modify and your project will use it.
Once you’ve done that you can modify the config to take over the publish plugin python hook and modify the behaviour so that it copies the file to your server.
Not that this is specific to your use case, but I did also write a new topic, that as part of it covered how to take over a publish hook: Publish Plugin default check state.

1 Like