multimodal-llm

Vision, audio, video generation, and multimodal LLM integration patterns. Use when processing images, transcribing audio, generating speech, generating AI video (Kling v3, Sora 2, Veo 3.1 std/lite/fast, Runway Gen-4.5 via `gen4_turbo`), or building multimodal AI pipelines.

Multimodal LLM Patterns

Integrate vision, audio, and video generation capabilities from leading multimodal models. Covers image analysis, document understanding, real-time voice agents, speech-to-text, text-to-speech, and AI video generation (Kling v3, Sora 2, Veo 3.1 std/lite/fast tiers, Runway Gen-4.5 via gen4_turbo).

Canonical model IDs (pinned against yonatan-hq/platform/apps/api/app/config.py):

ProviderModel IDs
Anthropicclaude-opus-4-7 (latest), claude-opus-4-6, claude-sonnet-4-6, claude-haiku-4-5-20251001
OpenAIgpt-5.2 (current flagship)
Googlegemini-3.1-pro-preview (flagship), gemini-3.1-flash-lite-preview (cost)
Veoveo-3.1-generate-preview / veo-3.1-lite-generate-preview / veo-3.1-fast-generate-preview
Klingkling-v3 (model_name field in Kling API)
Runwaygen4_turbo (product label: Gen-4.5)

Quick Reference

CategoryRulesImpactWhen to Use
Vision: Image Analysis1HIGHImage captioning, VQA, multi-image comparison, object detection
Vision: Document Understanding1HIGHOCR, chart/diagram analysis, PDF processing, table extraction
Vision: Model Selection1MEDIUMChoosing provider, cost optimization, image size limits
Audio: Speech-to-Text1HIGHTranscription, speaker diarization, long-form audio
Audio: Text-to-Speech1MEDIUMVoice synthesis, expressive TTS, multi-speaker dialogue
Audio: Model Selection1MEDIUMReal-time voice agents, provider comparison, pricing
Video: Model Selection1HIGHChoosing video gen provider (Kling, Sora, Veo, Runway)
Video: API Patterns1HIGHAsync task polling, SDK integration, webhook callbacks
Video: Multi-Shot1HIGHStoryboarding, character elements, scene consistency

Total: 9 rules across 3 categories (Vision, Audio, Video Generation)

Vision: Image Analysis

Send images to multimodal LLMs for captioning, visual QA, and object detection. Always set max_tokens and resize images before encoding.

RuleFileKey Pattern
Image Analysisrules/vision-image-analysis.mdBase64 encoding, multi-image, bounding boxes

Vision: Document Understanding

Extract structured data from documents, charts, and PDFs using vision models.

RuleFileKey Pattern
Document Visionrules/vision-document.mdPDF page ranges, detail levels, OCR strategies

Vision: Model Selection

Choose the right vision provider based on accuracy, cost, and context window needs.

RuleFileKey Pattern
Vision Modelsrules/vision-models.mdProvider comparison, token costs, image limits

Audio: Speech-to-Text

Convert audio to text with speaker diarization, timestamps, and sentiment analysis.

RuleFileKey Pattern
Speech-to-Textrules/audio-speech-to-text.mdGemini long-form, GPT-4o-Transcribe, AssemblyAI features

Audio: Text-to-Speech

Generate natural speech from text with voice selection and expressive cues.

RuleFileKey Pattern
Text-to-Speechrules/audio-text-to-speech.mdGemini TTS, voice config, auditory cues

Audio: Model Selection

Select the right audio/voice provider for real-time, transcription, or TTS use cases.

RuleFileKey Pattern
Audio Modelsrules/audio-models.mdReal-time voice comparison, STT benchmarks, pricing

Video: Model Selection

Choose the right video generation provider based on use case, duration, and budget.

RuleFileKey Pattern
Video Modelsrules/video-generation-models.mdKling vs Sora vs Veo vs Runway, pricing, capabilities

Video: API Patterns

Integrate video generation APIs with proper async polling, SDKs, and webhook callbacks.

RuleFileKey Pattern
API Integrationrules/video-generation-patterns.mdKling REST, fal.ai SDK, Vercel AI SDK, task polling

Video: Multi-Shot

Generate multi-scene videos with consistent characters using storyboarding and character elements.

RuleFileKey Pattern
Multi-Shotrules/video-multi-shot.mdKling v3 character elements, 6-shot storyboards, identity binding

Key Decisions

DecisionRecommendation
High accuracy visionclaude-opus-4-7 (2,576 px, 3× Opus 4.6) or gpt-5.2
Long documentsgemini-3.1-pro-preview (1M+ context)
Cost-efficient visiongemini-3.1-flash-lite-preview (replaces Gemini 2.5 Flash, deprecates Oct 2026)
Video analysisgemini-3.1-pro-preview (native video, supersedes 2.5 Pro)
Voice assistantGrok Voice Agent on Grok 4.20 (fastest, <1s)
Emotional voice AIGemini Live API
Long audio transcriptiongemini-3.1-pro-preview (9.5hr)
Speaker diarizationAssemblyAI or Gemini
Self-hosted STTWhisper Large V3
Character-consistent videokling-v3 (Character Elements 3.0)
Narrative video / storytellingSora 2 (best cause-and-effect coherence)
Cinematic B-rollveo-3.1-generate-preview (camera control + polished motion)
Budget draftsveo-3.1-lite-generate-preview (~$0.05/s, 720/1080p)
Mid-tier fast rendersveo-3.1-fast-generate-preview
Professional VFXRunway gen4_turbo (Act-Two motion transfer)
High-volume social videokling-v3 Standard (~$0.20/video)
Open-source video genWan 2.6 or LTX-2
Lip-sync / avatar videokling-v3 (native lip-sync API)

Example

import anthropic, base64

client = anthropic.Anthropic()
with open("image.png", "rb") as f:
    b64 = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": [
        {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": b64}},
        {"type": "text", "text": "Describe this image"}
    ]}]
)

Common Mistakes

  1. Not setting max_tokens on vision requests (responses truncated)
  2. Sending oversized images without resizing (>2048px)
  3. Using high detail level for simple yes/no classification
  4. Using STT+LLM+TTS pipeline instead of native speech-to-speech
  5. Not leveraging barge-in support for natural voice conversations
  6. Using deprecated models (GPT-4V, Whisper-1)
  7. Ignoring rate limits on vision and audio endpoints
  8. Calling video generation APIs synchronously (they're async — poll or use callbacks)
  9. Generating separate clips without character elements (characters look different each time)
  10. Using Sora for high-volume social content (expensive, slow — use Kling Standard instead)

Related Skills

  • ork:rag-retrieval - Multimodal RAG with image + text retrieval
  • ork:llm-integration - General LLM function calling patterns
  • streaming-api-patterns - WebSocket patterns for real-time audio
  • ork:demo-producer - Terminal demo videos (VHS, asciinema) — not AI video gen