Spaces:
Paused
Paused
""" | |
Base pipeline class for FramePack Studio. | |
All pipeline implementations should inherit from this class. | |
""" | |
import os | |
from modules.pipelines.metadata_utils import create_metadata | |
class BasePipeline: | |
"""Base class for all pipeline implementations.""" | |
def __init__(self, settings): | |
""" | |
Initialize the pipeline with settings. | |
Args: | |
settings: Dictionary of settings for the pipeline | |
""" | |
self.settings = settings | |
def prepare_parameters(self, job_params): | |
""" | |
Prepare parameters for the job. | |
Args: | |
job_params: Dictionary of job parameters | |
Returns: | |
Processed parameters dictionary | |
""" | |
# Default implementation just returns the parameters as-is | |
return job_params | |
def validate_parameters(self, job_params): | |
""" | |
Validate parameters for the job. | |
Args: | |
job_params: Dictionary of job parameters | |
Returns: | |
Tuple of (is_valid, error_message) | |
""" | |
# Default implementation assumes all parameters are valid | |
return True, None | |
def preprocess_inputs(self, job_params): | |
""" | |
Preprocess input images/videos for the job. | |
Args: | |
job_params: Dictionary of job parameters | |
Returns: | |
Processed inputs dictionary | |
""" | |
# Default implementation returns an empty dictionary | |
return {} | |
def handle_results(self, job_params, result): | |
""" | |
Handle the results of the job. | |
Args: | |
job_params: Dictionary of job parameters | |
result: The result of the job | |
Returns: | |
Processed result | |
""" | |
# Default implementation just returns the result as-is | |
return result | |
def create_metadata(self, job_params, job_id): | |
""" | |
Create metadata for the job. | |
Args: | |
job_params: Dictionary of job parameters | |
job_id: The job ID | |
Returns: | |
Metadata dictionary | |
""" | |
return create_metadata(job_params, job_id, self.settings) | |