class Ittybit::AsyncTasksClient

def create(kind:, url: nil, input: nil, file_id: nil, workflow: nil, webhook_url: nil, filename: nil, folder: nil,

Returns:
  • (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 Object}>) -- An array of task definition objects for a workflow.
  • 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)
  Async do
    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
end

def get(id:, request_options: nil)

Returns:
  • (Ittybit::TaskResponse) -

Parameters:
  • request_options (Ittybit::RequestOptions) --
  • id (String) --
def get(id:, request_options: nil)
  Async do
    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
end

def get_task_config(request_options: nil)

Returns:
  • (Hash{String => Object}) -

Parameters:
  • request_options (Ittybit::RequestOptions) --
def get_task_config(request_options: nil)
  Async do
    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
    parsed_json = JSON.parse(response.body)
    parsed_json
  end
end

def initialize(request_client:)

Returns:
  • (Ittybit::AsyncTasksClient) -

Parameters:
  • request_client (Ittybit::AsyncRequestClient) --
def initialize(request_client:)
  @request_client = request_client
end

def list(limit: nil, status: nil, kind: nil, request_options: nil)

Returns:
  • (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)
  Async do
    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
end