Skip to content

v2.10.0

Choose a tag to compare

@Eigenwise Eigenwise released this 11 Aug 11:13
· 12 commits to main since this release

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's Image / Audio / PDF
  • ChatHistory extracts it at any nesting depth and sends it to the provider as a video_url content 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_tokens keeps working with video in history

Thanks @octo-patch for kicking this off in #274.

Full Changelog

v2.9.1...v2.10.0