Feature Extractors
After your data is connected, extractors run in parallel to pull out structured features, embeddings, entities, transcripts, and more.
12 production extractors, each with a README, a live schema, and a Studio path
Web Scraper + Multimodal Embeddings
Crawl sites (docs, job boards, news, SPAs) and extract text, code & image embeddings in one pass.
Text Embeddings (E5-Large)
Multilingual dense text embeddings with E5-Large: semantic search & RAG out of the box.
Image Embeddings (SigLIP)
Dense 768-D image embeddings with Google SigLIP: text-to-image search in one contrastive space.
Multimodal Video/Audio/Image (Vertex v1 · Gemini v2)
Unified embeddings for video, audio, image & text: FFmpeg scene/silence chunking, Whisper transcription, thumbnails.
Universal All-in-One (Gemini)
One extractor for image, video, audio & documents: auto-detects modality and applies the right pipeline.
Multi-File Object Embeddings (Gemini)
Embed ALL files of an object (images, PDFs, video, audio, text) into one 3072-D Gemini vector.
Document Layout Graph
Decompose PDFs into spatial blocks: paragraphs, tables, forms, headers: with layout classification & confidence.
Passthrough (Storage Only)
Store and canonicalize objects with zero ML: metadata-only ingestion.
Scrolling/Marquee Text OCR
Reads scrolling video text via phase-correlation band detection, panoramic stitching, and VLM OCR.
Face Identity (SCRFD + ArcFace)
Production face recognition: detect, align, and embed faces to 512-D ArcFace vectors across image, video & PDF.
Audio Fingerprinting (CLAP)
512-D audio embeddings with CLAP: content-based audio search and matching from files or video tracks.
Transcoding
Video transcoding to H.264/H.265 MP4.
What's new in extractors
Full changelog- Sep 17, 2026The site said chunk_size was tokens, and it is counted in the splitter's own unitThree customer-facing places described chunking in a way the API does not implement, and one shipped the mistake as copy-pasteable sample code. Both the text extractor and the web scraper count chunk_size in the unit their own split strategy names: characters for characters, words for words, sentences for sentences, paragraphs for paragraphs. A capability page called it tokens per chunk. A crawler sample paired paragraph splitting with a chunk size of 1000 and an overlap of 100, which asks for chunks of a thousand paragraphs, so copying it makes every page one chunk and the overlap never applies. A third place listed the web scraper's field name on the text extractor, where the field is split_by, with three of its seven values. A template component note promised paragraph splitting at a size the manifest never sets, so deploying it gets the default of no splitting at all. This is the same confusion that collapsed an internal corpus to one truncated chunk per page, published as advice.
- Sep 17, 2026Three video templates now extract the text their own searches readThe multimodal extractor ships with transcription, video description and OCR defaulting to off, and only the multimodal embedding on. Three template manifests published a collection that mapped a downstream text collection onto transcription, from an extractor configured to produce none of it, and the video moderation template searched two embeddings its own extractor settings could not fill. Applying the served manifest into a fresh org and dumping a document showed five segments with the video url and timestamps present, and transcription, description, ocr_text, entities and keywords all absent. The template generator can now emit extractor parameters at all, and contextual video match, UX session analysis and video moderation each turn on the producers their pipeline reads. Contextual video match also declares the entity and keyword response shape it wants back, and asks the extractor for IAB categories directly, because a template cannot ship the taxonomy the reference architecture joins against. A page sentence promising per-field passes the manifest leaves off came out at the same time, along with field claims three of the collections cannot back.
- Sep 16, 2026The pipeline builder emits a manifest the API accepts, and stops offering models it cannot setThe builder asserted 347 distinct feature URIs across its capability data. The platform exposes 17, and of the 347 exactly 2 were real. All 17 carry a model the extractor fixes, and no shipping extractor declares a model parameter, so a model picker could never have been load-bearing, and it is gone. The capability is what carries weight, because several capabilities are parameters on one extractor: choosing OCR sets the OCR flags on the multimodal extractor, choosing transcription sets the transcription flags. The wizard emits those now, and the manifest it downloads is one the apply endpoint accepts. The sketch it draws says which part of its feature URIs is invented, and the page states on screen what the download already said.
- Sep 14, 2026Web scraper batches that write nothing say why on the batch recordA web_scraper batch that wrote zero documents said rows may have been filtered, even when its own counters showed nothing was skipped. Scraper errors now reach the batch record after a worker restart, each invalid URL is recorded as a skipped row, and the zero-documents message states what the counters support: every row skipped, or errors the batch could not report.