{
 "recipes": [
  {
   "kind": "run",
   "task": "Classification",
   "script": "classification/classify-dataset-sglang.py",
   "repo": "uv-scripts/classification",
   "page": "https://huggingface.co/datasets/uv-scripts/classification/blob/main/classify-dataset-sglang.py",
   "url": "https://huggingface.co/datasets/uv-scripts/classification/raw/main/classify-dataset-sglang.py",
   "models": [
    "HuggingFaceTB/SmolLM3-3B"
   ],
   "support": null,
   "source": "header",
   "flavor": "l4x1",
   "timeout": "1h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/classification/raw/main/classify-dataset-sglang.py \\\n    --input-dataset your-username/emails \\\n    --column content \\\n    --labels \"spam,ham\" \\\n    --output-dataset your-username/emails-classified \\\n    --reasoning",
   "summary": "Classify text columns in Hugging Face datasets using SGLang with reasoning-aware models.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Classification",
   "script": "classification/classify-dataset.py",
   "repo": "uv-scripts/classification",
   "page": "https://huggingface.co/datasets/uv-scripts/classification/blob/main/classify-dataset.py",
   "url": "https://huggingface.co/datasets/uv-scripts/classification/raw/main/classify-dataset.py",
   "models": [
    "HuggingFaceTB/SmolLM3-3B"
   ],
   "support": null,
   "source": "header",
   "flavor": "l4x1",
   "timeout": "1h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/classification/raw/main/classify-dataset.py \\\n    --input-dataset your-username/emails \\\n    --column content \\\n    --labels \"spam,ham\" \\\n    --output-dataset your-username/emails-classified \\\n    --enable-reasoning",
   "summary": "Classify text columns in Hugging Face datasets using vLLM with structured outputs.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Classification",
   "script": "classification/classify-gliner2.py",
   "repo": "uv-scripts/classification",
   "page": "https://huggingface.co/datasets/uv-scripts/classification/blob/main/classify-gliner2.py",
   "url": "https://huggingface.co/datasets/uv-scripts/classification/raw/main/classify-gliner2.py",
   "models": [
    "fastino/gliner2.5-multi-v1"
   ],
   "support": null,
   "source": "header",
   "flavor": "t4-small",
   "timeout": "1h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/classification/raw/main/classify-gliner2.py \\\n    fancyzhx/ag_news your-username/ag-news-gliner2 \\\n    --labels World Sports Business \"Science and technology\" --max-samples 1000",
   "summary": "Classify a text column of a Hub dataset with GLiNER2 — zero-shot, or with your fine-tuned model.",
   "declared": true
  },
  {
   "kind": "train",
   "task": "Fine-tuning",
   "script": "classification/train-classifier.py",
   "repo": "uv-scripts/classification",
   "page": "https://huggingface.co/datasets/uv-scripts/classification/blob/main/train-classifier.py",
   "url": "https://huggingface.co/datasets/uv-scripts/classification/raw/main/train-classifier.py",
   "models": [
    "LiquidAI/LFM2.5-Encoder-350M"
   ],
   "support": null,
   "source": "header",
   "flavor": "l4x1",
   "timeout": "1h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/classification/raw/main/train-classifier.py \\\n    fancyzhx/ag_news your-username/my-news-classifier \\\n    --max-samples 2000 --epochs 1",
   "summary": "Fine-tune a text-classification encoder on a Hub dataset and push the trained model to the Hub.",
   "declared": false
  },
  {
   "kind": "train",
   "task": "Fine-tuning",
   "script": "classification/train-gliner2.py",
   "repo": "uv-scripts/classification",
   "page": "https://huggingface.co/datasets/uv-scripts/classification/blob/main/train-gliner2.py",
   "url": "https://huggingface.co/datasets/uv-scripts/classification/raw/main/train-gliner2.py",
   "models": [
    "fastino/gliner2.5-multi-v1"
   ],
   "support": null,
   "source": "header",
   "flavor": "t4-small",
   "timeout": "1h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/classification/raw/main/train-gliner2.py \\\n    biglam/blbooksgenre your-username/gliner2-blbooks-genre \\\n    --dataset-config title_genre_classifiction --text-column title",
   "summary": "Fine-tune GLiNER2 into a text classifier — a small model (74M to 287M parameters, depending on the base checkpoint) that already works zero-shot.",
   "declared": false
  },
  {
   "kind": "train",
   "task": "Fine-tuning",
   "script": "classification/train-setfit.py",
   "repo": "uv-scripts/classification",
   "page": "https://huggingface.co/datasets/uv-scripts/classification/blob/main/train-setfit.py",
   "url": "https://huggingface.co/datasets/uv-scripts/classification/raw/main/train-setfit.py",
   "models": [
    "sentence-transformers/all-MiniLM-L6-v2"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor cpu-basic --secrets HF_TOKEN \\\n    https://huggingface.co/datasets/uv-scripts/classification/raw/main/train-setfit.py \\\n    fancyzhx/ag_news your-username/ag-news-setfit \\\n    --num-samples 8",
   "summary": "Few-shot text classification with SetFit — train on 8-64 labelled examples per class, on CPU or GPU.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Embeddings",
   "script": "embeddings/embed-to-lance.py",
   "repo": "uv-scripts/embeddings",
   "page": "https://huggingface.co/datasets/uv-scripts/embeddings/blob/main/embed-to-lance.py",
   "url": "https://huggingface.co/datasets/uv-scripts/embeddings/raw/main/embed-to-lance.py",
   "models": [
    "BAAI/bge-base-en-v1.5"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor l4x1 -s HF_TOKEN \\\n    https://huggingface.co/datasets/uv-scripts/embeddings/raw/main/embed-to-lance.py \\\n    stanfordnlp/imdb your-username/imdb-vecdb --column text --model BAAI/bge-base-en-v1.5 --private",
   "summary": "Embed a Hugging Face dataset and push it back as a Lance vector index — a Hub dataset that IS a searchable vector database.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Embeddings",
   "script": "embeddings/generate-embeddings-vllm.py",
   "repo": "uv-scripts/embeddings",
   "page": "https://huggingface.co/datasets/uv-scripts/embeddings/blob/main/generate-embeddings-vllm.py",
   "url": "https://huggingface.co/datasets/uv-scripts/embeddings/raw/main/generate-embeddings-vllm.py",
   "models": [
    "Qwen/Qwen3-Embedding-0.6B"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor l4x1 -s HF_TOKEN \\\n    https://huggingface.co/datasets/uv-scripts/embeddings/raw/main/generate-embeddings-vllm.py \\\n    stanfordnlp/imdb your-username/imdb-embeddings --column text --model Qwen/Qwen3-Embedding-0.6B --private",
   "summary": "High-throughput embedding generation with vLLM pooling mode — the \"scale\" variant of generate-embeddings.py, for large decoder embedding models (e.g.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Embeddings",
   "script": "embeddings/generate-embeddings.py",
   "repo": "uv-scripts/embeddings",
   "page": "https://huggingface.co/datasets/uv-scripts/embeddings/blob/main/generate-embeddings.py",
   "url": "https://huggingface.co/datasets/uv-scripts/embeddings/raw/main/generate-embeddings.py",
   "models": [
    "sentence-transformers/all-MiniLM-L6-v2"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor l4x1 -s HF_TOKEN \\\n    https://huggingface.co/datasets/uv-scripts/embeddings/raw/main/generate-embeddings.py \\\n    stanfordnlp/imdb  your-username/imdb-embeddings \\\n    --column text --model sentence-transformers/all-MiniLM-L6-v2",
   "summary": "Generate embeddings for a Hugging Face dataset (text OR images) with sentence-transformers, and push the result back to the Hub as a new dataset with…",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Embeddings",
   "script": "embeddings/launch-embedding-fleet.py",
   "repo": "uv-scripts/embeddings",
   "page": "https://huggingface.co/datasets/uv-scripts/embeddings/blob/main/launch-embedding-fleet.py",
   "url": "https://huggingface.co/datasets/uv-scripts/embeddings/raw/main/launch-embedding-fleet.py",
   "models": [
    "sentence-transformers/all-MiniLM-L6-v2"
   ],
   "support": null,
   "source": "flags-needed",
   "flavor": null,
   "timeout": null,
   "command": null,
   "summary": "Fan one embedding run out across N Hugging Face Jobs, then consolidate.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Entities",
   "script": "gliner/extract-entities.py",
   "repo": "uv-scripts/gliner",
   "page": "https://huggingface.co/datasets/uv-scripts/gliner/blob/main/extract-entities.py",
   "url": "https://huggingface.co/datasets/uv-scripts/gliner/raw/main/extract-entities.py",
   "models": [
    "urchade/gliner_multi-v2.1"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor t4-small \\\n    --secrets HF_TOKEN \\\n    https://huggingface.co/datasets/uv-scripts/gliner/raw/main/extract-entities.py \\\n    librarian-bots/model_cards_with_metadata \\\n    your-username/model-cards-entities \\\n    --text-column card \\\n    --entity-types Person Organization Dataset Model Framework \\\n    --max-samples 5000",
   "summary": "Extract named entities from a text column of a HuggingFace dataset using GLiNER.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/deepseek-ocr-vllm.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/deepseek-ocr-vllm.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/deepseek-ocr-vllm.py",
   "models": [
    "deepseek-ai/DeepSeek-OCR"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/deepseek-ocr-vllm.py \\\n    my-dataset my-output --max-samples 10",
   "summary": "Convert document images to markdown using DeepSeek-OCR with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/deepseek-ocr2-vllm.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/deepseek-ocr2-vllm.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/deepseek-ocr2-vllm.py",
   "models": [
    "deepseek-ai/DeepSeek-OCR-2"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/deepseek-ocr2-vllm.py \\\n    my-dataset my-output --max-samples 10",
   "summary": "Convert document images to markdown using DeepSeek-OCR-2 with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/dots-mocr.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/dots-mocr.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/dots-mocr.py",
   "models": [
    "rednote-hilab/dots.mocr"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/dots-mocr.py \\\n    INPUT_DATASET OUTPUT_DATASET",
   "summary": "Convert document images to markdown using dots.mocr with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/dots-ocr.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/dots-ocr.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/dots-ocr.py",
   "models": [
    "rednote-hilab/dots.ocr"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/dots-ocr.py \\\n    INPUT_DATASET OUTPUT_DATASET",
   "summary": "Convert document images to markdown using DoTS.ocr with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/glm-ocr.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/glm-ocr.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/glm-ocr.py",
   "models": [
    "zai-org/GLM-OCR"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/glm-ocr.py \\\n    {source_dataset} \\\n    <OUTPUT_DATASET> \\\n    --image-column {image_column} \\\n    --batch-size {batch_size} \\\n    --task {task}",
   "summary": "Convert document images to markdown using GLM-OCR with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/hunyuan-ocr-1.5.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/hunyuan-ocr-1.5.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/hunyuan-ocr-1.5.py",
   "models": [
    "tencent/HunyuanOCR"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/hunyuan-ocr-1.5.py \\\n    INPUT_DATASET OUTPUT_DATASET",
   "summary": "Convert document images to markdown using HunyuanOCR-1.5 with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/lift-extract.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/lift-extract.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lift-extract.py",
   "models": [
    "datalab-to/lift"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a100-large",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lift-extract.py \\\n    INPUT_DATASET OUTPUT_DATASET \\\n    --schema '{\"type\":\"object\",\"properties\":{\"title\":{\"type\":\"string\"}}}' \\\n    --max-samples 5 --shuffle --seed 42",
   "summary": "Extract structured JSON from document images OR multi-page PDFs using Datalab's lift model (datalab-to/lift, 9B, Qwen3.5-based).",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/lighton-ocr2-saturate.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/lighton-ocr2-saturate.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lighton-ocr2-saturate.py",
   "models": [
    "lightonai/LightOnOCR-2-1B"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": "4h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lighton-ocr2-saturate.py \\\n    <INPUT_DATASET> <OUTPUT_DATASET>",
   "summary": "Convert document images to markdown using LightOnOCR-2 via saturate.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/lighton-ocr2.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/lighton-ocr2.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lighton-ocr2.py",
   "models": [
    "lightonai/LightOnOCR-2-1B"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": "1h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lighton-ocr2.py \\\n    <INPUT_DATASET> <OUTPUT_DATASET>",
   "summary": "Convert document images to markdown using LightOnOCR-2 with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/lighton-ocr3-bucket.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/lighton-ocr3-bucket.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lighton-ocr3-bucket.py",
   "models": [
    "lightonai/LightOnOCR-3-4B"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lighton-ocr3-bucket.py \\\n    hf://buckets/biglam/britannica/source/pages/00070476bsb \\\n    hf://buckets/your-username/ocr-output/britannica --mode grounding --max-samples 20",
   "summary": "OCR images and PDFs from an HF Bucket (or a directory) using LightOnOCR-3, writing markdown files.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/lighton-ocr3.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/lighton-ocr3.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lighton-ocr3.py",
   "models": [
    "lightonai/LightOnOCR-3-4B"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/lighton-ocr3.py \\\n    INPUT_DATASET OUTPUT_DATASET --max-samples 10",
   "summary": "Convert document images to markdown (or layout blocks) using LightOnOCR-3 with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/minicpm-ocr.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/minicpm-ocr.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/minicpm-ocr.py",
   "models": [
    "openbmb/MiniCPM-OCR-1.0"
   ],
   "support": "experimental",
   "source": "header",
   "flavor": "a10g-large",
   "timeout": "2h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/minicpm-ocr.py \\\n    INPUT_DATASET OUTPUT_DATASET --max-samples 20",
   "summary": "Convert document images to markdown with OpenBMB's MiniCPM-OCR 1.0 pipeline.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/nuextract3.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/nuextract3.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/nuextract3.py",
   "models": [
    "numind/NuExtract3"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/nuextract3.py \\\n    INPUT_DATASET OUTPUT_DATASET --max-samples 5 --shuffle --seed 42",
   "summary": "Convert document images to markdown OR extract structured JSON using NuExtract3 with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/olmocr2-vllm.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/olmocr2-vllm.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/olmocr2-vllm.py",
   "models": [
    "allenai/olmOCR-2-7B-1025-FP8"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": "2h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/olmocr2-vllm.py \\\n    INPUT_DATASET OUTPUT_DATASET",
   "summary": "Convert document images to markdown using olmOCR-2 with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/ovis-ocr2-saturate.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/ovis-ocr2-saturate.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/ovis-ocr2-saturate.py",
   "models": [
    "ATH-MaaS/OvisOCR2"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": "4h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/ovis-ocr2-saturate.py \\\n    <INPUT_DATASET> <OUTPUT_DATASET>",
   "summary": "Convert document images to markdown using OvisOCR2 via saturate.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/ovis-ocr2.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/ovis-ocr2.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/ovis-ocr2.py",
   "models": [
    "ATH-MaaS/OvisOCR2"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/ovis-ocr2.py \\\n    INPUT_DATASET OUTPUT_DATASET --batch-size 16",
   "summary": "Convert document images to markdown using OvisOCR2 with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/paddleocr-vl-1.6.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/paddleocr-vl-1.6.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/paddleocr-vl-1.6.py",
   "models": [
    "PaddlePaddle/PaddleOCR-VL-1.6"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/paddleocr-vl-1.6.py \\\n    INPUT_DATASET OUTPUT_DATASET",
   "summary": "Convert document images to text/tables/formulas using PaddleOCR-VL-1.6 with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/qianfan-ocr.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/qianfan-ocr.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/qianfan-ocr.py",
   "models": [
    "baidu/Qianfan-OCR"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/qianfan-ocr.py \\\n    INPUT_DATASET OUTPUT_DATASET --max-samples 10",
   "summary": "Convert document images to markdown using Qianfan-OCR with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/surya-ocr.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/surya-ocr.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/surya-ocr.py",
   "models": [
    "datalab-to/surya-ocr-2"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/surya-ocr.py \\\n    INPUT_DATASET OUTPUT_DATASET \\\n    --max-samples 5 --shuffle --seed 42",
   "summary": "Document intelligence on images OR multi-page PDFs with Datalab's Surya OCR 2 (datalab-to/surya-ocr-2, 650M, Qwen3.5-style).",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/unlimited-ocr-vllm.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/unlimited-ocr-vllm.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/unlimited-ocr-vllm.py",
   "models": [
    "baidu/Unlimited-OCR"
   ],
   "support": "core",
   "source": "header",
   "flavor": "a10g-small",
   "timeout": null,
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/unlimited-ocr-vllm.py \\\n    your-input-dataset your-output-dataset --max-samples 10",
   "summary": "Convert document images to markdown using Baidu Unlimited-OCR with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/unlimited-ocr2-live.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/unlimited-ocr2-live.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/unlimited-ocr2-live.py",
   "models": [
    "baidu/Unlimited-OCR-2"
   ],
   "support": "experimental",
   "source": "header",
   "flavor": "rtx-pro-6000",
   "timeout": "4h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/unlimited-ocr2-live.py \\\n    \"hf://buckets/biglam/britannica/source/pages/1771EncyclopediaBritannicaNLS/*.jp2\" \\\n    <user>/britannica-1771 --live-port 7860",
   "summary": "unlimited-ocr2.py with a live view you can watch (and screen-record) while the Job runs.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/unlimited-ocr2-saturate.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/unlimited-ocr2-saturate.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/unlimited-ocr2-saturate.py",
   "models": [
    "baidu/Unlimited-OCR-2"
   ],
   "support": "experimental",
   "source": "header",
   "flavor": "rtx-pro-6000",
   "timeout": "4h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/unlimited-ocr2-saturate.py \\\n    \"hf://buckets/biglam/britannica/source/pages/1771EncyclopediaBritannicaNLS/*.jp2\" \\\n    <user>/britannica-1771-uocr2",
   "summary": "OCR whole documents (book volumes, PDFs) with Baidu Unlimited-OCR-2 via saturate.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "OCR",
   "script": "ocr/unlimited-ocr2.py",
   "repo": "uv-scripts/ocr",
   "page": "https://huggingface.co/datasets/uv-scripts/ocr/blob/main/unlimited-ocr2.py",
   "url": "https://huggingface.co/datasets/uv-scripts/ocr/raw/main/unlimited-ocr2.py",
   "models": [
    "baidu/Unlimited-OCR-2"
   ],
   "support": "core",
   "source": "header",
   "flavor": "rtx-pro-6000",
   "timeout": "4h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/ocr/raw/main/unlimited-ocr2.py \\\n    \"hf://buckets/biglam/britannica/source/pages/1771EncyclopediaBritannicaNLS/*.jp2\" \\\n    <user>/britannica-1771",
   "summary": "OCR whole documents (book volumes, folders of scans) with Baidu Unlimited-OCR-2.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Segmentation",
   "script": "sam3/detect-objects.py",
   "repo": "uv-scripts/sam3",
   "page": "https://huggingface.co/datasets/uv-scripts/sam3/blob/main/detect-objects.py",
   "url": "https://huggingface.co/datasets/uv-scripts/sam3/raw/main/detect-objects.py",
   "models": [
    "facebook/sam3"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor a100-large \\\n    -s HF_TOKEN \\\n    https://huggingface.co/datasets/uv-scripts/sam3/raw/main/detect-objects.py \\\n    INPUT_DATASET OUTPUT_DATASET \\\n    --class-name photograph \\\n    --confidence-threshold 0.5",
   "summary": "Detect objects in images using Meta's SAM3 (Segment Anything Model 3).",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Segmentation",
   "script": "sam3/segment-objects.py",
   "repo": "uv-scripts/sam3",
   "page": "https://huggingface.co/datasets/uv-scripts/sam3/blob/main/segment-objects.py",
   "url": "https://huggingface.co/datasets/uv-scripts/sam3/raw/main/segment-objects.py",
   "models": [
    "facebook/sam3"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor a100-large \\\n    -s HF_TOKEN \\\n    https://huggingface.co/datasets/uv-scripts/sam3/raw/main/segment-objects.py \\\n    INPUT_DATASET OUTPUT_DATASET \\\n    --class-name photograph",
   "summary": "Segment objects in images using Meta's SAM3 (Segment Anything Model 3).",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Transcription",
   "script": "transcription/cohere-transcribe-vllm.py",
   "repo": "uv-scripts/transcription",
   "page": "https://huggingface.co/datasets/uv-scripts/transcription/blob/main/cohere-transcribe-vllm.py",
   "url": "https://huggingface.co/datasets/uv-scripts/transcription/raw/main/cohere-transcribe-vllm.py",
   "models": [
    "CohereLabs/cohere-transcribe-03-2026"
   ],
   "support": null,
   "source": "flags-needed",
   "flavor": null,
   "timeout": null,
   "command": null,
   "summary": "Transcribe audio files from a directory using Cohere Transcribe via vLLM.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Transcription",
   "script": "transcription/cohere-transcribe.py",
   "repo": "uv-scripts/transcription",
   "page": "https://huggingface.co/datasets/uv-scripts/transcription/blob/main/cohere-transcribe.py",
   "url": "https://huggingface.co/datasets/uv-scripts/transcription/raw/main/cohere-transcribe.py",
   "models": [
    "CohereLabs/cohere-transcribe-03-2026"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor l4x1 \\\n    -s HF_TOKEN \\\n    -v hf://buckets/your-username/audio-input:/input:ro \\\n    -v hf://buckets/your-username/transcripts:/output \\\n    https://huggingface.co/datasets/uv-scripts/transcription/raw/main/cohere-transcribe.py \\\n    /input /output --language en --compile",
   "summary": "Transcribe audio files from a directory using Cohere Transcribe via transformers.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Transcription",
   "script": "transcription/easytranscriber-transcribe.py",
   "repo": "uv-scripts/transcription",
   "page": "https://huggingface.co/datasets/uv-scripts/transcription/blob/main/easytranscriber-transcribe.py",
   "url": "https://huggingface.co/datasets/uv-scripts/transcription/raw/main/easytranscriber-transcribe.py",
   "models": [
    "CohereLabs/cohere-transcribe-03-2026",
    "distil-whisper/distil-large-v3.5",
    "facebook/mms-1b-all"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor l4x1 -s HF_TOKEN \\\n    -e UV_TORCH_BACKEND=cu128 \\\n    -v hf://buckets/your-username/audio-files:/input:ro \\\n    -v hf://buckets/your-username/transcripts-aligned:/output \\\n    https://huggingface.co/datasets/uv-scripts/transcription/raw/main/easytranscriber-transcribe.py \\\n    /input /output \\\n    --language en --emit-txt --emit-srt",
   "summary": "Transcribe audio with word-level timestamps using kb-labb/easytranscriber.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Transcription",
   "script": "transcription/granite-turboctc-transcribe.py",
   "repo": "uv-scripts/transcription",
   "page": "https://huggingface.co/datasets/uv-scripts/transcription/blob/main/granite-turboctc-transcribe.py",
   "url": "https://huggingface.co/datasets/uv-scripts/transcription/raw/main/granite-turboctc-transcribe.py",
   "models": [
    "ibm-granite/granite-speech-5.0-470m-turboctc"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor l4x1 -s HF_TOKEN \\\n    -e UV_TORCH_BACKEND=cu128 \\\n    -v hf://buckets/your-username/audio-input:/input:ro \\\n    -v hf://buckets/your-username/transcripts:/output \\\n    https://huggingface.co/datasets/uv-scripts/transcription/raw/main/granite-turboctc-transcribe.py \\\n    /input /output",
   "summary": "Transcribe English audio files with IBM Granite Speech 5.0 TurboCTC (470M).",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Transcription",
   "script": "transcription/moss-transcribe-diarize-server.py",
   "repo": "uv-scripts/transcription",
   "page": "https://huggingface.co/datasets/uv-scripts/transcription/blob/main/moss-transcribe-diarize-server.py",
   "url": "https://huggingface.co/datasets/uv-scripts/transcription/raw/main/moss-transcribe-diarize-server.py",
   "models": [
    "OpenMOSS-Team/MOSS-Transcribe-Diarize"
   ],
   "support": null,
   "source": "flags-needed",
   "flavor": null,
   "timeout": null,
   "command": null,
   "summary": "High-throughput transcription + diarization via an in-job sgl-omni server.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Transcription",
   "script": "transcription/moss-transcribe-diarize.py",
   "repo": "uv-scripts/transcription",
   "page": "https://huggingface.co/datasets/uv-scripts/transcription/blob/main/moss-transcribe-diarize.py",
   "url": "https://huggingface.co/datasets/uv-scripts/transcription/raw/main/moss-transcribe-diarize.py",
   "models": [
    "OpenMOSS-Team/MOSS-Transcribe-Diarize"
   ],
   "support": null,
   "source": "documented",
   "flavor": null,
   "timeout": null,
   "command": "hf jobs uv run --flavor l4x1 -s HF_TOKEN \\\n    -e UV_TORCH_BACKEND=cu128 \\\n    -v hf://buckets/your-username/audio-files:/input:ro \\\n    -v hf://buckets/your-username/transcripts:/output \\\n    https://huggingface.co/datasets/uv-scripts/transcription/raw/main/moss-transcribe-diarize.py \\\n    /input /output --emit-txt --emit-srt",
   "summary": "Transcribe + diarize audio files using MOSS-Transcribe-Diarize (0.9B).",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Transcription",
   "script": "transcription/nemotron-transcribe.py",
   "repo": "uv-scripts/transcription",
   "page": "https://huggingface.co/datasets/uv-scripts/transcription/blob/main/nemotron-transcribe.py",
   "url": "https://huggingface.co/datasets/uv-scripts/transcription/raw/main/nemotron-transcribe.py",
   "models": [
    "nvidia/NVIDIA-Nemotron-3.5-Transcribe-30B-A4B"
   ],
   "support": null,
   "source": "header",
   "flavor": "rtx-pro-6000",
   "timeout": "4h",
   "command": "hf jobs uv run \\\n    -v hf://buckets/your-username/audio-files:/input:ro \\\n    -v hf://buckets/your-username/transcripts:/output \\\n    https://huggingface.co/datasets/uv-scripts/transcription/raw/main/nemotron-transcribe.py \\\n    /input /output",
   "summary": "Transcribe audio with NVIDIA Nemotron 3.5 Transcribe via an in-job vLLM server.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Video",
   "script": "video/marlin-caption.py",
   "repo": "uv-scripts/video",
   "page": "https://huggingface.co/datasets/uv-scripts/video/blob/main/marlin-caption.py",
   "url": "https://huggingface.co/datasets/uv-scripts/video/raw/main/marlin-caption.py",
   "models": [
    "NemoStation/Marlin-2B"
   ],
   "support": null,
   "source": "header",
   "flavor": "a10g-small",
   "timeout": "2h",
   "command": "hf jobs uv run \\\n    -v hf://buckets/your-username/my-videos:/input:ro \\\n    https://huggingface.co/datasets/uv-scripts/video/raw/main/marlin-caption.py \\\n    /input hf://buckets/your-username/my-videos/captions",
   "summary": "Caption videos with timestamped events using Marlin-2B, writing a resumable dataset.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Video",
   "script": "video/qwen38-caption.py",
   "repo": "uv-scripts/video",
   "page": "https://huggingface.co/datasets/uv-scripts/video/blob/main/qwen38-caption.py",
   "url": "https://huggingface.co/datasets/uv-scripts/video/raw/main/qwen38-caption.py",
   "models": [
    "Qwen/Qwen3.8-27B"
   ],
   "support": null,
   "source": "header",
   "flavor": "a100-large",
   "timeout": "2h",
   "command": "hf jobs uv run \\\n    -v hf://buckets/your-username/my-videos:/input:ro \\\n    https://huggingface.co/datasets/uv-scripts/video/raw/main/qwen38-caption.py \\\n    /input hf://buckets/your-username/my-videos/captions",
   "summary": "Caption whole videos — no chunking — with Qwen3.8-27B, writing a resumable dataset.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Bulk inference",
   "script": "vllm/generate-responses.py",
   "repo": "uv-scripts/vllm",
   "page": "https://huggingface.co/datasets/uv-scripts/vllm/blob/main/generate-responses.py",
   "url": "https://huggingface.co/datasets/uv-scripts/vllm/raw/main/generate-responses.py",
   "models": [
    "Qwen/Qwen3-30B-A3B-Instruct-2507"
   ],
   "support": null,
   "source": "header",
   "flavor": "a100-large",
   "timeout": "2h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/vllm/raw/main/generate-responses.py \\\n    input output --max-model-len 32768",
   "summary": "Generate responses for prompts in a dataset using vLLM for efficient GPU inference.",
   "declared": false
  },
  {
   "kind": "run",
   "task": "Bulk inference",
   "script": "vllm/vlm-classify.py",
   "repo": "uv-scripts/vllm",
   "page": "https://huggingface.co/datasets/uv-scripts/vllm/blob/main/vlm-classify.py",
   "url": "https://huggingface.co/datasets/uv-scripts/vllm/raw/main/vlm-classify.py",
   "models": [
    "Qwen/Qwen2-VL-7B-Instruct"
   ],
   "support": null,
   "source": "header",
   "flavor": "l40sx1",
   "timeout": "1h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/vllm/raw/main/vlm-classify.py \\\n    your-username/INPUT_DATASET \\\n    your-username/OUTPUT_DATASET \\\n    --classes \"title-page,content,index,other\"",
   "summary": "Classify images using Vision Language Models with vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Object detection",
   "script": "vlm-object-detection/qwen3vl-detect-fewshot.py",
   "repo": "uv-scripts/vlm-object-detection",
   "page": "https://huggingface.co/datasets/uv-scripts/vlm-object-detection/blob/main/qwen3vl-detect-fewshot.py",
   "url": "https://huggingface.co/datasets/uv-scripts/vlm-object-detection/raw/main/qwen3vl-detect-fewshot.py",
   "models": [
    "Qwen/Qwen3.6-35B-A3B"
   ],
   "support": null,
   "source": "header",
   "flavor": "a100-large",
   "timeout": "1h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/vlm-object-detection/raw/main/qwen3vl-detect-fewshot.py \\\n    INPUT_DATASET OUTPUT_DATASET",
   "summary": "Instruction-oriented object detection with Qwen3-VL via vLLM.",
   "declared": true
  },
  {
   "kind": "run",
   "task": "Object detection",
   "script": "vlm-object-detection/qwen3vl-detect.py",
   "repo": "uv-scripts/vlm-object-detection",
   "page": "https://huggingface.co/datasets/uv-scripts/vlm-object-detection/blob/main/qwen3vl-detect.py",
   "url": "https://huggingface.co/datasets/uv-scripts/vlm-object-detection/raw/main/qwen3vl-detect.py",
   "models": [
    "Qwen/Qwen3.6-35B-A3B"
   ],
   "support": null,
   "source": "header",
   "flavor": "a100-large",
   "timeout": "1h",
   "command": "hf jobs uv run \\\n    https://huggingface.co/datasets/uv-scripts/vlm-object-detection/raw/main/qwen3vl-detect.py \\\n    INPUT_DATASET OUTPUT_DATASET",
   "summary": "Instruction-oriented object detection with Qwen3-VL via vLLM.",
   "declared": true
  }
 ],
 "data_tools": [
  {
   "repo": "uv-scripts/object-detection",
   "description": "Check and convert detection datasets"
  },
  {
   "repo": "uv-scripts/deduplication",
   "description": "Remove near-duplicate text"
  },
  {
   "repo": "uv-scripts/build-atlas",
   "description": "Build an embedding atlas"
  },
  {
   "repo": "uv-scripts/iiif-tiles",
   "description": "Make IIIF deep-zoom tiles"
  },
  {
   "repo": "uv-scripts/data-processing",
   "description": "Convert uploads to optimized Parquet"
  }
 ]
}
