mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-06-08 23:27:14 +00:00
* Add Ideogram generate node. * Add staging api. * COMFY_API_NODE_NAME node property * switch to boolean flag and use original node name for id * add optional to type * Add API_NODE and common error for missing auth token (#5) * Add Minimax Video Generation + Async Task queue polling example (#6) * [Minimax] Show video preview and embed workflow in ouput (#7) * [API Nodes] Send empty request body instead of empty dictionary. (#8) * Fixed: removed function from rebase. * Add pydantic. * Remove uv.lock * Remove polling operations. * Update stubs workflow. * Remove polling comments. * Update stubs. * Use pydantic v2. * Use pydantic v2. * Add basic OpenAITextToImage node * Add. * convert image to tensor. * Improve types. * Ruff. * Push tests. * Handle multi-form data. - Don't set content-type for multi-part/form - Use data field instead of JSON * Change to api.comfy.org * Handle error code 409. * separate out nodes per openai model * Update error message. * fix wrong output type * re-categorize nodes, remove ideogram (for now) * oops, fix mappings * fix ruff * Update frontend to 1.17.9 * embargo lift rename nodes * remove unused autogenerated model code * fix API type error and add b64 support for 4o * fix ruff * oops forgot mask scaling code * Remove unused types. --------- Co-authored-by: bymyself <cbyrne@comfy.org> Co-authored-by: Yoland Y <4950057+yoland68@users.noreply.github.com> Co-authored-by: thot-experiment <thot@thiic.cc>
58 lines
2.0 KiB
Python
58 lines
2.0 KiB
Python
# generated by datamodel-codegen:
|
|
# filename: https://api.comfy.org/openapi
|
|
# timestamp: 2025-04-23T15:56:33+00:00
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, Field, constr
|
|
|
|
|
|
class V2OpenAPII2VResp(BaseModel):
|
|
video_id: Optional[int] = Field(None, description='Video_id')
|
|
|
|
|
|
class V2OpenAPIT2VReq(BaseModel):
|
|
aspect_ratio: str = Field(
|
|
..., description='Aspect ratio (16:9, 4:3, 1:1, 3:4, 9:16)', examples=['16:9']
|
|
)
|
|
duration: int = Field(
|
|
...,
|
|
description='Video duration (5, 8 seconds, --model=v3.5 only allows 5,8; --quality=1080p does not support 8s)',
|
|
examples=[5],
|
|
)
|
|
model: str = Field(
|
|
..., description='Model version (only supports v3.5)', examples=['v3.5']
|
|
)
|
|
motion_mode: Optional[str] = Field(
|
|
'normal',
|
|
description='Motion mode (normal, fast, --fast only available when duration=5; --quality=1080p does not support fast)',
|
|
examples=['normal'],
|
|
)
|
|
negative_prompt: Optional[constr(max_length=2048)] = Field(
|
|
None, description='Negative prompt\n'
|
|
)
|
|
prompt: constr(max_length=2048) = Field(..., description='Prompt')
|
|
quality: str = Field(
|
|
...,
|
|
description='Video quality ("360p"(Turbo model), "540p", "720p", "1080p")',
|
|
examples=['540p'],
|
|
)
|
|
seed: Optional[int] = Field(None, description='Random seed, range: 0 - 2147483647')
|
|
style: Optional[str] = Field(
|
|
None,
|
|
description='Style (effective when model=v3.5, "anime", "3d_animation", "clay", "comic", "cyberpunk") Do not include style parameter unless needed',
|
|
examples=['anime'],
|
|
)
|
|
template_id: Optional[int] = Field(
|
|
None,
|
|
description='Template ID (template_id must be activated before use)',
|
|
examples=[302325299692608],
|
|
)
|
|
water_mark: Optional[bool] = Field(
|
|
False,
|
|
description='Watermark (true: add watermark, false: no watermark)',
|
|
examples=[False],
|
|
)
|