class Ittybit::TasksClient
def create(kind:, url: nil, input: nil, file_id: nil, workflow: nil, webhook_url: nil, filename: nil, folder: nil,
-
(Ittybit::TaskResponse)
-
Parameters:
-
request_options
(Ittybit::RequestOptions
) -- -
quality
(Integer
) -- Output quality setting (e.g., for video/image tasks, 0-100). -
height
(Integer
) -- Output height (for video/image tasks). -
width
(Integer
) -- Output width (for video/image tasks). -
format
(String
) -- Output format (e.g., for video/image tasks). -
folder
(String
) -- Desired output folder (if applicable). -
filename
(String
) -- Desired filename for the output (if applicable). -
webhook_url
(String
) -- An optional HTTPS URL to send a webhook notification to upon task completion or -
workflow
(Array
) -- An array of task definition objects for a workflow.Object}> -
file_id
(String
) -- ID of an existing file to use as input (alternative to url). -
input
(Hash{String => Object}
) -- Task-specific input parameters depending on the kind of task. -
url
(String
) -- URL of the source file (required for 'ingest' kind unless file_id is used, can -
kind
(Ittybit::Tasks::TasksCreateRequestKind
) -- The type of task to create.
def create(kind:, url: nil, input: nil, file_id: nil, workflow: nil, webhook_url: nil, filename: nil, folder: nil, format: nil, width: nil, height: nil, quality: nil, request_options: nil) response = @request_client.conn.post do |req| req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil? req.headers["Authorization"] = request_options.token unless request_options&.token.nil? req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact unless request_options.nil? || request_options&.additional_query_parameters.nil? req.params = { **(request_options&.additional_query_parameters || {}) }.compact end req.body = { **(request_options&.additional_body_parameters || {}), kind: kind, url: url, input: input, file_id: file_id, workflow: workflow, webhook_url: webhook_url, filename: filename, folder: folder, format: format, width: width, height: height, quality: quality }.compact req.url "#{@request_client.get_url(request_options: request_options)}/tasks" end Ittybit::TaskResponse.from_json(json_object: response.body) end
def get(id:, request_options: nil)
-
(Ittybit::TaskResponse)
-
Parameters:
-
request_options
(Ittybit::RequestOptions
) -- -
id
(String
) --
def get(id:, request_options: nil) response = @request_client.conn.get do |req| req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil? req.headers["Authorization"] = request_options.token unless request_options&.token.nil? req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact unless request_options.nil? || request_options&.additional_query_parameters.nil? req.params = { **(request_options&.additional_query_parameters || {}) }.compact end unless request_options.nil? || request_options&.additional_body_parameters.nil? req.body = { **(request_options&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: request_options)}/tasks/#{id}" end Ittybit::TaskResponse.from_json(json_object: response.body) end
def get_task_config(request_options: nil)
-
(Hash{String => Object})
-
Parameters:
-
request_options
(Ittybit::RequestOptions
) --
def get_task_config(request_options: nil) response = @request_client.conn.get do |req| req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil? req.headers["Authorization"] = request_options.token unless request_options&.token.nil? req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact unless request_options.nil? || request_options&.additional_query_parameters.nil? req.params = { **(request_options&.additional_query_parameters || {}) }.compact end unless request_options.nil? || request_options&.additional_body_parameters.nil? req.body = { **(request_options&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: request_options)}/tasks-config" end JSON.parse(response.body) end
def initialize(request_client:)
-
(Ittybit::TasksClient)
-
Parameters:
-
request_client
(Ittybit::RequestClient
) --
def initialize(request_client:) @request_client = request_client end
def list(limit: nil, status: nil, kind: nil, request_options: nil)
-
(Ittybit::TaskListResponse)
-
Parameters:
-
request_options
(Ittybit::RequestOptions
) -- -
kind
(Ittybit::Tasks::TasksListRequestKind
) -- Filter by task kind. -
status
(Ittybit::Tasks::TasksListRequestStatus
) -- Filter by task status. -
limit
(Integer
) -- Items per page.
def list(limit: nil, status: nil, kind: nil, request_options: nil) response = @request_client.conn.get do |req| req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil? req.headers["Authorization"] = request_options.token unless request_options&.token.nil? req.headers["ACCEPT_VERSION"] = request_options.version unless request_options&.version.nil? req.headers = { **(req.headers || {}), **@request_client.get_headers, **(request_options&.additional_headers || {}) }.compact req.params = { **(request_options&.additional_query_parameters || {}), "limit": limit, "status": status, "kind": kind }.compact unless request_options.nil? || request_options&.additional_body_parameters.nil? req.body = { **(request_options&.additional_body_parameters || {}) }.compact end req.url "#{@request_client.get_url(request_options: request_options)}/tasks" end Ittybit::TaskListResponse.from_json(json_object: response.body) end