PROCESSORS · CUSTOMIZE

Adapt our output to your edge cases.

Customize lets you create versioned steps to control how we parse your documents. For example, adding image captions, formatting lists across pages, and more.

CAPABILITIES

What Customize does.

C · 01 DESCRIBE IT

Natural Language Control

Tell Datalab in plain English what should change about the conversion output. It can talk the spec through with you, then build a processor you can reuse.

C · 02 WHAT YOU CAN DO

Customize Anything

Tweak the language in image captions, customize how lists are formatted across pages, and more.

C · 03 COMPOSES WITH CONVERT

Runs after Convert

It slots into a pipeline as `convert → custom → extract`, reshaping the conversion output before whatever runs next.

C · 04 REUSABLE

Build it once, call it anywhere

Reference the processor by ID across as many pipelines as you need. Update it in one place and every pipeline pinned to it picks up the change.

SDK · PYTHON

Create it in plain English, then run it as a pipeline step.

Once the processor is ready, you get an ID. Drop it into the steps list and it runs in the pipeline alongside Convert and Extract — no custom code to maintain.

# 1. Build the processor in the chat UI.
#    "Strip running headers, page numbers, and any block that
#     contains only legal boilerplate."
#    The assistant generates a processor and returns its ID.
#
#    cp_strip_boilerplate_v1

# 2. Use it as a step in a Pipeline.
import json
from datalab_sdk import DatalabClient, PipelineProcessor

client = DatalabClient()

steps = [
    PipelineProcessor(type="convert", settings={"mode": "balanced"}),
    PipelineProcessor(
        type="custom",
        settings={},
        custom_processor_id="cp_strip_boilerplate_v1",
    ),
    PipelineProcessor(type="extract", settings={
        "page_schema": json.dumps(schema),
    }),
]
pipeline = client.create_pipeline(steps=steps)
CHAT-BUILT · ID-ADDRESSED · PIPELINE-COMPOSABLE
WHY CUSTOMIZE

A versioned processor, not a prompt you re-paste into every job.

VERSIONED Pinned, with an ID

Each build is a version with its own ID. Your pipeline pins the version it runs, so a processor that works today keeps working — and you update it in one place instead of re-pasting a prompt into every job.

PROVENANCE Citations survive

Every block keeps the per-block citation back to its source page, so reshaping the output never breaks the link between a span and where it came from in the original document.

BLOCK-AWARE Targets structure

A step can act on specific block types — tables, figures, equations, forms — and heal content split across pages, so you can summarize tables or relabel figures without disturbing the rest.

DEPLOYMENT

Run your processors wherever your documents live.

  • Managed cloud

    Start with an API key — nothing to host or operate.

    Sign up →
  • EU data residency

    Run in-region, with no egress to US infrastructure.

    Sign up →
  • Your VPC

    Runs inside your own AWS, GCP, or Azure account.

    Talk to sales →
  • On-prem & air-gapped

    Fully offline, the same model weights, dedicated support.

    Talk to sales →
SOC 2 Type II · BAA available View our trust center →
START

Fine-tune outputs to your needs.

Free tier, no credit card. Build a processor in chat and pin it to a pipeline.