{
  "schema_version": "pm-model-catalog/v1",
  "api": {
    "contract_version": "pm-job-api/v1",
    "base_url_environment_variable": "PM_API_BASE_URL",
    "endpoints": [
      {
        "id": "run_job",
        "method": "POST",
        "path": "/jobs/{job_id}/run",
        "authentication": "x-api-key",
        "description": "Queue an existing Job Manager job for execution."
      }
    ]
  },
  "models": [
    {
      "id": "falcon_perception",
      "version": "1",
      "name": "Falcon Perception",
      "description": "Locate or segment objects described by a natural-language query.",
      "tasks": [
        "object_detection",
        "instance_segmentation",
        "visual_grounding"
      ],
      "module_path": "modules/1_falcon_perception",
      "thumbnail": {
        "alt": "Wheat heads detected by Falcon Perception",
        "status": "verified",
        "url": "/thumbnails/falcon_perception.jpg"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.falcon_perception",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "agrifm",
      "version": "1",
      "name": "AgriFM Cropland Mapping",
      "description": "Map cropland from multitemporal Sentinel-2 HDF5 data.",
      "tasks": [
        "cropland_mapping",
        "semantic_segmentation",
        "remote_sensing"
      ],
      "module_path": "modules/agrifm",
      "thumbnail": {
        "alt": "AgriFM cropland mapping visualization",
        "status": "verified",
        "url": "/thumbnails/agrifm.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "dataset.agrifm",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "barley_seed_shape_analysis",
      "version": "1",
      "name": "Barley Seed Shape Analysis",
      "description": "Segment barley seeds and calculate shape measurements.",
      "tasks": [
        "instance_segmentation",
        "shape_analysis"
      ],
      "module_path": "modules/barley_seed_shape_analysis",
      "thumbnail": {
        "alt": "Segmented barley seeds with shape measurements",
        "status": "verified",
        "url": "/thumbnails/barley_seed_shape_analysis.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.barley_seed_shape_analysis",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "falcon_ocr",
      "version": "1",
      "name": "Falcon OCR",
      "description": "Extract plain text or structured layout regions from document images.",
      "tasks": [
        "ocr",
        "document_understanding"
      ],
      "module_path": "modules/falcon_ocr",
      "thumbnail": {
        "alt": "Handwritten table interpreted by Falcon OCR",
        "status": "verified",
        "url": "/thumbnails/falcon_ocr.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.falcon_ocr",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "fomo4wheat_vit_b",
      "version": "1",
      "name": "FoMo4Wheat ViT-B/14",
      "description": "Wheat analysis with the ViT-B/14 FoMo4Wheat backbone and task heads.",
      "tasks": [
        "classification",
        "object_detection",
        "semantic_segmentation",
        "counting"
      ],
      "module_path": "modules/fomo4wheat/vit_b",
      "family_id": "fomo4wheat",
      "thumbnail": {
        "alt": "FoMo4Wheat integrated wheat analysis visualization",
        "status": "verified",
        "url": "/thumbnails/fomo4wheat_vit_b.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.fomo4wheat.vit_b",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "fomo4wheat_vit_l",
      "version": "1",
      "name": "FoMo4Wheat ViT-L/14",
      "description": "Wheat analysis with the ViT-L/14 FoMo4Wheat backbone and task heads.",
      "tasks": [
        "classification",
        "object_detection",
        "semantic_segmentation",
        "counting"
      ],
      "module_path": "modules/fomo4wheat/vit_l",
      "family_id": "fomo4wheat",
      "thumbnail": {
        "alt": "Representative FoMo4Wheat integrated wheat analysis visualization",
        "status": "shared",
        "url": "/thumbnails/fomo4wheat_vit_l.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.fomo4wheat.vit_l",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "fomo4wheat_vit_g",
      "version": "1",
      "name": "FoMo4Wheat ViT-G/14",
      "description": "Wheat analysis with the ViT-G/14 FoMo4Wheat backbone and task heads.",
      "tasks": [
        "classification",
        "object_detection",
        "semantic_segmentation",
        "counting"
      ],
      "module_path": "modules/fomo4wheat/vit_g",
      "family_id": "fomo4wheat",
      "thumbnail": {
        "alt": "Representative FoMo4Wheat integrated wheat analysis visualization",
        "status": "shared",
        "url": "/thumbnails/fomo4wheat_vit_g.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.fomo4wheat.vit_g",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "gemma4_e4b",
      "version": "1",
      "name": "Gemma 4 E4B",
      "description": "Describe agricultural images and answer visual questions.",
      "tasks": [
        "image_captioning",
        "visual_question_answering"
      ],
      "module_path": "modules/gemma4_e4b",
      "thumbnail": {
        "alt": "Representative agricultural image for Gemma 4 E4B",
        "status": "provisional",
        "url": "/thumbnails/gemma4_e4b.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.gemma4_e4b",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "gemma4_e4b_gguf",
      "version": "1",
      "name": "Gemma 4 E4B GGUF",
      "description": "Describe agricultural images with the llama.cpp GGUF runtime.",
      "tasks": [
        "image_captioning",
        "visual_question_answering"
      ],
      "module_path": "modules/gemma4_e4b_gguf",
      "thumbnail": {
        "alt": "Agricultural image description generated by Gemma 4 E4B GGUF",
        "status": "verified",
        "url": "/thumbnails/gemma4_e4b_gguf.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.gemma4_e4b_gguf",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "globalwheat2021",
      "version": "1",
      "name": "Global Wheat 2021",
      "description": "Detect and count wheat heads in field images.",
      "tasks": [
        "object_detection",
        "counting"
      ],
      "module_path": "modules/globalwheat2021",
      "thumbnail": {
        "alt": "Wheat heads detected by Global Wheat 2021",
        "status": "verified",
        "url": "/thumbnails/globalwheat2021.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.globalwheat2021",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "growliflower",
      "version": "1",
      "name": "GrowliFlower Segmentation",
      "description": "Segment cauliflower plants for growth analysis.",
      "tasks": [
        "instance_segmentation",
        "growth_analysis"
      ],
      "module_path": "modules/growliflower",
      "thumbnail": {
        "alt": "Segmented cauliflower plants",
        "status": "verified",
        "url": "/thumbnails/growliflower.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.growliflower",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "locateanything_3b",
      "version": "1",
      "name": "LocateAnything-3B",
      "description": "Locate objects from category names or natural-language descriptions.",
      "tasks": [
        "object_detection",
        "visual_grounding",
        "pointing"
      ],
      "module_path": "modules/locateanything_3b",
      "thumbnail": {
        "alt": "Flower buds localized by LocateAnything-3B",
        "status": "verified",
        "url": "/thumbnails/locateanything_3b.png"
      },
      "runtime": {
        "gpu": true,
        "minimum_vram_gb": 16
      },
      "interfaces": [
        {
          "job_type": "image.visual_grounding.locateanything_3b",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "plantvillage_cls",
      "version": "1",
      "name": "PlantVillage Classification",
      "description": "Classify strawberry leaf diseases from an image.",
      "tasks": [
        "image_classification",
        "disease_diagnosis"
      ],
      "module_path": "modules/plantvillage_cls",
      "thumbnail": {
        "alt": "Strawberry leaf disease classified by PlantVillage",
        "status": "verified",
        "url": "/thumbnails/plantvillage_cls.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.plantvillage_cls",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "sam3",
      "version": "1",
      "name": "SAM3 Segmentation",
      "description": "Segment objects in images or videos using text, point, or box prompts.",
      "tasks": [
        "instance_segmentation",
        "visual_grounding"
      ],
      "module_path": "modules/sam3",
      "thumbnail": {
        "alt": "Flowers segmented by SAM3",
        "status": "verified",
        "url": "/thumbnails/sam3.png"
      },
      "runtime": {
        "gpu": true,
        "minimum_vram_gb": 16
      },
      "interfaces": [
        {
          "job_type": "image.segmentation.sam3",
          "endpoint": "run_job"
        },
        {
          "job_type": "video.segmentation.sam3",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "sam3_1",
      "version": "1",
      "name": "SAM3.1 Segmentation",
      "description": "Segment objects in images or videos with the SAM3.1 model.",
      "tasks": [
        "instance_segmentation",
        "visual_grounding"
      ],
      "module_path": "modules/sam3_1",
      "thumbnail": {
        "alt": "Representative prompt-based segmentation for SAM3.1",
        "status": "provisional",
        "url": "/thumbnails/sam3_1.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.segmentation.sam3_1",
          "endpoint": "run_job"
        },
        {
          "job_type": "video.segmentation.sam3_1",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "sam3d_objects",
      "version": "1",
      "name": "SAM 3D Objects",
      "description": "Reconstruct one or more 3D objects from an image and masks.",
      "tasks": [
        "3d_reconstruction",
        "object_segmentation"
      ],
      "module_path": "modules/sam3d_objects",
      "thumbnail": {
        "alt": "Strawberry reconstructed as a 3D object",
        "status": "verified",
        "url": "/thumbnails/sam3d_objects.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.sam3d_objects",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "sdm",
      "version": "1",
      "name": "SDM (SAM2 + CLIP)",
      "description": "Perform zero-shot instance segmentation with SAM2 and CLIP.",
      "tasks": [
        "instance_segmentation",
        "zero_shot_classification"
      ],
      "module_path": "modules/sdm",
      "thumbnail": {
        "alt": "Plant instances segmented by SDM",
        "status": "verified",
        "url": "/thumbnails/sdm.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.sdm",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "strawberry_det",
      "version": "1",
      "name": "Strawberry Detection",
      "description": "Detect diseases and conditions in strawberry plant images.",
      "tasks": [
        "object_detection",
        "disease_diagnosis"
      ],
      "module_path": "modules/strawberry_det",
      "thumbnail": {
        "alt": "Strawberry disease bounding-box detections",
        "status": "verified",
        "url": "/thumbnails/strawberry_det.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.strawberry_det",
          "endpoint": "run_job",
          "aliases": [
            "image.strawberry_detection"
          ]
        }
      ]
    },
    {
      "id": "strawberry_det_sahi",
      "version": "1",
      "name": "Strawberry Detection (SAHI)",
      "description": "Detect strawberry diseases in high-resolution images using sliced inference.",
      "tasks": [
        "object_detection",
        "disease_diagnosis",
        "sliced_inference"
      ],
      "module_path": "modules/strawberry_det_sahi",
      "thumbnail": {
        "alt": "Strawberry disease detections produced with SAHI",
        "status": "verified",
        "url": "/thumbnails/strawberry_det_sahi.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.strawberry_det_sahi",
          "endpoint": "run_job"
        }
      ]
    },
    {
      "id": "strawberry_instseg",
      "version": "1",
      "name": "Strawberry Instance Segmentation",
      "description": "Segment individual strawberry disease regions and plant parts.",
      "tasks": [
        "instance_segmentation",
        "disease_diagnosis"
      ],
      "module_path": "modules/strawberry_instseg",
      "thumbnail": {
        "alt": "Segmented strawberry disease regions",
        "status": "verified",
        "url": "/thumbnails/strawberry_instseg.png"
      },
      "runtime": {
        "gpu": true
      },
      "interfaces": [
        {
          "job_type": "image.strawberry_instseg",
          "endpoint": "run_job"
        }
      ]
    }
  ]
}
