Details for creating JOBS,
project_id ->> ID of project in which the job will be created
x_api_key ->> API key for authentication
workflow_id ->> The workflow in which the job will be created
batch_id ->> The batch in which job will be created
# Additional helper function to create a batch
def create_batch(BATCH_NAME):
base_url = f"https://api.playment.io/v1/projects/{PROJECT_ID}/batch"
DATA = {"name":BATCH_NAME}
response = requests.post(base_url, headers={'x-api-key': CLIENT_KEY}, json=DATA)
response_data = response.json()
if response.status_code >= 500:
raise Exception(f"Something went wrong at Playment's end {response.status_code}")
if 400 <= response.status_code < 500:
raise Exception(f"{response_data['error']['message']} {response.status_code}")
#method that can be used to call the job creation api
def create_job(project_id, data, x_api_key):
base_url = "https://api.playment.io/v1/projects/{}/jobs".format(project_id)
headers = {'x-api-key': x_api_key}
response = requests.post(base_url, headers=headers, json=data)
if response.status_code >= 500:
raise Exception(response.text)
if 400 <= response.status_code < 500:
raise Exception(response.text)
if __name__ == "__main__":
#list of frames in a single job
frames = ["https://example.com/image_url_1","https://example.com/image_url_2","https://example.com/image_url_3"]
#reference_id should be unique for each job
video_data = {'frames' : []}
frame_id = "frame"+str(i)
frame_obj = {'src':frame_url,'frame_id':frame_id}
video_data['frames'].append(frame_obj)
'reference_id':reference_id,
'work_flow_id':workflow_id,
'data':{'video_data':video_data},
response = create_job(project_id=project_id, data=job_data, x_api_key= x_api_key)