v2.10.0
What's New
Typed video input support
New VideoURL multimodal type for providers that accept OpenAI-compatible video_url content parts (MiniMax, Qwen-VL, ...). Instructor has no video type of its own yet (asked upstream: 567-labs/instructor#2520), so the framework ships one.
from atomic_agents import BaseIOSchema, VideoURL
from pydantic import Field
class VideoAnalysisInput(BaseIOSchema):
"""Input with a video for analysis"""
question: str = Field(..., description="Question about the video")
video: VideoURL = Field(..., description="Video to analyze")Features
VideoURL(url, fps=None, detail=None)exported from the package root; use it as a schema field like Instructor'sImage/Audio/PDFChatHistoryextracts it at any nesting depth and sends it to the provider as avideo_urlcontent part- Round-trips through
dump()/load()as a plain Pydantic model - Token counting represents video parts with a text placeholder (LiteLLM cannot count video), so
max_context_tokenskeeps working with video in history
Thanks @octo-patch for kicking this off in #274.