chore(api-nodes): remove non-needed prefix in filenames
Some checks failed
Python Linting / Run Ruff (push) Has been cancelled
Python Linting / Run Pylint (push) Has been cancelled
Build package / Build Test (3.10) (push) Has been cancelled
Build package / Build Test (3.11) (push) Has been cancelled
Build package / Build Test (3.12) (push) Has been cancelled
Build package / Build Test (3.13) (push) Has been cancelled
Build package / Build Test (3.14) (push) Has been cancelled

This commit is contained in:
bigcat88 2026-01-17 15:46:16 +02:00
parent d0623c4807
commit 88a6ec33b6
26 changed files with 50 additions and 33 deletions

View File

@ -41,7 +41,7 @@ class Resolution(BaseModel):
height: int = Field(...) height: int = Field(...)
class CreateCreateVideoRequestSource(BaseModel): class CreateVideoRequestSource(BaseModel):
container: str = Field(...) container: str = Field(...)
size: int = Field(..., description="Size of the video file in bytes") size: int = Field(..., description="Size of the video file in bytes")
duration: int = Field(..., description="Duration of the video file in seconds") duration: int = Field(..., description="Duration of the video file in seconds")
@ -89,7 +89,7 @@ class Overrides(BaseModel):
class CreateVideoRequest(BaseModel): class CreateVideoRequest(BaseModel):
source: CreateCreateVideoRequestSource = Field(...) source: CreateVideoRequestSource = Field(...)
filters: list[Union[VideoFrameInterpolationFilter, VideoEnhancementFilter]] = Field(...) filters: list[Union[VideoFrameInterpolationFilter, VideoEnhancementFilter]] = Field(...)
output: OutputInformationVideo = Field(...) output: OutputInformationVideo = Field(...)
overrides: Overrides = Field(Overrides(isPaidDiffusion=True)) overrides: Overrides = Field(Overrides(isPaidDiffusion=True))

View File

@ -3,7 +3,7 @@ from pydantic import BaseModel
from typing_extensions import override from typing_extensions import override
from comfy_api.latest import IO, ComfyExtension, Input from comfy_api.latest import IO, ComfyExtension, Input
from comfy_api_nodes.apis.bfl_api import ( from comfy_api_nodes.apis.bfl import (
BFLFluxExpandImageRequest, BFLFluxExpandImageRequest,
BFLFluxFillImageRequest, BFLFluxFillImageRequest,
BFLFluxKontextProGenerateRequest, BFLFluxKontextProGenerateRequest,

View File

@ -5,7 +5,7 @@ import torch
from typing_extensions import override from typing_extensions import override
from comfy_api.latest import IO, ComfyExtension, Input from comfy_api.latest import IO, ComfyExtension, Input
from comfy_api_nodes.apis.bytedance_api import ( from comfy_api_nodes.apis.bytedance import (
RECOMMENDED_PRESETS, RECOMMENDED_PRESETS,
RECOMMENDED_PRESETS_SEEDREAM_4, RECOMMENDED_PRESETS_SEEDREAM_4,
VIDEO_TASKS_EXECUTION_TIME, VIDEO_TASKS_EXECUTION_TIME,

View File

@ -14,7 +14,7 @@ from typing_extensions import override
import folder_paths import folder_paths
from comfy_api.latest import IO, ComfyExtension, Input, Types from comfy_api.latest import IO, ComfyExtension, Input, Types
from comfy_api_nodes.apis.gemini_api import ( from comfy_api_nodes.apis.gemini import (
GeminiContent, GeminiContent,
GeminiFileData, GeminiFileData,
GeminiGenerateContentRequest, GeminiGenerateContentRequest,

View File

@ -49,7 +49,7 @@ from comfy_api_nodes.apis import (
KlingCharacterEffectModelName, KlingCharacterEffectModelName,
KlingSingleImageEffectModelName, KlingSingleImageEffectModelName,
) )
from comfy_api_nodes.apis.kling_api import ( from comfy_api_nodes.apis.kling import (
ImageToVideoWithAudioRequest, ImageToVideoWithAudioRequest,
MotionControlRequest, MotionControlRequest,
OmniImageParamImage, OmniImageParamImage,

View File

@ -4,7 +4,7 @@ import torch
from typing_extensions import override from typing_extensions import override
from comfy_api.latest import IO, ComfyExtension from comfy_api.latest import IO, ComfyExtension
from comfy_api_nodes.apis.luma_api import ( from comfy_api_nodes.apis.luma import (
LumaAspectRatio, LumaAspectRatio,
LumaCharacterRef, LumaCharacterRef,
LumaConceptChain, LumaConceptChain,

View File

@ -4,7 +4,7 @@ import torch
from typing_extensions import override from typing_extensions import override
from comfy_api.latest import IO, ComfyExtension from comfy_api.latest import IO, ComfyExtension
from comfy_api_nodes.apis.minimax_api import ( from comfy_api_nodes.apis.minimax import (
MinimaxFileRetrieveResponse, MinimaxFileRetrieveResponse,
MiniMaxModel, MiniMaxModel,
MinimaxTaskResultResponse, MinimaxTaskResultResponse,

View File

@ -1,7 +1,7 @@
import torch import torch
from typing_extensions import override from typing_extensions import override
from comfy_api.latest import IO, ComfyExtension from comfy_api.latest import IO, ComfyExtension
from comfy_api_nodes.apis.pixverse_api import ( from comfy_api_nodes.apis.pixverse import (
PixverseTextVideoRequest, PixverseTextVideoRequest,
PixverseImageVideoRequest, PixverseImageVideoRequest,
PixverseTransitionVideoRequest, PixverseTransitionVideoRequest,

View File

@ -8,7 +8,7 @@ from typing_extensions import override
from comfy.utils import ProgressBar from comfy.utils import ProgressBar
from comfy_api.latest import IO, ComfyExtension from comfy_api.latest import IO, ComfyExtension
from comfy_api_nodes.apis.recraft_api import ( from comfy_api_nodes.apis.recraft import (
RecraftColor, RecraftColor,
RecraftColorChain, RecraftColorChain,
RecraftControls, RecraftControls,

View File

@ -14,7 +14,7 @@ from typing import Optional
from io import BytesIO from io import BytesIO
from typing_extensions import override from typing_extensions import override
from PIL import Image from PIL import Image
from comfy_api_nodes.apis.rodin_api import ( from comfy_api_nodes.apis.rodin import (
Rodin3DGenerateRequest, Rodin3DGenerateRequest,
Rodin3DGenerateResponse, Rodin3DGenerateResponse,
Rodin3DCheckStatusRequest, Rodin3DCheckStatusRequest,

View File

@ -3,7 +3,7 @@ from typing import Optional
from typing_extensions import override from typing_extensions import override
from comfy_api.latest import ComfyExtension, Input, IO from comfy_api.latest import ComfyExtension, Input, IO
from comfy_api_nodes.apis.stability_api import ( from comfy_api_nodes.apis.stability import (
StabilityUpscaleConservativeRequest, StabilityUpscaleConservativeRequest,
StabilityUpscaleCreativeRequest, StabilityUpscaleCreativeRequest,
StabilityAsyncResponse, StabilityAsyncResponse,

View File

@ -5,7 +5,24 @@ import aiohttp
from typing_extensions import override from typing_extensions import override
from comfy_api.latest import IO, ComfyExtension, Input from comfy_api.latest import IO, ComfyExtension, Input
from comfy_api_nodes.apis import topaz_api from comfy_api_nodes.apis.topaz import (
CreateVideoRequest,
CreateVideoRequestSource,
CreateVideoResponse,
ImageAsyncTaskResponse,
ImageDownloadResponse,
ImageEnhanceRequest,
ImageStatusResponse,
OutputInformationVideo,
Resolution,
VideoAcceptResponse,
VideoCompleteUploadRequest,
VideoCompleteUploadRequestPart,
VideoCompleteUploadResponse,
VideoEnhancementFilter,
VideoFrameInterpolationFilter,
VideoStatusResponse,
)
from comfy_api_nodes.util import ( from comfy_api_nodes.util import (
ApiEndpoint, ApiEndpoint,
download_url_to_image_tensor, download_url_to_image_tensor,
@ -153,13 +170,13 @@ class TopazImageEnhance(IO.ComfyNode):
if get_number_of_images(image) != 1: if get_number_of_images(image) != 1:
raise ValueError("Only one input image is supported.") raise ValueError("Only one input image is supported.")
download_url = await upload_images_to_comfyapi( download_url = await upload_images_to_comfyapi(
cls, image, max_images=1, mime_type="image/png", total_pixels=4096*4096 cls, image, max_images=1, mime_type="image/png", total_pixels=4096 * 4096
) )
initial_response = await sync_op( initial_response = await sync_op(
cls, cls,
ApiEndpoint(path="/proxy/topaz/image/v1/enhance-gen/async", method="POST"), ApiEndpoint(path="/proxy/topaz/image/v1/enhance-gen/async", method="POST"),
response_model=topaz_api.ImageAsyncTaskResponse, response_model=ImageAsyncTaskResponse,
data=topaz_api.ImageEnhanceRequest( data=ImageEnhanceRequest(
model=model, model=model,
prompt=prompt, prompt=prompt,
subject_detection=subject_detection, subject_detection=subject_detection,
@ -181,7 +198,7 @@ class TopazImageEnhance(IO.ComfyNode):
await poll_op( await poll_op(
cls, cls,
poll_endpoint=ApiEndpoint(path=f"/proxy/topaz/image/v1/status/{initial_response.process_id}"), poll_endpoint=ApiEndpoint(path=f"/proxy/topaz/image/v1/status/{initial_response.process_id}"),
response_model=topaz_api.ImageStatusResponse, response_model=ImageStatusResponse,
status_extractor=lambda x: x.status, status_extractor=lambda x: x.status,
progress_extractor=lambda x: getattr(x, "progress", 0), progress_extractor=lambda x: getattr(x, "progress", 0),
price_extractor=lambda x: x.credits * 0.08, price_extractor=lambda x: x.credits * 0.08,
@ -193,7 +210,7 @@ class TopazImageEnhance(IO.ComfyNode):
results = await sync_op( results = await sync_op(
cls, cls,
ApiEndpoint(path=f"/proxy/topaz/image/v1/download/{initial_response.process_id}"), ApiEndpoint(path=f"/proxy/topaz/image/v1/download/{initial_response.process_id}"),
response_model=topaz_api.ImageDownloadResponse, response_model=ImageDownloadResponse,
monitor_progress=False, monitor_progress=False,
) )
return IO.NodeOutput(await download_url_to_image_tensor(results.download_url)) return IO.NodeOutput(await download_url_to_image_tensor(results.download_url))
@ -331,7 +348,7 @@ class TopazVideoEnhance(IO.ComfyNode):
if target_height % 2 != 0: if target_height % 2 != 0:
target_height += 1 target_height += 1
filters.append( filters.append(
topaz_api.VideoEnhancementFilter( VideoEnhancementFilter(
model=UPSCALER_MODELS_MAP[upscaler_model], model=UPSCALER_MODELS_MAP[upscaler_model],
creativity=(upscaler_creativity if UPSCALER_MODELS_MAP[upscaler_model] == "slc-1" else None), creativity=(upscaler_creativity if UPSCALER_MODELS_MAP[upscaler_model] == "slc-1" else None),
isOptimizedMode=(True if UPSCALER_MODELS_MAP[upscaler_model] == "slc-1" else None), isOptimizedMode=(True if UPSCALER_MODELS_MAP[upscaler_model] == "slc-1" else None),
@ -340,7 +357,7 @@ class TopazVideoEnhance(IO.ComfyNode):
if interpolation_enabled: if interpolation_enabled:
target_frame_rate = interpolation_frame_rate target_frame_rate = interpolation_frame_rate
filters.append( filters.append(
topaz_api.VideoFrameInterpolationFilter( VideoFrameInterpolationFilter(
model=interpolation_model, model=interpolation_model,
slowmo=interpolation_slowmo, slowmo=interpolation_slowmo,
fps=interpolation_frame_rate, fps=interpolation_frame_rate,
@ -351,19 +368,19 @@ class TopazVideoEnhance(IO.ComfyNode):
initial_res = await sync_op( initial_res = await sync_op(
cls, cls,
ApiEndpoint(path="/proxy/topaz/video/", method="POST"), ApiEndpoint(path="/proxy/topaz/video/", method="POST"),
response_model=topaz_api.CreateVideoResponse, response_model=CreateVideoResponse,
data=topaz_api.CreateVideoRequest( data=CreateVideoRequest(
source=topaz_api.CreateCreateVideoRequestSource( source=CreateVideoRequestSource(
container="mp4", container="mp4",
size=get_fs_object_size(src_video_stream), size=get_fs_object_size(src_video_stream),
duration=int(duration_sec), duration=int(duration_sec),
frameCount=video.get_frame_count(), frameCount=video.get_frame_count(),
frameRate=src_frame_rate, frameRate=src_frame_rate,
resolution=topaz_api.Resolution(width=src_width, height=src_height), resolution=Resolution(width=src_width, height=src_height),
), ),
filters=filters, filters=filters,
output=topaz_api.OutputInformationVideo( output=OutputInformationVideo(
resolution=topaz_api.Resolution(width=target_width, height=target_height), resolution=Resolution(width=target_width, height=target_height),
frameRate=target_frame_rate, frameRate=target_frame_rate,
audioCodec="AAC", audioCodec="AAC",
audioTransfer="Copy", audioTransfer="Copy",
@ -379,7 +396,7 @@ class TopazVideoEnhance(IO.ComfyNode):
path=f"/proxy/topaz/video/{initial_res.requestId}/accept", path=f"/proxy/topaz/video/{initial_res.requestId}/accept",
method="PATCH", method="PATCH",
), ),
response_model=topaz_api.VideoAcceptResponse, response_model=VideoAcceptResponse,
wait_label="Preparing upload", wait_label="Preparing upload",
final_label_on_success="Upload started", final_label_on_success="Upload started",
) )
@ -402,10 +419,10 @@ class TopazVideoEnhance(IO.ComfyNode):
path=f"/proxy/topaz/video/{initial_res.requestId}/complete-upload", path=f"/proxy/topaz/video/{initial_res.requestId}/complete-upload",
method="PATCH", method="PATCH",
), ),
response_model=topaz_api.VideoCompleteUploadResponse, response_model=VideoCompleteUploadResponse,
data=topaz_api.VideoCompleteUploadRequest( data=VideoCompleteUploadRequest(
uploadResults=[ uploadResults=[
topaz_api.VideoCompleteUploadRequestPart( VideoCompleteUploadRequestPart(
partNum=1, partNum=1,
eTag=upload_etag, eTag=upload_etag,
), ),
@ -417,7 +434,7 @@ class TopazVideoEnhance(IO.ComfyNode):
final_response = await poll_op( final_response = await poll_op(
cls, cls,
ApiEndpoint(path=f"/proxy/topaz/video/{initial_res.requestId}/status"), ApiEndpoint(path=f"/proxy/topaz/video/{initial_res.requestId}/status"),
response_model=topaz_api.VideoStatusResponse, response_model=VideoStatusResponse,
status_extractor=lambda x: x.status, status_extractor=lambda x: x.status,
progress_extractor=lambda x: getattr(x, "progress", 0), progress_extractor=lambda x: getattr(x, "progress", 0),
price_extractor=lambda x: (x.estimates.cost[0] * 0.08 if x.estimates and x.estimates.cost[0] else None), price_extractor=lambda x: (x.estimates.cost[0] * 0.08 if x.estimates and x.estimates.cost[0] else None),

View File

@ -5,7 +5,7 @@ import torch
from typing_extensions import override from typing_extensions import override
from comfy_api.latest import IO, ComfyExtension from comfy_api.latest import IO, ComfyExtension
from comfy_api_nodes.apis.tripo_api import ( from comfy_api_nodes.apis.tripo import (
TripoAnimateRetargetRequest, TripoAnimateRetargetRequest,
TripoAnimateRigRequest, TripoAnimateRigRequest,
TripoConvertModelRequest, TripoConvertModelRequest,

View File

@ -4,7 +4,7 @@ from io import BytesIO
from typing_extensions import override from typing_extensions import override
from comfy_api.latest import IO, ComfyExtension, Input, InputImpl from comfy_api.latest import IO, ComfyExtension, Input, InputImpl
from comfy_api_nodes.apis.veo_api import ( from comfy_api_nodes.apis.veo import (
VeoGenVidPollRequest, VeoGenVidPollRequest,
VeoGenVidPollResponse, VeoGenVidPollResponse,
VeoGenVidRequest, VeoGenVidRequest,