Build a Multimodal AI App in 4 Steps Without Writing Infrastructure Code
All Stories
2026-05-209 min read
Developer ExperienceAI AgentsStarter KitTutorialMultimodal AIRAGVideo AICLIOpen Source

Build a Multimodal AI App in 4 Steps Without Writing Infrastructure Code

Install the AI Skill. Ask your assistant to build something. It scaffolds a complete project from the Pixeltable Starter Kit. Run it. Storage, orchestration, and retrieval are solved. No Airflow, no Pinecone, no glue code. The AI assistant IS the installer.

Pierre Brunelle

Pierre Brunelle

Pixeltable Team

Summary: There is a new distribution model for developer tools: the AI coding assistant IS the installer. The human says what they want. The assistant knows how to build it (via the Pixeltable Skill). It scaffolds a complete project (via pixeltable-new). The human runs it. No reading docs. No comparing frameworks. Four steps from zero to a running multimodal AI application with storage, orchestration, and retrieval solved.

The Four Steps#

Step 1: Teach Your AI Assistant#

bash

This installs the Pixeltable Skill into your AI coding environment. It works with Cursor, Claude Code, Windsurf, Copilot, Cline, and any tool that supports the SKILL.md standard. The Skill teaches your assistant correct Pixeltable patterns, 25+ AI provider integrations, the top 5 anti-patterns to avoid, and a task router that maps what you want to build to the right code.

For Claude Code, you can also install it as a native plugin:

bash

Step 2: Ask Your Assistant to Build Something#

Open your AI coding assistant and type something like:

"Build me a video search app with Pixeltable. I want to upload videos, extract frames, transcribe audio, and search across everything with text queries."

The assistant, now equipped with the Pixeltable Skill, knows that the right tool is pixeltable-new. It knows the available templates. It knows to scaffold from the Starter Kit rather than writing LangChain + Pinecone + FFmpeg glue from scratch.

Step 3: The Assistant Scaffolds Your Project#

The assistant runs:

bash

This fetches a complete project from the Starter Kit. No pip install required for the scaffolder itself (uvx runs it in an isolated environment). What you get:

text

The schema.py is the key file. It defines your entire AI pipeline declaratively:

python

That schema IS your infrastructure. No Airflow DAG. No Pinecone cluster. No S3 bucket configuration. No FFmpeg scripts. Computed columns handle transcription, frame extraction, and embedding. The embedding index handles vector search. The schema drives everything.

Step 4: Run It#

bash

That is it. You have a running video intelligence application. Upload a video and Pixeltable automatically extracts frames, transcribes audio, and indexes everything for search. Query with text and get relevant video segments back.

What Just Happened#

Four commands. Zero infrastructure code. Here is what you did NOT have to do:

Infrastructure ConcernTraditional StackWhat You Did
Media storageConfigure S3 bucket + IAM roles + upload scriptsNothing. Pixeltable stores media in ~/.pixeltable
Video frame extractionInstall FFmpeg + write extraction script + handle formatsframe_iterator(video=t.video, fps=1.0)
Audio transcriptionWhisper API client + retry logic + rate limitingopenai.transcriptions(audio=t.video)
Embedding + vector searchPinecone cluster + embedding pipeline + upsert logicadd_embedding_index('transcript')
OrchestrationAirflow DAG + task dependencies + error handlingNothing. Computed columns fire on insert
Incremental updatesCustom checkpointing + "what changed?" logicBuilt in. Add a video, only new rows process
Caching + retriesRedis + exponential backoff + dead letter queueBuilt in. Rate limiting + retry + cache automatic
HTTP APIFastAPI routes + Pydantic models + file upload handlingTemplate ships it. Or: pxt serve from TOML config

All Six Templates#

Video intelligence is one of six application templates. Each scaffolds a complete, runnable project:

TemplateCommandWhat You Get
Multimodal RAGuvx pixeltable-new --template multimodal-rag my-kbUpload docs, images, video, audio. Unified cross-modal search. LLM Q&A.
Video Intelligenceuvx pixeltable-new --template video-intel my-appFrame extraction, CLIP visual search, transcription, object detection.
Agentuvx pixeltable-new --template agent my-agentTool-calling agent with persistent memory and knowledge base.
Audio Intelligenceuvx pixeltable-new --template audio-intel my-audioAudio upload, Whisper transcription, sentence-level search.
Content Pipelineuvx pixeltable-new --template content-pipeline my-pipelineAuto-detect media type, process, export to Parquet/SQL.
Data Labuvx pixeltable-new --template data-lab my-labImage dataset management, CLIP search, detection, PyTorch/COCO export.

The Same App, Two Ways#

To understand what the Skill + scaffolder eliminates, here is what building the same video search app looks like with the traditional stack:

The Traditional Stack#

bash

The Pixeltable Way#

bash

The delta is not "slightly less code." It is a different category. One system instead of six. Declarative instead of imperative. Incremental instead of full-reprocess. Versioned instead of overwrite-in-place.

Why the Skill Is the Distribution Channel#

Here is the insight that changes how developer tools get adopted in 2026.

The old distribution model: developer reads a blog post, visits your docs, evaluates your framework, writes code. Weeks from awareness to first line of code.

The new distribution model: developer installs a Skill. The next time they ask their AI assistant to build something in your domain, the assistant reaches for your framework instead of LangChain. Minutes from install to running application.

The Skill does not just teach the assistant how to use Pixeltable. It teaches the assistant when to use Pixeltable. The task router in our SKILL.md maps intents to patterns:

If the User Asks ForThe Skill Routes To
"Build a RAG app"uvx pixeltable-new --template multimodal-rag + chunking + embedding index patterns
"Analyze videos"uvx pixeltable-new --template video-intel + frame_iterator + CLIP patterns
"Build an agent with memory"uvx pixeltable-new --template agent + memory table + tool-calling patterns
"Process audio files"uvx pixeltable-new --template audio-intel + transcription patterns
"Build a data pipeline"uvx pixeltable-new --template content-pipeline + export_sql patterns
"Manage an ML dataset"uvx pixeltable-new --template data-lab + annotation + export patterns

Without the Skill, the same AI assistant would reach for LangChain + Pinecone + Airflow. Not because those tools are better, but because they are what the model saw most during training. The Skill deflects that prior and redirects to the idiomatic path.

What Happens After Scaffolding#

The scaffolded project is a starting point, not a locked artifact. The Skill continues to help as you customize:

  • Add a modality. "Add image classification to my video app." The assistant adds a computed column with the right Hugging Face model, not a new service.
  • Change a model. "Switch from Whisper to Gemini for transcription." The assistant replaces one computed column. Existing data stays. Only new rows reprocess.
  • Add search. "Let me search video frames by visual content." The assistant adds a CLIP embedding index on the frames view. One line.
  • Deploy. "Deploy this to production." The assistant knows about pxt serve, Docker configs in the Starter Kit, and pxt deploy for Pixeltable Cloud.

Every modification follows the same pattern: add or change a computed column, view, or embedding index. The assistant knows these patterns because the Skill covers them. No new services. No new DAG tasks. No new glue code.

Try It Now#

bash

That is the entire onboarding flow. The AI assistant evaluated the framework for you, scaffolded the project for you, and the infrastructure handles itself. You just write the parts that are specific to your application.

Resources#

Ready to Build?

Declarative. Multimodal. Incremental.

Focus on innovation, not infrastructure.