2.8 KiB
2.8 KiB
Documentation
- Class name: CR_PromptListKeyframes
- Category: Comfyroll/Animation/Legacy
- Output node: False
- Repo Ref: https://github.com/RockOfFire/ComfyUI_Comfyroll_CustomNodes
CR_PromptListKeyframes 节点旨在从提示列表生成关键帧。它处理输入的提示列表,遵循特定的关键帧格式,以创建可以在动画工作流中使用的关键帧序列。此节点对于自动化关键帧创建过程至关重要,确保在生成动画序列时保持一致性和效率。
Input types
Required
- prompt_list
- 提示列表是节点的重要输入,因为它包含将被转换为关键帧的提示。列表中的每个提示都是关键帧的一部分,节点通过这个列表迭代以生成最终的关键帧序列。
- Comfy dtype: PROMPT_LIST
- Python dtype: List[Tuple[str, str, str, str, int, int]]
Optional
- keyframe_format
- 关键帧格式参数决定了生成的关键帧的结构和样式。尽管节点默认使用 'Deforum' 格式,但这个参数允许在未来需要支持其他格式时具有灵活性。
- Comfy dtype: COMBO['Deforum']
- Python dtype: Literal['Deforum']
Output types
- keyframe_list
- 关键帧列表是节点的主要输出,表示格式化后的关键帧字符串。这个输出可以直接用于动画软件中定义动画关键帧的序列。
- Comfy dtype: STRING
- Python dtype: str
- show_help
- 显示帮助输出提供了一个指向与节点相关联的文档或帮助页面的URL链接。这对于寻求更多信息或指导如何有效使用节点的用户来说非常有用。
- Comfy dtype: STRING
- Python dtype: str
Usage tips
- Infra type: CPU
Source code
class CR_PromptListKeyframes:
@classmethod
def INPUT_TYPES(s):
return {'required': {'prompt_list': ('PROMPT_LIST',), 'keyframe_format': (['Deforum'],)}}
RETURN_TYPES = ('STRING', 'STRING')
RETURN_NAMES = ('keyframe_list', 'show_help')
FUNCTION = 'make_keyframes'
CATEGORY = icons.get('Comfyroll/Animation/Legacy')
def make_keyframes(self, prompt_list, keyframe_format):
keyframe_format = 'Deforum'
keyframe_list = list()
i = 0
for (index, prompt_tuple) in enumerate(prompt_list):
(prompt, transition_type, transition_speed, transition_profile, keyframe_interval, loops) = prompt_tuple
if i == 0:
keyframe_list.extend(['"0": "' + prompt + '",\n'])
i += keyframe_interval
continue
new_keyframe = '"' + str(i) + '": "' + prompt + '",\n'
keyframe_list.extend([new_keyframe])
i += keyframe_interval
keyframes_out = ''.join(keyframe_list)[:-2]
show_help = 'https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes/wiki/Prompt-Nodes#cr-prompt-list-keyframes'
return (keyframes_out, show_help)