- Introduced ModelSpec dataclass to define model attributes. - Added multiple models including DA3 Small, Base, Giant 1.1, Nested Giant Large 1.1, and MoGe-2 variants. - Implemented functions to retrieve model details and metadata. - Included BEN2 model specifications for background removal.
58 lines
1.6 KiB
Python
58 lines
1.6 KiB
Python
"""SnapForm Job Server without Blender dependencies."""
|
|
|
|
from blendjob import JobServer
|
|
|
|
from .model_manager import ModelManager, ModelSessionCache
|
|
from .background import remove_background as _remove_background
|
|
from .da3 import generate_da3 as _generate_da3
|
|
from .media import extract_frames as _extract_frames
|
|
from .moge2 import generate_moge2 as _generate_moge2
|
|
|
|
|
|
server = JobServer("SnapForm Job Server")
|
|
|
|
|
|
@server.resource("model_manager")
|
|
def create_model_manager(job_server):
|
|
return ModelManager(job_server.storage_root / "models")
|
|
|
|
|
|
@server.job("download-model")
|
|
def download_model(context, parameters):
|
|
manager = context.resource("model_manager")
|
|
return manager.download(context, parameters["model"])
|
|
|
|
|
|
@server.job("download-required-models")
|
|
def download_required_models(context, parameters):
|
|
manager = context.resource("model_manager")
|
|
return manager.download_missing(context, parameters["models"])
|
|
|
|
|
|
@server.job("debug-ben2")
|
|
@server.job("remove-background")
|
|
def remove_background(context, parameters):
|
|
return _remove_background(context, parameters)
|
|
|
|
|
|
@server.job("extract-frames")
|
|
def extract_frames(context, parameters):
|
|
return _extract_frames(context, parameters)
|
|
|
|
|
|
@server.job("debug-moge2")
|
|
@server.job("generate-moge2-surface")
|
|
@server.job("generate-moge2-depth")
|
|
def generate_moge2(context, parameters):
|
|
return _generate_moge2(context, parameters)
|
|
|
|
|
|
@server.job("debug-da3")
|
|
@server.job("generate-da3-surface")
|
|
@server.job("generate-da3-depth")
|
|
def generate_da3(context, parameters):
|
|
return _generate_da3(context, parameters)
|
|
|
|
|
|
__all__ = ("ModelManager", "ModelSessionCache", "server")
|