Documentation IndexFetch the complete documentation index at: /llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Black Forest Labs の高解像度画像生成 API を使用して画像を作成します
True
image_prompt
class FluxProUltraImageNode(ComfyNodeABC): """ Generates images synchronously based on prompt and resolution. """ MINIMUM_RATIO = 1 / 4 MAXIMUM_RATIO = 4 / 1 MINIMUM_RATIO_STR = "1:4" MAXIMUM_RATIO_STR = "4:1" @classmethod def INPUT_TYPES(s): return { "required": { "prompt": ( IO.STRING, { "multiline": True, "default": "", "tooltip": "Prompt for the image generation", }, ), "prompt_upsampling": ( IO.BOOLEAN, { "default": False, "tooltip": "Whether to perform upsampling on the prompt. If active, automatically modifies the prompt for more creative generation, but results are nondeterministic (same seed will not produce exactly the same result).", }, ), "seed": ( IO.INT, { "default": 0, "min": 0, "max": 0xFFFFFFFFFFFFFFFF, "control_after_generate": True, "tooltip": "The random seed used for creating the noise.", }, ), "aspect_ratio": ( IO.STRING, { "default": "16:9", "tooltip": "Aspect ratio of image; must be between 1:4 and 4:1.", }, ), "raw": ( IO.BOOLEAN, { "default": False, "tooltip": "When True, generate less processed, more natural-looking images.", }, ), }, "optional": { "image_prompt": (IO.IMAGE,), "image_prompt_strength": ( IO.FLOAT, { "default": 0.1, "min": 0.0, "max": 1.0, "step": 0.01, "tooltip": "Blend between the prompt and the image prompt.", }, ), }, "hidden": { "auth_token": "AUTH_TOKEN_COMFY_ORG", }, } @classmethod def VALIDATE_INPUTS(cls, aspect_ratio: str): try: validate_aspect_ratio( aspect_ratio, minimum_ratio=cls.MINIMUM_RATIO, maximum_ratio=cls.MAXIMUM_RATIO, minimum_ratio_str=cls.MINIMUM_RATIO_STR, maximum_ratio_str=cls.MAXIMUM_RATIO_STR, ) except Exception as e: return str(e) return True RETURN_TYPES = (IO.IMAGE,) DESCRIPTION = cleandoc(__doc__ or "") # Handle potential None value FUNCTION = "api_call" API_NODE = True CATEGORY = "api node/image/bfl" def api_call( self, prompt: str, aspect_ratio: str, prompt_upsampling=False, raw=False, seed=0, image_prompt=None, image_prompt_strength=0.1, auth_token=None, **kwargs, ): operation = SynchronousOperation( endpoint=ApiEndpoint( path="/proxy/bfl/flux-pro-1.1-ultra/generate", method=HttpMethod.POST, request_model=BFLFluxProUltraGenerateRequest, response_model=BFLFluxProGenerateResponse, ), request=BFLFluxProUltraGenerateRequest( prompt=prompt, prompt_upsampling=prompt_upsampling, seed=seed, aspect_ratio=validate_aspect_ratio( aspect_ratio, minimum_ratio=self.MINIMUM_RATIO, maximum_ratio=self.MAXIMUM_RATIO, minimum_ratio_str=self.MINIMUM_RATIO_STR, maximum_ratio_str=self.MAXIMUM_RATIO_STR, ), raw=raw, image_prompt=( image_prompt if image_prompt is None else convert_image_to_base64(image_prompt) ), image_prompt_strength=( None if image_prompt is None else round(image_prompt_strength, 2) ), ), auth_token=auth_token, ) output_image = handle_bfl_synchronous_operation(operation) return (output_image,)
このページは役に立ちましたか?