LandingAI Vision Tools API

The Vision Tools API exposes a catalog of computer-vision models as HTTP endpoints, including OWLv2, Florence-2, Florence2-SAM2, GLEE, CountGD, LOCA, Depth Anything V2, Depth Pro, PaddleOCR, pose detection, barcode and QR reading, license-plate reading, activity recognition, NSFW classification, embeddings, and a vision-training job surface for custom object detection.

OpenAPI Specification

landingai-vision-tools-openapi-original.json Raw ↑
{"openapi":"3.1.0","info":{"title":"Vision Tools API","version":"0.1.0"},"servers":[{"url":"https://api.va.landing.ai","description":"Production vision tools API"}],"paths":{"/metrics":{"get":{"summary":"Metrics","operationId":"metrics_metrics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"Basic Auth":[]}]}},"/v1/tools/agentic-document-analysis":{"post":{"tags":["Tools"],"summary":"Agentic Document Extraction (Legacy)","description":"This is a legacy endpoint. Use the ADE Parse endpoint instead.\n\nSend\n    documents to the Agentic Document Extraction API.\n\nThe API parses the\n    documents and returns the extracted data as structured Markdown and JSON.\n\nYou\n    can include an extraction schema to extract key-value pairs from the parsed\n    content.\n\nFor EU users, use this endpoint:\n\n\n    `https://api.va.eu-west-1.landing.ai/v1/tools/agentic-document-analysis`.","operationId":"tool_agentic_doc_analysis_v1_tools_agentic_document_analysis_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"pages","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Which pages to process, separated by commas and starting from 0. For example, to process the first 3 pages, use '0,1,2'. ","title":"Pages"},"description":"Which pages to process, separated by commas and starting from 0. For example, to process the first 3 pages, use '0,1,2'. "}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/routers__ade__core__custom_types__DocAnalysisRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgenticDocAnalysisResponse"}}}},"206":{"description":"Contains only pages that succeeded processing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgenticDocAnalysisResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"tags":["Tools"],"summary":"Head Agentic Document Analysis","operationId":"head_agentic_document_analysis_v1_tools_agentic_document_analysis_head","security":[{"Basic Auth":[]}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/tools/markdown-schema-suggestion":{"post":{"tags":["Tools"],"summary":"Tool Markdown To Jsonschema","description":"Endpoint to convert markdown to JSON schema.","operationId":"tool_markdown_to_jsonschema_v1_tools_markdown_schema_suggestion_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkdownToJSONSchemaRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkdownToJSONSchemaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"Basic Auth":[]}]}},"/v1/tools/wsi-embedding":{"post":{"tags":["Tools"],"summary":"Tool Wsi Embedding","description":"Performs whole slide image (WSI) embedding generation for pathology image analysis and feature extraction.\n\nArgs:\n    params (WSIEmbeddingRequest): The input data containing the following fields:\n        - image (bytes): Base64-encoded patch image from a whole slide image.\n        - mpp (float): Microns per pixel resolution of the image patch.\n            Required for proper scaling and analysis.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for WSI embedding generation.\n\nReturns:\n    WSIEmbeddingResponse | JSONResponse\n        Success: WSIEmbeddingResponse containing generated embeddings for the WSI patch.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_wsi_embedding_v1_tools_wsi_embedding_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WSIEmbeddingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WSIEmbeddingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/qr-reader":{"post":{"tags":["Tools"],"summary":"Tool Qr Reader","description":"Performs QR code detection and reading to extract encoded information from images.\n\nArgs:\n    params (QRReaderRequest): The input data containing the following fields:\n        - image (bytes): The image file to analyze for QR code detection and reading.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for QR code processing.\n\nReturns:\n    QRReaderResponse | JSONResponse\n        Success: QRReaderResponse containing detected QR codes with decoded text and locations.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_qr_reader_v1_tools_qr_reader_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QRReaderRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QRReaderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/owlv2":{"post":{"tags":["Tools"],"summary":"Tool Owlv2","description":"Performs object detection using the OWL-ViT v2 model with text prompts.\n\nArgs:\n    params (Owlv2Request): The input request containing the following fields:\n        - image (UploadFile): The image file to analyze for object detection.\n        - prompts (List[str]): Text descriptions of objects to detect in the image.\n        - confidence (float, *optional*): Minimum confidence threshold for detections.\n            Defaults to 0.2, must be between 0 and 1.\n\n    baseten_inference_sender: Dependency Injection for\n        sending request to the baseten server.\n\nReturns:\n    BboxResponse | JSONResponse\n        List of detected objects with bounding boxes, labels, and confidence scores, or error response.","operationId":"tool_owlv2_v1_tools_owlv2_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Owlv2Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BboxResponse"},{"type":"null"}],"title":"Response Tool Owlv2 V1 Tools Owlv2 Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/depth-anything-v2":{"post":{"tags":["Tools"],"summary":"Tool Depth Anything V2","description":"Performs depth estimation on images using the Depth-Anything-V2 model to generate depth maps.\n\nArgs:\n    params (DepthAnythingV2Request): The input data containing the following fields:\n        - image (bytes): The image file to analyze for depth estimation.\n        - grayscale (bool, *optional*): Whether to output the depth map in grayscale format.\n            Defaults to False for colored depth maps.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for Depth-Anything-V2 processing.\n\nReturns:\n    DepthAnythingV2Response | JSONResponse\n        Success: DepthAnythingV2Response containing depth map data and metadata.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_depth_anything_v2_v1_tools_depth_anything_v2_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepthAnythingV2Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DepthAnythingV2Response"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/loca":{"post":{"tags":["Tools"],"summary":"Tool Loca","description":"Performs localized content analysis using the LOCA model to analyze specific regions or the entire image.\n\nArgs:\n    params (LocaRequest): The input data containing the following fields:\n        - image (bytes): The image file to analyze for localized content analysis.\n        - bbox (BoundingBox, *optional*): Bounding box coordinates to focus analysis on a specific region.\n            If not provided, analyzes the entire image.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for LOCA processing.\n\nReturns:\n    LocaResponse | JSONResponse\n        Success: LocaResponse containing localized analysis results.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_loca_v1_tools_loca_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocaRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/florence2":{"post":{"tags":["Tools"],"summary":"Tool Florencev2","description":"Performs various computer vision tasks using the Florence V2 model.\n\nArgs:\n    params (FlorenceV2Request): The input request containing the following fields:\n        - image (UploadFile, *optional*): Single image file for processing.\n        - images (List[UploadFile], *optional*): Multiple image files for batch processing.\n        - video_bytes (bytes, *optional*): Video data for video analysis tasks.\n        - task (str): The specific task to perform (e.g., \"CAPTION\", \"OD\", \"OCR\").\n        - prompt (str, *optional*): Text prompt for task-specific guidance.\n\n    baseten_inference_sender: Dependency Injection for\n        sending request to the baseten server.\n\nReturns:\n    FlorenceV2Response | JSONResponse\n        Task-specific results including captions, object detections, or OCR text, or error response.","operationId":"tool_florencev2_v1_tools_florence2_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlorenceV2Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlorenceV2Response"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/nsfw-classification":{"post":{"tags":["Tools"],"summary":"Tool Nsfw Classification","description":"Performs NSFW (Not Safe For Work) content classification to detect inappropriate content in images.\n\nArgs:\n    params (NSFWRequest): The input data containing the following fields:\n        - image (bytes): The image file to analyze for NSFW content classification.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for NSFW classification.\n\nReturns:\n    NSFWResponse | JSONResponse\n        Success: NSFWResponse containing classification scores for different content categories.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_nsfw_classification_v1_tools_nsfw_classification_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NSFWRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NSFWResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/florence2-qa":{"post":{"tags":["Tools"],"summary":"Tool Florencev2 Qa","description":"Performs visual question answering using the Florence2 model to answer questions about image content.\n\nArgs:\n    params (FlorenceQARequest): The input data containing the following fields:\n        - image (bytes): The image file to analyze for visual question answering.\n        - question (str): The question to ask about the image content.\n            The model will analyze the image and provide an answer.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for Florence2 QA processing.\n\nReturns:\n    FlorenceV2QAResponse | JSONResponse\n        Success: FlorenceV2QAResponse containing the answer to the visual question.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_florencev2_qa_v1_tools_florence2_qa_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlorenceQARequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlorenceV2QAResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/pose-detector":{"post":{"tags":["Tools"],"summary":"Tool Pose Detection","description":"Performs human pose detection to identify and locate body keypoints and skeletal structure in images.\n\nArgs:\n    params (PoseDetectionRequest): The input data containing the following fields:\n        - image (bytes): The image file to analyze for pose detection.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for pose detection processing.\n\nReturns:\n    PoseDetectionResponse | JSONResponse\n        Success: PoseDetectionResponse containing detected poses with keypoint coordinates.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_pose_detection_v1_tools_pose_detector_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PoseDetectionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PoseDetectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/barcode-reader":{"post":{"tags":["Tools"],"summary":"Tool Barcode Reader","description":"Extracts barcode information from an image using barcode detection models.\n\nArgs:\n    params (BarcodeReaderRequest): The input request containing the following fields:\n        - image (UploadFile): The image file containing barcode(s) to be detected and read.\n\n    baseten_inference_sender: Dependency Injection for\n        sending request to the baseten server.\n\nReturns:\n    BarcodeReaderResponse | JSONResponse\n        List of detected barcodes with their values and locations, or error response.","operationId":"tool_barcode_reader_v1_tools_barcode_reader_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarcodeReaderRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BarcodeReaderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/internlm-xcomposer2":{"post":{"tags":["Tools"],"summary":"Tool Internlm Xcomposer2","description":"Performs multimodal analysis using the InternLM-XComposer2 model to generate text responses from images or videos.\n\nArgs:\n    prompt (str): Text prompt to guide the analysis and response generation.\n    image (UploadFile, *optional*): Image file to analyze.\n        Cannot be provided together with video.\n    video (UploadFile, *optional*): Video file to analyze.\n        Cannot be provided together with image.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for InternLM-XComposer2 processing.\n\nReturns:\n    InternLMXComposer2Response | JSONResponse\n        Success: InternLMXComposer2Response containing generated text response.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_internlm_xcomposer2_v1_tools_internlm_xcomposer2_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_tool_internlm_xcomposer2_v1_tools_internlm_xcomposer2_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InternLMXComposer2Response"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/video-temporal-localization":{"post":{"tags":["Tools"],"summary":"Tool Video Temporal Localization","description":"Performs temporal localization on videos to identify specific events or content at particular time intervals.\n\nArgs:\n    data (FormData): The form data containing the following fields:\n        - prompt (str): Text prompt describing the content or event to locate in the video.\n        - model (TemporalLocalizationTools): The AI model to use for temporal localization.\n            Options: internlm-xcomposer2, gpt4o, qwen2vl, qwen25vl.\n        - video (UploadFile): The video file to analyze for temporal content localization.\n        - chunk_length (float, *optional*): Length of each processing chunk in seconds.\n        - chunk_length_seconds (float, *optional*): Alternative specification for chunk length in seconds.\n        - chunk_length_frames (int, *optional*): Length of each processing chunk in frame count.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for video temporal localization.\n\nReturns:\n    VideoTemporalLocalizationResponse | JSONResponse\n        Success: VideoTemporalLocalizationResponse containing temporal localization results with timestamps.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_video_temporal_localization_v1_tools_video_temporal_localization_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/routers__tools__video_temporal_localization__FormData"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VideoTemporalLocalizationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/florence2-sam2":{"post":{"tags":["Tools"],"summary":"Tool Florence2 Sam2","description":"Performs object detection and segmentation using Florence2 and SAM2 models for precise instance segmentation.\n\nArgs:\n    data (FormData): The form data containing the following fields:\n        - prompts (List[str]): List of text prompts describing objects to detect and segment.\n        - image (UploadFile, *optional*): Image file to analyze for object detection and segmentation.\n        - video (UploadFile, *optional*): Video file to analyze for temporal object segmentation.\n        - chunk_length (int, *optional*): Length of video chunks for processing.\n            Used for video segmentation tasks.\n        - iou_threshold (float, *optional*): IoU threshold for filtering detections.\n            Range: 0.1-1.0, defaults to 0.6.\n        - nms_threshold (float, *optional*): Non-maximum suppression threshold.\n            Range: 0.1-1.0, defaults to 1.0.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for Florence2+SAM2 processing.\n\nReturns:\n    Florence2SAM2Response | JSONResponse\n        Success: Florence2SAM2Response containing detected objects with segmentation masks.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_florence2_sam2_v1_tools_florence2_sam2_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/routers__tools__florence2_sam2__FormData"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Florence2SAM2Response"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/glee":{"post":{"tags":["Tools"],"summary":"Tool Glee","description":"Performs text-to-instance segmentation using the GLEE model to detect and segment objects based on text prompts.\n\nArgs:\n    data (FormData): The form data containing the following fields:\n        - prompts (List[str]): List of text prompts describing objects to detect and segment.\n            Must contain at least one prompt.\n        - image (UploadFile): The image file to analyze for instance segmentation.\n            Required field for segmentation analysis.\n        - video (UploadFile, *optional*): Video file input (not used for GLEE).\n        - nms_threshold (float, *optional*): Non-maximum suppression threshold for filtering overlapping detections.\n            Helps reduce duplicate detections.\n        - confidence (float, *optional*): Confidence threshold for object detection.\n            Objects with lower confidence scores will be filtered out.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for GLEE processing.\n\nReturns:\n    TextToInstanceSegmentationResponse | JSONResponse\n        Success: TextToInstanceSegmentationResponse containing detected instances with segmentation masks.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_glee_v1_tools_glee_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/routers__tools__glee__FormData"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TextToInstanceSegmentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/text-to-object-detection":{"post":{"tags":["Tools"],"summary":"Tool Text To Od","description":"Performs text-to-object detection on images or videos with access to various detection models\n\nArgs:\n    data (FormData): The input data containing the following keys:\n        - prompts (List[str]): List of text prompts describing objects to detect.\n            Must contain at least one prompt. For Florence2,\n            total prompt length cannot exceed 800 characters. For agentic,\n            only one prompt is allowed.\n        - model (TextToODModel): The detection model to use:\n            \"owlv2\", \"countgd\", \"florence2\", \"agentic\", \"glee\", or \"florencev2\" (deprecated).\n        - image (UploadFile, *optional*): The image file to analyze for object detection.\n        - video (UploadFile, *optional*): The video file to analyze for object detection.\n            Note: Not all models support video input.\n        - nms_threshold (float, *optional*): Non-maximum suppression threshold\n            for filtering overlapping detections.\n        - confidence (float, *optional*): Confidence threshold for object detection.\n            Not supported by all models.\n        - job_id (UUID, *optional*): Unique identifier for tracking the job.\n            Not supported by all models.\n\n    baseten_inference_sender: Dependency Injection for\n        sending request to the baseten server.\n\nReturns:\n    ODResponse | JSONResponse: Detection results containing bounding boxes,\n        labels, and confidence scores for detected objects, or error response.","operationId":"tool_text_to_od_v1_tools_text_to_object_detection_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/routers__tools__text_to_object_detection__FormData"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ODResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/visual-prompts-to-object-detection":{"post":{"tags":["Tools"],"summary":"Tool Visual Prompts To Od","description":"Performs object detection using visual prompts (bounding box coordinates) instead of text prompts.\n\nArgs:\n    visual_prompts (str): JSON string containing visual prompt coordinates.\n        Format: List of bounding box coordinates as [[x1, y1, x2, y2], ...].\n    model (VisualPromptsToODModel): The detection model to use for visual prompt-based detection.\n        Currently supports CountGD.\n    image (UploadFile, *optional*): Image file to analyze for object detection.\n        Cannot be provided together with video.\n    video (UploadFile, *optional*): Video file to analyze for object detection.\n        Cannot be provided together with image.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for visual prompt-based detection.\n\nReturns:\n    ODResponse | JSONResponse\n        Success: ODResponse containing detected objects guided by visual prompts.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_visual_prompts_to_od_v1_tools_visual_prompts_to_object_detection_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_tool_visual_prompts_to_od_v1_tools_visual_prompts_to_object_detection_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ODResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/countgd":{"post":{"tags":["Tools"],"summary":"Tool Countgd","description":"Performs object counting and detection using the CountGD model with text prompts and/or visual prompts.\n\nArgs:\n    params (CountGDRequest): The input data containing the following fields:\n        - image (bytes): The image file to analyze for object counting and detection.\n        - prompt (str, *optional*): Text description of objects to count and detect.\n            Can be used alone or in combination with visual_prompts.\n        - visual_prompts (List[List[float]], *optional*): List of bounding box coordinates for visual prompting.\n            Each inner list contains [x1, y1, x2, y2] coordinates.\n    baseten_inference_sender: Dependency Injection for\n        sending inference requests to the Baseten model server for CountGD processing.\n\nReturns:\n    BboxResponse | JSONResponse\n        Success: BboxResponse containing detected objects with bounding boxes and count information.\n        Error: JSONResponse with error details and appropriate status code.","operationId":"tool_countgd_v1_tools_countgd_post","security":[{"Basic Auth":[]}],"parameters":[{"name":"timeout","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":480,"title":"Timeout"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountGDRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BboxResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/flux1":{"post":{"tags":["Tools"],"summary":"Tool Flux1","description":"Performs AI-powered image generation, inpainting, or image-to-image transformation using the Flux1 diffusion model.\n\nArgs:\n    data (Flux1Request): The form data containing the following fields:\n        - task (Flux1Task, *optional*): The task to perform - image_generation, mask_inpainting, or image_to_image.\n            Defaults to image_generation.\n        - prompt (str): Text description of the desired image or modifications.\n            Maximum 512 characters.\n        - image (UploadFile, *optional*): Original image for inpainting or image-to-image tasks.\n            Required for mask_inpainting and image_to_image tasks.\n        - mask_image (UploadFile, *optional*): Mask image indicating areas to inpaint.\n            Required for mask_inpainting task, must match image dimensions.\n        - height (int, *optional*): Height in pixels of generated image, must be multiple of 8.\n            Defaults to 512.\n        - width (int, *optional*): Width in pixels of generated image, must be multiple of 8.\n            Defaults to 512.\n        - strength (float, *optional*): Transformation strength for image-to-image tasks.\n            Range: 0.0-1.0, defaults to 0.6.\n        - num_inferen

# --- truncated at 32 KB (149 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/landingai/refs/heads/main/openapi/landingai-vision-tools-openapi-original.json