![]() |
Review SubmissionProvides functionality to submit media to Shotgun for review. |

Documentation
How do I use this App?
As an API
As a menu item
Installation, Updates and Development
Configuration Options
Release Notes History
An app that provides functionality to help submitting image sequences as Versions in Shotgun for review. This app does not have a UI but instead provides API methods for quicktime and review generation. You can call the app from your scripts, or from within hooks. For example, your publish configuration can call this as part of a post process hook if you want to create a quicktime and send it for review. This app will generate a quicktime with burn-ins and slates. You can configure if you want it to upload the quicktime to Shotgun or keep it on disk, or both. Lastly it will create a new version inside of Shotgun, ready to reviewed in Screening Room!
Documentation
How do I use this App?
As an API
This app have a mode that is meant to be called from inside other apps like the multi-publish app.
This mode creates quicktimes from image sequences and submits them as Versions to Shotgun in order to facilitate review. The generated quicktimes will have slates and burnins. Things such as font, logo position, movie compression options and burnin / slate information are currently hardcoded in the default hooks and as such you are encouraged to re-implement the hook function to adjust the behaviour.
Here are a the current default formats for slate and burnin:


Should you want to leverage this app from within your own apps or hooks here is a quick rundown of the simple way to go about it.
- Get the
tk-multi-reviewsubmission
app from the current engine. This can be done from inside a hook using the callself.parent.engine.apps.get('tk-multi-reviewsubmission')
. - If the app is available, call the
render_and_submit_version()
method.
Here's an example of what this can look like inside your hook code:
review_submission_app = self.parent.engine.apps.get("tk-multi-reviewsubmission") if review_submission_app: review_submission_app.render_and_submit_version( template, fields, first_frame, last_frame, sg_publishes, sg_task, comment, thumbnail_path, progress_cb, color_space )
The arguments that you need to pass to render_and_submit_version
are as follows:
template
: A template that defines where the files to publish are locatedfields
: Fields that will be used to fill out the templatefirst_frame
: The first frame of the image sequence to processlast_frame
: The last frame of the image sequence to processsg_publishes
: A list of Shotgun Published File objects to link the version to.sg_task
: A Shotgun Task link dictionary to link the version to.comment
: Text to add to the Version's description.thumbnail_path
: The path to a thumbnail to use for the version when the movie isn't being uploaded to Shotgun (this is set in the config)progress_cb
: A callback to report progress with. This should be of the form:callback(percent, message)
color_space
: The color space that the input frames are in. In Nuke, this would be one of the enumeration values on the colorspace knob for the Write node.
As a menu item
This mode adds a menu item to the Shotgun menu inside the DCC.
This mode creates a quick snapshot of the current viewport and sends it to Shotgun Create as a Version draft. Then, the user can extend the review submission inside of Shotgun Create by adding annotations, text or comparison notes.
In order to add this functionality to your context, you need to:
- Set the
display_name
field to have it in the menu item. - Set the
render_media_hook
field to a hook that tells how to render media in your DCC (tk-photoshopcc and tk-maya have a default implementation) - Set the
submitter_hook
field to{self}/submitter_create.py
Like this:
tk-multi-reviewsubmission: display_name: Send for review render_media_hook: '{self}/render_media.py:{self}/{engine_name}/render_media.py' submitter_hook: '{self}/submitter_create.py' location: type: app_store name: tk-multi-reviewsubmission version: v1.0.1
Related Apps and Documents
![]() |
PublishThe Publish app allows artists to publish their work so that it can be used by artists downstream. It supports traditional publishing workflows within the artist’s content creation software as well as stand-alone publishing of any file on disk. When working in content creation software and using the basic Shotgun integration, the app will automatically discover and display items for the artist to publish. For more sophisticated production needs, studios can write custom publish plugins to drive artist workflows. |
![]() |
Quickreview NodeThis app adds a Nuke node which you can add anywhere in your node graph. Once added to your scene, you can double click the node, go to the properties page and hit the "Send to Review" button. The app will then render a quicktime of your scene, add burnins and slates and upload it to Shotgun. |
![]() |
Write NodeThis app contains a custom Write Node gizmo for Nuke, abstracting away the file system paths from the user, allowing them to focus on just naming the particular output. Shotgun takes care of the rest! This app is typically used in conjunction with the Publish app and if you install the publish app for nuke, you most likely want to install this one too! |
Installation and Updates
Adding this App to the Shotgun Pipeline Toolkit
If you want to add this app to Project XYZ, in an environment named asset, execute the following command:
> tank Project XYZ install_app asset tk-maya tk-multi-reviewsubmission
Updating to the latest version
If you already have this item installed in a project and you want to get the latest
version, you can run the update
command. You can either navigate to the
tank command that comes with that specific project, and run it there:
> cd /my_tank_configs/project_xyz > ./tank updates
Alternatively, you can run your studio tank
command and specify the project
name to tell it which project to run the update check for:
> tank Project XYZ updates
Collaboration and Evolution
![]() |
If you have access to the Shotgun Pipeline Toolkit, you also have access to the source code for all apps, engines and frameworks in Github where we store and manage them. Feel free to evolve these items; use them as a base for further independent development, make changes (and submit pull requests back to us!) or simply tinker with them to see how they have been built and how the toolkit works. You can access this code repository at https://github.com/shotgunsoftware/tk-multi-reviewsubmission. |
Special Requirements
- You need Shotgun Pipeline Toolkit Core API version v0.19.5 or higher to use this.
Configuration
Below is a summary of all the configuration settings used. These settings need to be defined in the environment file where you want to enable this App or Engine.
movie_width
Type: int
Default Value: 1920
Description: The width of the rendered movie file
display_name
Type: str
Description: Specify the name that should be used in menus and the main
render_media_hook
Type: hook
Default Value: {self}/render_media.py:{self}/{engine_name}/render_media.py
Description: Implements how media get generated while this app is running.
slate_logo
Type: config_path
Description: This is the path to an image to use on the slate such as a company logo. The supplied image will be reformated into a 400 pixel box and the lower left corner of the logo will be aligned 100 pixels to the right and 100 pixels above the lower left corner of the slate. You can use an image with an alpha channel if you want to add transparency. Currently any image format supported by Nuke is adequate. If this setting is an empty string, no logo will be applied.
new_version_status
Type: str
Default Value: rev
Description: The value to use for a new Version's status.
movie_path_template
Type: template
Optional Template Keys: ***
Description: Template defining the output location of the movie file on the the file system. For this template you can use all the fields defined in the template passed to the render_and_submit fields. In addition to these you can use the special fields width and height, which contain the resolution of the movie. If the store_on_disk setting is false, this setting will still be required but will be used as a temporary location for processing before the file is uploaded to Shotgun.
store_on_disk
Type: bool
Default Value: True
Description: Should the movie being created be kept on disk? Disabling this as well as the upload_to_shotgun option will effectively disable the whole tool.
upload_to_shotgun
Type: bool
Default Value: True
Description: Should the movie being created be uploaded to Shotgun as a version or just kept on disk? Disabling this as well as the store_on_disk option effectively disables the whole tool.
version_number_padding
Type: int
Default Value: 3
Description: This value will be used to pad the version number in the slate and various movie burnins. This will not affect version number padding in the movie filename. See movie_path_template. Use 1 for no padding.
submitter_hook
Type: hook
Default Value: {self}/submitter_sgtk.py
Description: Implements how media get sent to Shotgun
movie_height
Type: int
Default Value: 1080
Description: The height of the rendered movie file
Release Notes
Welcome to the release notes for this App. Below you will find an overview of all the changes we did for each release. We try to be as detailed as possible and include all bugs we have fixed, features we have added and things that may have changed. If you have questions about a particular release, don't hesitate to contact our support team!
v1.1.1
2020-Apr-21
Required core version now v0.19.1.
v1.1.0
2020-Apr-21
Adds support for Python 3.
v1.0.3
2020-Mar-24
Re-introduce the new_version_status setting. It got lost during the app refactoring.
v1.0.2
2020-Feb-25
Fix movie nuke movie render.
The app should use the fields as-is to find the input path and only inject the resolution from the app setting to the template that builds the output movie.
v1.0.1
2020-Feb-14
Add support for Maya 2016, 2017 and 2018
v1.0.0
2020-Jan-27
Provides an action item to send media to Shotgun Create as a Review on tk-maya and tk-photoshopcc
v1.0.0-rc6
2020-Jan-22
Automatically detect the Maya playblast settings and other fixes.
v1.0.0-rc5
2020-Jan-13
v1.0.0-rc4
2020-Jan-08
Fix maya mov file naming.
v1.0.0-rc3
2020-Jan-07
Render AVI files while doing Maya playblasts from Windows
v1.0.0-rc2
2019-Dec-12
Improved media file naming based on the context and better error handling.
v1.0.0-rc1
2019-Nov-29
Set Shotgun Create as the submitter and add support for tk-maya and tk-photoshopcc
v0.3.2
2016-May-12
Fix an issue where bad quality QuickTimes gets generated in Nuke 9
v0.3.1
2016-Mar-03
Adds metrics logging
v0.3.0
Adds support for context changes.
v0.2.1
2016-Jan-12
fix for error when using file_type specific settings in the codec_settings
hook
Details:
Previously we were creating the node by passing in all of the settings at once which was generating errors if Nuke tried to set the knob before the file_type had been set. This change creates the node with the file_type setting, and then applies the rest of the settings from the codec_settings hook after.
v0.2.0
2015-Sep-28
Moves the Quicktime generation settings into a hook
Details:
- Allows studios to easily override the default output settings when generating movies to submit to Screening Room.
- Updated default settings for Nuke 9+ on linux. Nuke 9 removed ffmpeg as a
file_type
and replaced it with mov64. This handles that case and sets the codec to jpeg in that case to match the behavior on Mac and Windows.
v0.1.12
fixed bug causing an error if Nuke was in proxy mode
Details:
While the Publish app does not support publishing from Nuke in proxy mode, this app does support submitting proxy renders in case users have custom apps or workflows that need this
v0.1.11
Add handling for Nuke 9 knob name change from codec to meta_codec
v0.1.10
Added new method to app that allows the colorspace of the input frames to be specified
Details:
- Previously, the colorspace was not being passed through for the rendered frames so if it was set to a non-default value, the rendered movie would be wrong.
v0.1.9
Fixed issue with Quicktimes rendering black in Nuke 7 on Windows
v0.1.8
The artist field on the Version is now populated by the app
v0.1.7
Fixed FFMPEG call for Nuke 7 in Linux
Details: The FFMPEG call syntax worked in Nuke 6.3 but not 7 in Linux - thanks for the tip, Benoit Leveau!
v0.1.6
Fixed issue when using legacy Tank Published File entities
v0.1.5
Documentation Adjustments.
v0.1.4
Added threaded review submission.
v0.1.3
Polish and Bug fixes.
Details: - Now populates more fields on version. - Versions are created by the current user. - Better naming and handling of slate parameters.
v0.1.2
Initial Release to the App Store.