pub enum VisionModel {
Claude,
ClaudeStandard,
Gpt6,
Gpt4o,
Gpt5,
Gemini15,
LlamaVision,
QwenVl,
DeepseekVl,
DeepseekFlash,
KimiVision,
GenericVision,
}Expand description
Supported vision model families with exact or explicitly advisory profiles.
Variants§
Claude
Claude 4.7+ high-resolution vision: 28×28 patches, 2576px edge / 4784-token budget.
ClaudeStandard
Earlier Claude vision models: 28×28 patches, 1568px edge / 1568-token budget.
Gpt6
Current OpenAI vision models (GPT-6 / GPT-5.6): 32×32 patches with a 1.2 multiplier.
Gpt4o
GPT-4o / GPT-4.5 high detail: fits in 2048x2048, scales short side to 768, then 512x512 tiles.
Gpt5
Legacy GPT-5/5.1 high detail: 70 base tokens + 140 per 512×512 tile.
Gemini15
Gemini 2.0/3.0: flat 258 tokens if ≤ 384x384, else 258 per 768x768 tile.
LlamaVision
Meta Llama 3.2/3.3 Vision (Mllama): 560×560 tiles, aspect-ratio canvas capped at 4 tiles. (Llama 4 uses a different native-multimodal vision encoder and is not modeled by this arm.)
QwenVl
Alibaba Qwen2-VL / Qwen2.5-VL: 28px effective grid (14px ViT patch × 2×2 merge), token clamp.
DeepseekVl
DeepSeek-VL2: 384×384 base + dynamic 384 local tiles (open-weights; value is local-context savings).
DeepseekFlash
DeepSeek Flash API: current multimodal endpoint, capped at 384 image tokens per image.
KimiVision
Kimi K2.5/K2.6/K3 native vision. Moonshot does not publish a fixed billing grid; estimate is advisory.
GenericVision
Popular open/API vision families without a stable public billing grid. Estimates are advisory; resizing remains useful and deterministic.
Implementations§
Source§impl VisionModel
impl VisionModel
Trait Implementations§
Source§impl Clone for VisionModel
impl Clone for VisionModel
impl Copy for VisionModel
Auto Trait Implementations§
impl Freeze for VisionModel
impl RefUnwindSafe for VisionModel
impl Send for VisionModel
impl Sync for VisionModel
impl Unpin for VisionModel
impl UnsafeUnpin for VisionModel
impl UnwindSafe for VisionModel
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more