- Add SoraText2VideoNode for OpenAI Sora2 text-to-video generation
* Support both standard and Pro model variants
* Configurable video size, duration, and prompt parameters
* Pro version supports extended resolution options (1024x1792, 1792x1024)
- Add SoraImg2VideoNode for OpenAI Sora2 image-to-video generation
* Support both standard and Pro model variants
* Accept first frame as image or URL input
* Pro version supports 1080p resolution
- Implement async task polling with configurable retry logic
- Integrate with ModelverseClient for API communication
- Add comprehensive input validation and error handling
- Follow established video generation patterns from Vidu and Wan AI nodes
- Add requests import for direct HTTP video downloads
- Replace complex video object data extraction with direct URL download using requests.get()
- Move file saving logic before download_url_to_video_output call to avoid consuming data stream
- Simplify video data retrieval by downloading directly from URL instead of extracting from video object
- Add timeout parameter (120s) and error handling for HTTP requests
- Improve code clarity by removing conditional checks for different video object attributes
- Replace requests library with comfy_api_nodes download utility for better integration
- Convert run method to async for non-blocking video download operations
- Update input/output types to use IO enum (IO.STRING, IO.BOOLEAN, IO.VIDEO)
- Change return type from STRING file path to VIDEO object for direct video output
- Simplify video handling by using download_url_to_video_output utility function
- Add support for multiple video data access patterns (video_io, get_bytes, BytesIO)
- Improve video saving logic with proper data extraction from video object
- Remove unused os.path and re imports optimization for cleaner code
- Maintains backward compatibility with save_output parameter for optional file persistence
- Add new ModelversePreviewVideo node for downloading and previewing generated videos
- Change all Vidu video generation nodes (extend, i2v, ref2v, startend2v, t2v) to return video URL and task ID instead of downloaded video objects
- Change all Wan AI video generation nodes (i2v, t2v) to return video URL and task ID instead of downloaded video objects
- Remove duplicate VideoFromFile import fallback logic from all video generation modules
- Simplify video handling by delegating download responsibility to preview node
- Improve separation of concerns between generation and preview workflows
- Add third-level fallback import handler for VideoFromFile class across all video modules
- Implement simple VideoFromFile wrapper class with default dimensions (1280x720) when imports fail
- Support video_io objects with getvalue() method for BytesIO compatibility
- Add clarifying comments for each import path (newer, older, and fallback)
- Apply consistent fallback pattern to vidu_extend, vidu_i2v, vidu_ref2v, vidu_startend2v, vidu_t2v, wan_ai_i2v, and wan_ai_t2v modules
- Improve robustness for different ComfyUI versions and installation configurations
- Remove redundant VideoFromFile class implementations from vidu_extend.py, vidu_i2v.py, vidu_ref2v.py, vidu_startend2v.py, and vidu_t2v.py
- Remove duplicate VideoFromFile fallback from wan_ai_i2v.py and wan_ai_t2v.py
- Simplify import logic by relying on comfy library's VideoFromFile implementation
- Reduce code duplication across multiple video generation modules
- Improve maintainability by centralizing video handling logic
- Add `get_dimensions()` method to VideoFromFile fallback class across all vidu and wan_ai modules
- Implement PyAV (av) library integration to extract video width and height from container streams
- Add dimension caching with `_width` and `_height` attributes to avoid redundant parsing
- Implement fallback dimensions (1280x720) when video parsing fails
- Add proper stream seeking to reset file position after dimension extraction
- Update requirements.txt to include av library dependency
- Ensure consistent video dimension handling across vidu_t2v, vidu_i2v, vidu_ref2v, vidu_startend2v, vidu_extend, wan_ai_t2v, and wan_ai_i2v modules
- Remove unused imports (os, tempfile) to reduce dependencies
- Simplify VideoFromFile import fallback logic by removing unnecessary comments
- Remove get_dimensions() method from VideoFromFile wrapper class
- Consolidate video download logic and remove redundant error handling
- Increase download timeout from 60s to 120s for better reliability
- Remove verbose print statements for cleaner logging
- Simplify video data processing by directly using response.content
- Streamline return statement to directly instantiate VideoFromFile
- Remove fallback video_data return path for consistent API behavior
- Improve code readability and maintainability through simplification
- Remove unused imports (os, tempfile)
- Add fallback VideoFromFile class for better compatibility
- Simplify video download and processing logic
- Add timeout parameter (120s) to video download request
- Improve error handling with specific ImportError catching
- Reduce code complexity by removing redundant checks and logging
- Streamline BytesIO object creation and return statement
- Enhance robustness when VideoFromFile is not available in ComfyUI
- Add Gemini 3 Pro Image Preview (Nano Banana Pro) ComfyUI node with high-resolution output (1K, 2K, 4K)
- Add GeminiProImageRequest builder supporting aspect ratio control, Google Search grounding, and up to 14 reference images
- Add Vidu video generation nodes: t2v, i2v, ref2v, and startend2v for comprehensive video synthesis
- Add Vidu extend node for video continuation and frame extension
- Update .gitignore to exclude .ace-tool/ and docs/ directories
- Enable professional asset production with advanced image and video generation capabilities