| | from typing import List |
| |
|
| | from diffusers.modular_pipelines import ( |
| | ComponentSpec, |
| | InputParam, |
| | ModularPipelineBlocks, |
| | OutputParam, |
| | PipelineState, |
| | ) |
| |
|
| |
|
| | class MyCustomBlock(ModularPipelineBlocks): |
| | """ |
| | A custom block for [describe what your block does]. |
| | |
| | Replace this with your implementation. |
| | """ |
| |
|
| | @property |
| | def description(self) -> str: |
| | """Description of the block.""" |
| | return "A template custom block - replace with your description" |
| |
|
| | |
| | @property |
| | def expected_components(self) -> List[ComponentSpec]: |
| | """Define model components your block needs (e.g., transformers, VAEs).""" |
| | return [ |
| | |
| | |
| | |
| | |
| | |
| | |
| | ] |
| |
|
| | @property |
| | def inputs(self) -> List[InputParam]: |
| | """Define input parameters for your block.""" |
| | return [ |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | ] |
| |
|
| | @property |
| | def intermediate_outputs(self) -> List[OutputParam]: |
| | """Define output parameters for your block.""" |
| | return [ |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | ] |
| |
|
| | def __call__(self, components, state: PipelineState) -> PipelineState: |
| | """Execute your block logic.""" |
| | block_state = self.get_block_state(state) |
| | |
| | |
| | |
| | |
| | |
| | self.set_block_state(state, block_state) |
| | return components, state |