Skip to content

Api Overview

Conductor's Python API is intended to be used by developers to build custom submission tools, and to integrate Conductor into existing workflows. In order to use the API, you will need to have a Conductor account, and we recommend that you use an API key to authenticate.

The goal of all Conductor submitters is to create a payload to be posted in an HTTP request. The payload is a JSON object that describes the submission, and includes a list of files to be uploaded to Conductor's storage. Let's take a look at a Conductor submission payload.

Anatomy of a Conductor Submission

A Conductor submission consists of a JSON payload that describes the submission, and a collection of files that are uploaded to Conductor's storage.

{
    "job_title": "Blender example bmw_half_turn_low.blend",
    "project": "default",
    "instance_type": "n1-standard-4",
    "software_package_ids": [
        "7be1b2410b3f93b2a2889f6ce191d4e1"
    ],
    "force": false,
    "local_upload": true,
    "preemptible": true,
    "autoretry_policy": {
        "preempted": {
        "max_retries": 3
        }
    },
    "output_path": "projects/blender/renders",
    "environment": {
        "PATH": "/opt/blenderfoundation/blender/2/blender-2.93.0-glibc217",
        "CONDUCTOR_PATHHELPER": "0"
    },
    "upload_paths": [
        "/projects/blender/bmw_half_turn_low.blend",
        "/projects/blender/sourceimages/img_0001.png",
    ],
    "scout_frames": "1,3",
    "tasks_data": [
        {
        "command": "blender -b \"/projects/blender/bmw_half_turn_low.blend\" -E CYCLES --render-output \"/projects/blender/renders/img_\" --render-frame 1..1 ",
        "frames": "1"
        },
        {
        "command": "blender -b \"/projects/blender/bmw_half_turn_low.blend\" -E CYCLES --render-output \"/projects/blender/renders/img_\" --render-frame 2..2 ",
        "frames": "2"
        },
        {
        "command": "blender -b \"/projects/blender/bmw_half_turn_low.blend\" -E CYCLES --render-output \"/projects/blender/renders/img_\" --render-frame 3..3 ",
        "frames": "3"
        },
    ]
}

Authentication

WIP