> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pulze.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Open submitter

> Open the local submitter pre-filled with a job. This machine only



## OpenAPI

````yaml /renderflow/api-reference/openapi.json post /jobs/submitter
openapi: 3.1.0
info:
  title: RenderFlow API
  version: 2.0.0
  description: Render farm management.
servers:
  - url: http://localhost:44442/api/v1
    description: The service on this machine. Answers without a credential
  - url: http://your-server:44442/api/v1
    description: A farm's server. Needs an API key
  - url: https://your-server:44445/api/v1
    description: A farm's server set up with TLS. Needs an API key
security:
  - bearerAuth: []
paths:
  /jobs/submitter:
    post:
      tags:
        - Jobs
      summary: Open submitter
      description: Open the local submitter pre-filled with a job. This machine only
      operationId: openSubmitter
      parameters:
        - schema:
            type: string
            maxLength: 256
            description: >-
              Whose desktop to open it on; two people signed in to one machine
              each have their own
          required: false
          description: >-
            Whose desktop to open it on; two people signed in to one machine
            each have their own
          name: user
          in: query
        - schema:
            type: boolean
            description: >-
              false opens the single job even when the scene lists render items;
              omitted follows the submitter's own default, which is one job per
              item
          required: false
          description: >-
            false opens the single job even when the scene lists render items;
            omitted follows the submitter's own default, which is one job per
            item
          name: batch
          in: query
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JobRecipe'
      responses:
        '200':
          description: >-
            Whether the submitter opened. `opened: false` with a reason when the
            desktop app isn't running. The request itself succeeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubmitterResult'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Missing or invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '403':
          description: Not permitted for this credential
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '422':
          description: Validation failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '500':
          description: Unhandled server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    JobRecipe:
      oneOf:
        - $ref: '#/components/schemas/MaxRenderRecipe'
        - $ref: '#/components/schemas/ArnoldRenderRecipe'
        - $ref: '#/components/schemas/AfterRenderRecipe'
        - $ref: '#/components/schemas/BlenderRenderRecipe'
        - $ref: '#/components/schemas/AutographRenderRecipe'
        - $ref: '#/components/schemas/HarmonyRenderRecipe'
        - $ref: '#/components/schemas/KeyShotRenderRecipe'
        - $ref: '#/components/schemas/RenderManRenderRecipe'
        - $ref: '#/components/schemas/Cinema4DRenderRecipe'
        - $ref: '#/components/schemas/MayaRenderRecipe'
        - $ref: '#/components/schemas/NukeRenderRecipe'
        - $ref: '#/components/schemas/PremiereRenderRecipe'
        - $ref: '#/components/schemas/MediaEncoderEncodeRecipe'
        - $ref: '#/components/schemas/DavinciRenderRecipe'
        - $ref: '#/components/schemas/VantageRenderRecipe'
        - $ref: '#/components/schemas/VredRenderRecipe'
        - $ref: '#/components/schemas/HoudiniBatchRecipe'
        - $ref: '#/components/schemas/MantraRenderRecipe'
        - $ref: '#/components/schemas/HuskRenderRecipe'
        - $ref: '#/components/schemas/VRayStandaloneRecipe'
        - $ref: '#/components/schemas/SketchUpRenderRecipe'
        - $ref: '#/components/schemas/RhinoRenderRecipe'
        - $ref: '#/components/schemas/RedshiftRenderRecipe'
        - $ref: '#/components/schemas/UnrealRecipe'
        - $ref: '#/components/schemas/FusionRenderRecipe'
        - $ref: '#/components/schemas/ShellRecipe'
        - $ref: '#/components/schemas/PythonRecipe'
        - $ref: '#/components/schemas/ComfyUIRenderRecipe'
        - $ref: '#/components/schemas/MaxScriptRecipe'
        - $ref: '#/components/schemas/BlenderScriptRecipe'
        - $ref: '#/components/schemas/Cinema4DScriptRecipe'
        - $ref: '#/components/schemas/MayaScriptRecipe'
        - $ref: '#/components/schemas/HoudiniScriptRecipe'
        - $ref: '#/components/schemas/NukeScriptRecipe'
        - $ref: '#/components/schemas/FusionScriptRecipe'
        - $ref: '#/components/schemas/MaxExportRecipe'
        - $ref: '#/components/schemas/MayaExportRecipe'
        - $ref: '#/components/schemas/BlenderExportRecipe'
        - $ref: '#/components/schemas/Cinema4DExportRecipe'
        - $ref: '#/components/schemas/RenderFlowCustomPluginRecipe'
      discriminator:
        propertyName: type
        mapping:
          3dsmax.render: '#/components/schemas/MaxRenderRecipe'
          arnold.render: '#/components/schemas/ArnoldRenderRecipe'
          after.render: '#/components/schemas/AfterRenderRecipe'
          blender.render: '#/components/schemas/BlenderRenderRecipe'
          autograph.render: '#/components/schemas/AutographRenderRecipe'
          harmony.render: '#/components/schemas/HarmonyRenderRecipe'
          keyshot.render: '#/components/schemas/KeyShotRenderRecipe'
          renderman.render: '#/components/schemas/RenderManRenderRecipe'
          cinema4d.render: '#/components/schemas/Cinema4DRenderRecipe'
          maya.render: '#/components/schemas/MayaRenderRecipe'
          nuke.render: '#/components/schemas/NukeRenderRecipe'
          premiere.render: '#/components/schemas/PremiereRenderRecipe'
          media_encoder.encode: '#/components/schemas/MediaEncoderEncodeRecipe'
          davinci.render: '#/components/schemas/DavinciRenderRecipe'
          vantage.render: '#/components/schemas/VantageRenderRecipe'
          vred.render: '#/components/schemas/VredRenderRecipe'
          houdini.batch: '#/components/schemas/HoudiniBatchRecipe'
          houdini.mantra: '#/components/schemas/MantraRenderRecipe'
          houdini.husk: '#/components/schemas/HuskRenderRecipe'
          vray_standalone: '#/components/schemas/VRayStandaloneRecipe'
          sketchup.render: '#/components/schemas/SketchUpRenderRecipe'
          rhino.render: '#/components/schemas/RhinoRenderRecipe'
          redshift.render: '#/components/schemas/RedshiftRenderRecipe'
          unreal: '#/components/schemas/UnrealRecipe'
          fusion.render: '#/components/schemas/FusionRenderRecipe'
          shell: '#/components/schemas/ShellRecipe'
          python: '#/components/schemas/PythonRecipe'
          comfyui.render: '#/components/schemas/ComfyUIRenderRecipe'
          3dsmax.script: '#/components/schemas/MaxScriptRecipe'
          blender.script: '#/components/schemas/BlenderScriptRecipe'
          cinema4d.script: '#/components/schemas/Cinema4DScriptRecipe'
          maya.script: '#/components/schemas/MayaScriptRecipe'
          houdini.script: '#/components/schemas/HoudiniScriptRecipe'
          nuke.script: '#/components/schemas/NukeScriptRecipe'
          fusion.script: '#/components/schemas/FusionScriptRecipe'
          3dsmax.export: '#/components/schemas/MaxExportRecipe'
          maya.export: '#/components/schemas/MayaExportRecipe'
          blender.export: '#/components/schemas/BlenderExportRecipe'
          cinema4d.export: '#/components/schemas/Cinema4DExportRecipe'
          renderflow.custom_plugin: '#/components/schemas/RenderFlowCustomPluginRecipe'
    SubmitterResult:
      type: object
      properties:
        opened:
          type: boolean
        reason:
          type: string
          description: Why the submitter could not be opened
      required:
        - opened
    ApiError:
      type: object
      properties:
        error:
          type: string
        tag:
          type: string
          description: The catalog entry this failure is, when it is one
        title:
          type: string
          description: The catalog entry's title
        detail:
          type: string
          description: What happened this time, and what to do
        issues:
          type: array
          items:
            type: object
            properties:
              path:
                type: array
                items:
                  anyOf:
                    - type: string
                    - type: number
              message:
                type: string
            required:
              - path
              - message
      required:
        - error
    MaxRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - 3dsmax.render
        camera:
          type: string
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        tiled:
          anyOf:
            - type: boolean
            - type: object
              properties:
                tiles_x:
                  type: integer
                  minimum: 1
                tiles_y:
                  type: integer
                  minimum: 1
              required:
                - tiles_x
                - tiles_y
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        distributed:
          type: boolean
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: 3ds Max
    ArnoldRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - arnold.render
        camera:
          type: string
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Arnold
    AfterRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - after.render
        render_queue_item:
          anyOf:
            - type: string
            - type: object
              properties:
                name:
                  type: string
                rqindex:
                  type: number
                options:
                  type: array
                  items:
                    type: object
                    properties:
                      rqindex:
                        type: number
                      name:
                        type: string
                      status:
                        type: string
                    required:
                      - rqindex
                      - name
              required:
                - name
        frame:
          $ref: '#/components/schemas/FrameSpec'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: After Effects
    BlenderRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - blender.render
        camera:
          type: string
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Blender
    AutographRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - autograph.render
        composition:
          type: string
          minLength: 1
          description: >-
            The composition to render, by name. Defaults to the project's main
            composition
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Autograph
    HarmonyRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - harmony.render
        camera:
          type: string
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Harmony
    KeyShotRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - keyshot.render
        camera:
          type: string
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: KeyShot
    RenderManRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - renderman.render
        frame:
          $ref: '#/components/schemas/FrameSpec'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: RenderMan
    Cinema4DRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - cinema4d.render
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Cinema 4D
    MayaRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - maya.render
        render_layer:
          type: string
        camera:
          type: string
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Maya
    NukeRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - nuke.render
        frame:
          $ref: '#/components/schemas/FrameSpec'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Nuke
    PremiereRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - premiere.render
        sequence:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NamedSelection'
        preset:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/PresetSelection'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Premiere Pro
    MediaEncoderEncodeRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - media_encoder.encode
        preset:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/PresetSelection'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Media Encoder
    DavinciRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - davinci.render
        render_job:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NamedSelection'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: DaVinci Resolve
    VantageRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - vantage.render
        scene_state:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NamedSelection'
        camera:
          type: string
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Vantage
    VredRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - vred.render
        clip:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/NamedSelection'
        sequencer:
          anyOf:
            - type: string
            - $ref: '#/components/schemas/PresetSelection'
        camera:
          type: string
        viewpoint:
          type: string
          description: >-
            A camera track's viewpoint, as "Track / Viewpoint", or a viewpoint's
            name alone. It wins over `camera`
          example: Camera Track Stills / Left
        settings:
          $ref: '#/components/schemas/VredRenderSettings'
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: VRED Render
    HoudiniBatchRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - houdini.batch
        rop_node:
          anyOf:
            - type: string
            - type: object
              properties:
                name:
                  type: string
                options:
                  type: array
                  items:
                    type: string
              required:
                - name
        frame:
          $ref: '#/components/schemas/FrameSpec'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Houdini
    MantraRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - houdini.mantra
        frame:
          $ref: '#/components/schemas/FrameSpec'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Mantra
    HuskRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - houdini.husk
        frame:
          $ref: '#/components/schemas/FrameSpec'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Husk
    VRayStandaloneRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - vray_standalone
        camera:
          type: string
        frame:
          $ref: '#/components/schemas/FrameSpec'
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: V-Ray Standalone
    SketchUpRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - sketchup.render
        camera:
          type: string
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: SketchUp
    RhinoRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - rhino.render
        camera:
          type: string
        resolution:
          $ref: '#/components/schemas/Resolution'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Rhino
    RedshiftRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - redshift.render
        frame:
          $ref: '#/components/schemas/FrameSpec'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Redshift
    UnrealRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - unreal
        render_item:
          anyOf:
            - type: string
            - type: object
              properties:
                id:
                  type: string
                options:
                  type: array
                  items:
                    $ref: '#/components/schemas/UnrealRenderItem'
              required:
                - id
        split:
          type: string
          enum:
            - shot
            - chunks
            - job
          description: >-
            How the range becomes tasks: shot (a task a shot, the default),
            chunks (by the step's batch size) or job (one task)
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Unreal
    FusionRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - fusion.render
        frame:
          $ref: '#/components/schemas/FrameSpec'
        args:
          type: string
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Fusion
    ShellRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - shell
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
      required:
        - file
        - type
      additionalProperties: false
      title: Shell
    PythonRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - python
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: Python
    ComfyUIRenderRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        file:
          type: string
        host:
          $ref: '#/components/schemas/SoftwareRef'
        engine:
          $ref: '#/components/schemas/EngineRef'
        plugins:
          type: array
          items:
            $ref: '#/components/schemas/PluginRef'
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        _v:
          type: integer
          minimum: 1
        scene:
          $ref: '#/components/schemas/SceneDescription'
        spec:
          type: object
          properties: {}
          additionalProperties: {}
        type:
          type: string
          enum:
            - comfyui.render
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        settings:
          type: object
          additionalProperties: {}
          description: >-
            The workflow's declared fields (positive/negative/seed/cfg/... or
            `${nodeId}_${widgetName}`), plus run_count/seed_mode/seed_increment.
            A key left out keeps what the workflow parse set
          example:
            seed: 12345
            run_count: 1
      required:
        - file
        - host
        - type
      additionalProperties: false
      title: ComfyUI
    MaxScriptRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        script:
          type: string
          description: The .py to run. A job carrying a typed script instead leaves it out
          example: P:/pipeline/export_abc.py
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        type:
          type: string
          enum:
            - 3dsmax.script
      required:
        - type
      additionalProperties: false
      title: 3ds Max Script
    BlenderScriptRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        script:
          type: string
          description: The .py to run. A job carrying a typed script instead leaves it out
          example: P:/pipeline/export_abc.py
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        type:
          type: string
          enum:
            - blender.script
      required:
        - type
      additionalProperties: false
      title: Blender Script
    Cinema4DScriptRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        script:
          type: string
          description: The .py to run. A job carrying a typed script instead leaves it out
          example: P:/pipeline/export_abc.py
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        type:
          type: string
          enum:
            - cinema4d.script
      required:
        - type
      additionalProperties: false
      title: Cinema 4D Script
    MayaScriptRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        script:
          type: string
          description: The .py to run. A job carrying a typed script instead leaves it out
          example: P:/pipeline/export_abc.py
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        type:
          type: string
          enum:
            - maya.script
      required:
        - type
      additionalProperties: false
      title: Maya Script
    HoudiniScriptRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        script:
          type: string
          description: The .py to run. A job carrying a typed script instead leaves it out
          example: P:/pipeline/export_abc.py
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        type:
          type: string
          enum:
            - houdini.script
      required:
        - type
      additionalProperties: false
      title: Houdini Script
    NukeScriptRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        script:
          type: string
          description: The .py to run. A job carrying a typed script instead leaves it out
          example: P:/pipeline/export_abc.py
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        type:
          type: string
          enum:
            - nuke.script
        flags:
          type: string
          description: >-
            Nuke's own command-line flags. `args` all reach the script's
            `sys.argv`
          example: '-i'
      required:
        - type
      additionalProperties: false
      title: Nuke Script
    FusionScriptRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        script:
          type: string
          description: The .py to run. A job carrying a typed script instead leaves it out
          example: P:/pipeline/export_abc.py
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        type:
          type: string
          enum:
            - fusion.script
      required:
        - type
      additionalProperties: false
      title: Fusion Script
    MaxExportRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        format:
          type: string
          description: 'What to export to: `ass`, `vrscene`, `rs` or `usd`'
          example: vrscene
        frame:
          $ref: '#/components/schemas/FrameSpec'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        prepare:
          type: string
          description: A script run in the same session before the export
          example: P:/pipeline/set_renderer.py
        type:
          type: string
          enum:
            - 3dsmax.export
      required:
        - type
      additionalProperties: false
      title: 3ds Max Export
    MayaExportRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        format:
          type: string
          description: 'What to export to: `ass`, `vrscene`, `rs` or `usd`'
          example: vrscene
        frame:
          $ref: '#/components/schemas/FrameSpec'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        prepare:
          type: string
          description: A script run in the same session before the export
          example: P:/pipeline/set_renderer.py
        type:
          type: string
          enum:
            - maya.export
      required:
        - type
      additionalProperties: false
      title: Maya Export
    BlenderExportRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        format:
          type: string
          description: 'What to export to: `ass`, `vrscene`, `rs` or `usd`'
          example: vrscene
        frame:
          $ref: '#/components/schemas/FrameSpec'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        prepare:
          type: string
          description: A script run in the same session before the export
          example: P:/pipeline/set_renderer.py
        type:
          type: string
          enum:
            - blender.export
      required:
        - type
      additionalProperties: false
      title: Blender Export
    Cinema4DExportRecipe:
      type: object
      properties:
        live_host:
          $ref: '#/components/schemas/LiveHostHints'
        name:
          type: string
          minLength: 2
          maxLength: 255
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: Machines kept off this job, whatever else they could render
        master:
          type:
            - string
            - 'null'
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
          description: >-
            The machine that runs this step's render. A distributed render's
            dispatcher. It must be one of `nodes` when those are given
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
          description: >-
            Render licences the step takes a seat of, by name. For what the
            scene cannot say, like a plugin inside it
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
        file:
          type: string
          description: >-
            The scene the script opens. It is never parsed. The script decides
            what to do with it. And a script that needs none leaves it out
          example: P:/shot010/scene.ma
        args:
          type: string
        work:
          $ref: '#/components/schemas/WorkList'
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        format:
          type: string
          description: 'What to export to: `ass`, `vrscene`, `rs` or `usd`'
          example: vrscene
        frame:
          $ref: '#/components/schemas/FrameSpec'
        output:
          type: array
          items:
            $ref: '#/components/schemas/ImageOutput'
        prepare:
          type: string
          description: A script run in the same session before the export
          example: P:/pipeline/set_renderer.py
        type:
          type: string
          enum:
            - cinema4d.export
      required:
        - type
      additionalProperties: false
      title: Cinema 4D Export
    RenderFlowCustomPluginRecipe:
      type: object
      properties:
        type:
          type: string
          enum:
            - renderflow.custom_plugin
        id:
          type: string
          description: The plugin's manifest id
          example: com.studio.blender-render
        version:
          type: string
          description: >-
            Omit to take whichever version is installed; the job pins it either
            way
        name:
          type: string
          minLength: 2
          maxLength: 255
        params:
          type: object
          additionalProperties: {}
          description: >-
            Values for the script's own declarations, bound before it is
            imported
          example:
            lut: show.cube
        state:
          type: object
          additionalProperties: {}
          description: >-
            The plugin's own state, in its own shape. Carried to the script
            untouched
        host:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            version:
              type: string
          required:
            - id
          description: >-
            The application this was submitted from; its version pre-fills that
            app's requirement
        fields:
          type: object
          additionalProperties:
            type: object
            properties:
              options:
                type: array
                items:
                  anyOf:
                    - type: string
                    - type: number
                    - type: boolean
                    - type: object
                      properties:
                        value: {}
                        label:
                          type: string
              readonly:
                type: boolean
              batch:
                type: boolean
          description: >-
            What a field may be answered with, for this submission only. A list
            only the application could know, whether it is settled, and whether
            the farm should make one job per option
        status:
          type: string
          enum:
            - pending
            - suspended
        priority:
          type: number
          minimum: 0
          maximum: 100
        dependencies:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        blacklisted_nodes:
          type: array
          items:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
            example: 68b1f0c2a4d3e5f6a7b8c9d0
        pool_id:
          type: string
          pattern: ^[a-fA-F0-9]{24}$
          example: 68b1f0c2a4d3e5f6a7b8c9d0
        env:
          $ref: '#/components/schemas/JobEnv'
        licenses:
          type: array
          items:
            type: string
            maxLength: 64
            pattern: ^[a-z0-9_-]+$
          maxItems: 50
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/JobMetadata'
          description: 'Labelled values the job carries: a show, a shot, an artist'
      required:
        - type
        - id
      additionalProperties: false
      title: Plugin
    LiveHostHints:
      type: object
      properties:
        pid:
          type: integer
          description: >-
            Process id of the running DCC; resolved to a port through the
            live-host registry
        port:
          type: integer
          description: Port of the DCC's plugin HTTP server; wins over pid
    SoftwareRef:
      type: object
      properties:
        id:
          type: string
          enum:
            - 3dsmax
            - after
            - arnold
            - autograph
            - blender
            - cinema4d
            - corona_image_editor
            - fusion
            - fusion_render_node
            - harmony
            - houdini
            - keyshot
            - maya
            - nuke
            - nvidia
            - premiere
            - media_encoder
            - davinci
            - cmd
            - bash
            - powershell
            - photoshop
            - python
            - perforce
            - renderman
            - revit
            - rhino
            - sketchup
            - vray
            - vray_standalone
            - vray_standalone_spawner
            - vantage
            - vred
            - vred_pro
            - vred_core
            - ffmpeg
            - imager
            - redshift_standalone
            - unreal
            - comfyui
            - renderflow
            - scene_manager
            - renderflow
        name:
          type: string
        version:
          anyOf:
            - type: string
            - type: number
            - type: 'null'
      required:
        - id
    EngineRef:
      type: object
      properties:
        id:
          type: string
          enum:
            - arnold
            - corona
            - fstorm
            - redshift
            - renderman
            - vray
        name:
          type: string
        version:
          type: string
      required:
        - id
        - name
        - version
    PluginRef:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        version:
          type: string
      required:
        - id
        - name
        - version
    JobEnv:
      type: object
      additionalProperties:
        type: string
      description: >-
        Environment variables for every application the job starts, over the
        app's own. `$NAME` reads the value the app would have had.
      example:
        OCIO: //studio/config/aces.ocio
        PATH: $PATH;//studio/tools/bin
    JobMetadata:
      type: object
      properties:
        id:
          type: string
          default: ''
        label:
          type: string
          default: ''
        value:
          anyOf:
            - type: string
            - type: number
            - type: boolean
            - type: 'null'
        type:
          type: string
          default: ''
    SceneDescription:
      type: object
      properties:
        host:
          anyOf:
            - $ref: '#/components/schemas/SoftwareRef'
            - type: 'null'
        engine:
          $ref: '#/components/schemas/SceneEngineRef'
        plugins:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/PluginRef'
        file:
          type:
            - string
            - 'null'
        resolution:
          type:
            - object
            - 'null'
          properties:
            width:
              type: integer
            height:
              type: integer
          required:
            - width
            - height
        frame:
          type:
            - object
            - 'null'
          properties:
            type:
              type: integer
            frame:
              type: string
            single:
              anyOf:
                - type: number
                - type: string
            range:
              type: array
              items:
                anyOf:
                  - type: number
                  - type: string
            list:
              type: string
            step:
              type: number
            fps:
              type: number
            order:
              type: string
              enum:
                - linear
                - reverse
                - endpoints
                - sparse
                - every_nth
                - random
            order_step:
              type: integer
              minimum: 2
          required:
            - type
          additionalProperties: {}
        output:
          type:
            - array
            - 'null'
          items:
            type: object
            properties:
              enabled:
                type: boolean
              type:
                type: number
              path:
                type: string
            required:
              - enabled
              - type
              - path
            additionalProperties: {}
        cameras:
          type:
            - array
            - 'null'
          items:
            type: object
            properties: {}
            additionalProperties: {}
        active_camera:
          type:
            - string
            - 'null'
        assets:
          type:
            - array
            - 'null'
          items:
            type: object
            properties: {}
            additionalProperties: {}
      additionalProperties: {}
    FrameSpec:
      type: string
      example: 1-100:4
      description: Single frame, range, range with step, or list
    Resolution:
      type: string
      pattern: ^\d+x\d+$
      example: 1920x1080
    ImageOutput:
      type: object
      properties:
        enabled:
          type: boolean
        type:
          type: number
          description: 'Output slot: 0 is the main image, the rest are render elements'
        path:
          type: string
      required:
        - enabled
        - type
        - path
    NamedSelection:
      type: object
      properties:
        name:
          type: string
        options:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              guid:
                type: string
            required:
              - name
      required:
        - name
    PresetSelection:
      type: object
      properties:
        path:
          type: string
        options:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              path:
                type: string
            required:
              - name
              - path
    VredRenderSettings:
      type: object
      properties:
        raytracing:
          type: boolean
          description: Raytracing
        renderer:
          type: string
          enum:
            - default
            - cpurt
            - gpurt
          description: Renderer
        quality:
          type: string
          enum:
            - default
            - VR_QUALITY_ANALYTIC_LOW
            - VR_QUALITY_ANALYTIC_HIGH
            - VR_QUALITY_REALISTIC_LOW
            - VR_QUALITY_REALISTIC_HIGH
            - VR_QUALITY_RAYTRACING
            - VR_QUALITY_NPR
          description: Render quality
        image_samples:
          type: integer
          minimum: 1
          maximum: 65536
          description: Image samples
        alpha:
          type: boolean
          description: Alpha channel
        premultiply:
          type: boolean
          description: Premultiply alpha
        tonemap_hdr:
          type: boolean
          description: Tonemap HDR
      additionalProperties: false
      description: VRED's Render Settings. A key left out keeps the scene's own
      example:
        renderer: gpurt
        image_samples: 512
        alpha: true
    UnrealRenderItem:
      type: object
      properties:
        id:
          type: string
        index:
          type: number
        name:
          type: string
        label:
          type: string
        sequence:
          type: string
        config:
          type: string
        map:
          type: string
        output_path:
          type: string
        extension:
          type: string
        resolution:
          type: string
        frame:
          type: string
        fps:
          type: number
        path_tracer:
          type: boolean
          description: >-
            The job renders with the Path Tracer; only a machine whose Unreal
            advertises it takes the step
        shots:
          type: array
          items:
            $ref: '#/components/schemas/UnrealShot'
          description: >-
            The job's enabled shots, in the frame range's numbering. With
            `split` at "shot" (the default) each is a task of its own; without
            them the range is one task
        queue_manifest:
          type: string
          description: >-
            The Movie Render Queue as the artist had it open, as the text
            Unreal's SaveQueueToManifestFile writes: the render loads it instead
            of the saved queue asset, so unsaved queue edits render too
      required:
        - id
        - name
        - sequence
        - config
        - map
    WorkList:
      type: object
      properties:
        type:
          type: string
          enum:
            - range
            - count
            - items
        range:
          type: string
          description: '`1-100`, or `1,3,5-12`'
          example: 1-100
        count:
          type: integer
          minimum: 1
          description: N runs, numbered 0..N-1
        items:
          type: array
          items: {}
          description: An explicit list; items are opaque to the service
      required:
        - type
      description: One task per chunk of this. Absent means a single run.
    SceneEngineRef:
      type:
        - object
        - 'null'
      properties:
        id:
          type: string
        name:
          type: string
        version:
          anyOf:
            - type: string
            - type: number
            - type: 'null'
      required:
        - id
    UnrealShot:
      type: object
      properties:
        name:
          type: string
        start:
          type: integer
        end:
          type: integer
          description: The shot's last frame
      required:
        - start
        - end
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: An API key from Settings, API Keys. A caller on this machine needs none.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.