> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/ja/roboflow-cloud/serverless-api.md).

# Serverless Cloud API

Roboflow クラウドの GPU アクセラレーションされたオートスケーリングインフラ上で Workflow とモデル推論を実行します。

## 概要

Roboflow にデプロイされたモデルには REST API が用意されており、これを使って画像に対する推論を実行できます。このデプロイ方法は、デプロイ先デバイスに永続的なインターネット接続がある環境に最適です。

アプリでは、このエンドポイントは「Serverless Cloud API」と表示され、スペースが限られる場合（例: Workflow エディタのランタイムピッカー）には「Cloud API」と表示されます。A [専用デプロイメント](/deployment/ja/roboflow-cloud/dedicated-deployments.md) エンドポイント（`*.roboflow.cloud`）は「Dedicated Cloud API」と表示され、旧 v1 エンドポイントは「Hosted API（Legacy）」と表示されます。これらのラベルは、以前の「Serverless Hosted API」と「Serverless API V2」という名称に置き換わりました。

Serverless Cloud API は次の用途で使用できます:

* [Workflows 内で](/deployment/ja/roboflow-cloud/serverless-api/use-in-a-workflow.md)
* [REST API とともに](#http-api)
* 次とともに [Inference Python SDK](#python-sdk)

### Inference サーバー

当社の Serverless Cloud API は、次によって提供されています。 [Inference Server](https://docs.roboflow.com/reference/platform/rest-api/inference-server-openapi). つまり、以下のように Serverless Cloud API とセルフホスティングオプションを簡単に切り替えられます。

```python
from inference_sdk import InferenceHTTPClient, InferenceConfiguration

CLIENT = InferenceHTTPClient(
    # api_url="http://localhost:9001" # Self-hosted Inference server
    api_url="https://serverless.roboflow.com", # Our Serverless Cloud API
    api_key="API_KEY" # プライベートなモデルとデータにアクセスするためのオプション
).configure(InferenceConfiguration(api_key_transport="header"))

result = CLIENT.infer("image.jpg", model_id="model-id/1")
print(result)
```

この `api_key_transport="header"` 設定では、キーを次の形式でのみ送信します。 `Authorization: Bearer` ヘッダーとして送信するため、URL やログにキーが残りません。これは新しいコードでは推奨されます。Inference 1.5.0 より古いサーバーはこのヘッダーを読み取らないため、次を使用してください。 `api_key_transport="both"` 片方を引き続き使用する場合は、次を参照してください。 [API キーの送信方法](https://docs.roboflow.com/reference/inference/inference-sdk/configuration#api-key-transport).

### 制限

画像推論は、モデルごとに設定されたレートで画像単位のクレジット課金になります。次を参照してください。 [料金](/deployment/ja/roboflow-cloud/serverless-api/pricing.md) および [モデルの料金設定](/deployment/ja/roboflow-cloud/serverless-api/model-pricing.md).

当社の Serverless Cloud API は、最大 20MB までのファイルアップロードをサポートしています。高解像度画像では制限に達する場合があります。問題が発生した場合は、企業向けサポート担当者にお問い合わせいただくか、次の場所にメッセージを投稿してください。 [フォーラム](https://discuss.roboflow.com).

{% hint style="info" %}
リクエストが大きすぎる場合は、添付画像を縮小することを推奨します。画像は、当社のサーバーで受信された後にモデルアーキテクチャが受け入れる入力サイズへと自動的に縮小されるため、通常は性能低下にはつながりません。\
\
Python SDK など一部の SDK では、画像を API に送信する前に、モデルアーキテクチャの入力サイズに自動で縮小します。
{% endhint %}

***

次を参照してください。 [Serverless Cloud API v1](/deployment/ja/regash/legacy-serverless.md) レガシー API のドキュメントです。

## HTTP API

### REST API で使用

Serverless Cloud API には、すべてのモデルと Workflows に対して 1 つのエンドポイントがあります。

```
https://serverless.roboflow.com
```

#### HTTP エンドポイント

## Legacy Infer From Request

> Legacy inference endpoint for object detection, instance segmentation, and classification.\
> \
> Args:\
> &#x20;   background\_tasks: (BackgroundTasks) pool of fastapi background tasks\
> &#x20;   dataset\_id (str): ID of a Roboflow dataset corresponding to the model to use for inference OR workspace ID\
> &#x20;   version\_id (str): ID of a Roboflow dataset version corresponding to the model to use for inference OR model ID\
> &#x20;   api\_key (Optional\[str], default None): Roboflow API Key passed to the model during initialization for artifact retrieval.\
> &#x20;   \# Other parameters described in the function signature...\
> \
> Returns:\
> &#x20;   Union\[InstanceSegmentationInferenceResponse, KeypointsDetectionInferenceRequest, ObjectDetectionInferenceResponse, ClassificationInferenceResponse, MultiLabelClassificationInferenceResponse, SemanticSegmentationInferenceResponse, Any]: The response containing the inference results.

```json
{"openapi":"3.1.0","info":{"title":"Roboflow Inference Server","version":"1.8.2"},"paths":{"/{dataset_id}/{version_id}":{"post":{"summary":"Legacy Infer From Request","description":"Legacy inference endpoint for object detection, instance segmentation, and classification.\n\nArgs:\n    background_tasks: (BackgroundTasks) pool of fastapi background tasks\n    dataset_id (str): ID of a Roboflow dataset corresponding to the model to use for inference OR workspace ID\n    version_id (str): ID of a Roboflow dataset version corresponding to the model to use for inference OR model ID\n    api_key (Optional[str], default None): Roboflow API Key passed to the model during initialization for artifact retrieval.\n    # Other parameters described in the function signature...\n\nReturns:\n    Union[InstanceSegmentationInferenceResponse, KeypointsDetectionInferenceRequest, ObjectDetectionInferenceResponse, ClassificationInferenceResponse, MultiLabelClassificationInferenceResponse, SemanticSegmentationInferenceResponse, Any]: The response containing the inference results.","operationId":"legacy_infer_from_request__dataset_id___version_id__post","parameters":[{"name":"dataset_id","in":"path","required":true,"schema":{"type":"string","description":"ID of a Roboflow dataset corresponding to the model to use for inference OR workspace ID","title":"Dataset Id"},"description":"ID of a Roboflow dataset corresponding to the model to use for inference OR workspace ID"},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","description":"ID of a Roboflow dataset version corresponding to the model to use for inference OR model ID","title":"Version Id"},"description":"ID of a Roboflow dataset version corresponding to the model to use for inference OR model ID"},{"name":"api_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Roboflow API Key that will be passed to the model during initialization for artifact retrieval","title":"Api Key"},"description":"Roboflow API Key that will be passed to the model during initialization for artifact retrieval"},{"name":"confidence","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"enum":["best","default"],"type":"string"}],"description":"The confidence threshold used to filter out predictions. Pass a float in [0, 1], or \"best\" to use F1-optimal thresholds from model evaluation, or \"default\" to use the model's built-in default.","default":0.4,"title":"Confidence"},"description":"The confidence threshold used to filter out predictions. Pass a float in [0, 1], or \"best\" to use F1-optimal thresholds from model evaluation, or \"default\" to use the model's built-in default."},{"name":"keypoint_confidence","in":"query","required":false,"schema":{"type":"number","description":"The confidence threshold used to filter out keypoints that are not visible based on model confidence","default":0,"title":"Keypoint Confidence"},"description":"The confidence threshold used to filter out keypoints that are not visible based on model confidence"},{"name":"format","in":"query","required":false,"schema":{"type":"string","description":"One of 'json' or 'image'. If 'json' prediction data is return as a JSON string. If 'image' prediction data is visualized and overlayed on the original input image.","default":"json","title":"Format"},"description":"One of 'json' or 'image'. If 'json' prediction data is return as a JSON string. If 'image' prediction data is visualized and overlayed on the original input image."},{"name":"image","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The publically accessible URL of an image to use for inference.","title":"Image"},"description":"The publically accessible URL of an image to use for inference."},{"name":"image_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"One of base64 or numpy. Note, numpy input is not supported for Roboflow Hosted Inference.","default":"base64","title":"Image Type"},"description":"One of base64 or numpy. Note, numpy input is not supported for Roboflow Hosted Inference."},{"name":"class_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Action recognition only: comma separated classes. The subset of a fine-tuned model's classes to report. A zero-shot model answers in its own words and ignores it.","title":"Class Filter"},"description":"Action recognition only: comma separated classes. The subset of a fine-tuned model's classes to report. A zero-shot model answers in its own words and ignores it."},{"name":"include_candidates","in":"query","required":false,"schema":{"type":"boolean","description":"Action recognition: return raw scored candidates","default":false,"title":"Include Candidates"},"description":"Action recognition: return raw scored candidates"},{"name":"labels","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"If true, labels will be include in any inference visualization.","default":false,"title":"Labels"},"description":"If true, labels will be include in any inference visualization."},{"name":"mask_decode_mode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"One of 'accurate' or 'fast'. If 'accurate' the mask will be decoded using the original image size. If 'fast' the mask will be decoded using the original mask size. 'accurate' is slower but more accurate.","default":"accurate","title":"Mask Decode Mode"},"description":"One of 'accurate' or 'fast'. If 'accurate' the mask will be decoded using the original image size. If 'fast' the mask will be decoded using the original mask size. 'accurate' is slower but more accurate."},{"name":"allow_reduced_mask_resolution","in":"query","required":false,"schema":{"type":"boolean","description":"Opt into mask_decode_mode and tradeoff_factor on inference_models. Otherwise masks stay at image resolution. Legacy backend decoding is unchanged.","default":false,"title":"Allow Reduced Mask Resolution"},"description":"Opt into mask_decode_mode and tradeoff_factor on inference_models. Otherwise masks stay at image resolution. Legacy backend decoding is unchanged."},{"name":"tradeoff_factor","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"The amount to tradeoff between 0='fast' and 1='accurate'","default":0,"title":"Tradeoff Factor"},"description":"The amount to tradeoff between 0='fast' and 1='accurate'"},{"name":"max_detections","in":"query","required":false,"schema":{"type":"integer","description":"The maximum number of detections to return. This is used to limit the number of predictions returned by the model. The model may return more predictions than this number, but only the top `max_detections` predictions will be returned.","default":300,"title":"Max Detections"},"description":"The maximum number of detections to return. This is used to limit the number of predictions returned by the model. The model may return more predictions than this number, but only the top `max_detections` predictions will be returned."},{"name":"overlap","in":"query","required":false,"schema":{"type":"number","description":"The IoU threhsold that must be met for a box pair to be considered duplicate during NMS","default":0.3,"title":"Overlap"},"description":"The IoU threhsold that must be met for a box pair to be considered duplicate during NMS"},{"name":"stroke","in":"query","required":false,"schema":{"type":"integer","description":"The stroke width used when visualizing predictions","default":1,"title":"Stroke"},"description":"The stroke width used when visualizing predictions"},{"name":"disable_preproc_auto_orient","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"If true, disables automatic image orientation","default":false,"title":"Disable Preproc Auto Orient"},"description":"If true, disables automatic image orientation"},{"name":"disable_preproc_contrast","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"If true, disables automatic contrast adjustment","default":false,"title":"Disable Preproc Contrast"},"description":"If true, disables automatic contrast adjustment"},{"name":"disable_preproc_grayscale","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"If true, disables automatic grayscale conversion","default":false,"title":"Disable Preproc Grayscale"},"description":"If true, disables automatic grayscale conversion"},{"name":"disable_preproc_static_crop","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"If true, disables automatic static crop","default":false,"title":"Disable Preproc Static Crop"},"description":"If true, disables automatic static crop"},{"name":"disable_active_learning","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"If true, the predictions will be prevented from registration by Active Learning (if the functionality is enabled)","default":false,"title":"Disable Active Learning"},"description":"If true, the predictions will be prevented from registration by Active Learning (if the functionality is enabled)"},{"name":"active_learning_target_dataset","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Parameter to be used when Active Learning data registration should happen against different dataset than the one pointed by model_id","title":"Active Learning Target Dataset"},"description":"Parameter to be used when Active Learning data registration should happen against different dataset than the one pointed by model_id"},{"name":"include_anomaly_map","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Anomaly detection only: include the raw anomaly heatmap at the network input resolution","default":false,"title":"Include Anomaly Map"},"description":"Anomaly detection only: include the raw anomaly heatmap at the network input resolution"},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The source of the inference request","default":"external","title":"Source"},"description":"The source of the inference request"},{"name":"source_info","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The detailed source information of the inference request","default":"external","title":"Source Info"},"description":"The detailed source information of the inference request"},{"name":"response_mask_format","in":"query","required":false,"schema":{"anyOf":[{"enum":["polygon","rle"],"type":"string"},{"type":"null"}],"description":"The format of the prediction mask - polygon (default) or rle - applicable for instance segmentation models.","default":"polygon","title":"Response Mask Format"},"description":"The format of the prediction mask - polygon (default) or rle - applicable for instance segmentation models."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/InstanceSegmentationInferenceResponse"},{"$ref":"#/components/schemas/KeypointsDetectionInferenceResponse"},{"$ref":"#/components/schemas/ObjectDetectionInferenceResponse"},{"$ref":"#/components/schemas/AnomalyDetectionResponse"},{"$ref":"#/components/schemas/ClassificationInferenceResponse"},{"$ref":"#/components/schemas/MultiLabelClassificationInferenceResponse"},{"$ref":"#/components/schemas/SemanticSegmentationInferenceResponse"},{"$ref":"#/components/schemas/StubResponse"},{}],"title":"Response Legacy Infer From Request  Dataset Id   Version Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"InstanceSegmentationInferenceResponse":{"properties":{"visualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visualization","description":"Base64 encoded string containing prediction visualization image data"},"inference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inference Id","description":"Unique identifier of inference"},"frame_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frame Id","description":"The frame id of the image used in inference if the input was a video"},"time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Time","description":"The time in seconds it took to produce the predictions including image preprocessing"},"resolved_model":{"anyOf":[{"$ref":"#/components/schemas/ResolvedModel"},{"type":"null"}],"description":"Model identity and available package details for this result."},"image":{"anyOf":[{"items":{"$ref":"#/components/schemas/InferenceResponseImage"},"type":"array"},{"$ref":"#/components/schemas/InferenceResponseImage"}],"title":"Image","description":"Dimensions of the coordinate frame shared by bounding boxes, polygon points and RLE masks. With opt-in this is the selected mask grid; otherwise it is the original image. Multi-image responses may provide a list."},"predictions":{"items":{"anyOf":[{"$ref":"#/components/schemas/InstanceSegmentationPrediction"},{"$ref":"#/components/schemas/InstanceSegmentationRLEPrediction"}]},"type":"array","title":"Predictions"},"original_image":{"anyOf":[{"$ref":"#/components/schemas/InferenceResponseImage"},{"type":"null"}],"description":"Original image dimensions retained for opted-in responses, including when the selected grid has the same dimensions."},"mask_metadata":{"anyOf":[{"$ref":"#/components/schemas/MaskCoordinateMetadata"},{"type":"null"}],"description":"Present for opted-in responses in either format. All prediction geometry uses this grid. Multiply x coordinates and widths by scale_x, and y coordinates and heights by scale_y, to map to original_image."}},"type":"object","required":["image","predictions"],"title":"InstanceSegmentationInferenceResponse","description":"Instance Segmentation inference response.\n\nAttributes:\n    predictions (List[Union[\n        inference.core.entities.responses.inference.InstanceSegmentationPrediction,\n        inference.core.entities.responses.inference.InstanceSegmentationRLEPrediction\n    ]]): List of instance segmentation predictions."},"ResolvedModel":{"properties":{"model_id":{"type":"string","title":"Model Id","description":"ID of the loaded model, using the canonical ID when available."},"model_package_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Package Id","description":"ID of the package that loaded successfully and produced this result, including after a loading fallback."},"backend":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Backend","description":"Backend of the loaded package, such as onnx, trt, or torch."},"quantization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quantization","description":"Package quantization, such as fp32 or fp16, or unknown when unavailable. This does not specify the input tensor dtype or the precision of every runtime operation."}},"type":"object","required":["model_id"],"title":"ResolvedModel","description":"Identity of the model and available package details used for inference.\n\nAttributes:\n    model_id (str): ID of the loaded model, using the canonical ID when available.\n    model_package_id (Optional[str]): ID of the loaded model package.\n    backend (Optional[str]): Backend of the loaded package.\n    quantization (Optional[str]): Quantization of the loaded package."},"InferenceResponseImage":{"properties":{"width":{"type":"integer","title":"Width","description":"The width of the represented image coordinate frame"},"height":{"type":"integer","title":"Height","description":"The height of the represented image coordinate frame"}},"type":"object","required":["width","height"],"title":"InferenceResponseImage","description":"Inference response image information.\n\nAttributes:\n    width (int): The width of the represented image coordinate frame.\n    height (int): The height of the represented image coordinate frame."},"InstanceSegmentationPrediction":{"properties":{"x":{"type":"number","title":"X","description":"The center x-axis pixel coordinate of the prediction"},"y":{"type":"number","title":"Y","description":"The center y-axis pixel coordinate of the prediction"},"width":{"type":"number","title":"Width","description":"The width of the prediction bounding box in number of pixels"},"height":{"type":"number","title":"Height","description":"The height of the prediction bounding box in number of pixels"},"confidence":{"type":"number","title":"Confidence","description":"The detection confidence as a fraction between 0 and 1"},"class":{"type":"string","title":"Class","description":"The predicted class label"},"class_id":{"type":"integer","title":"Class Id","description":"The class id of the prediction"},"detection_id":{"type":"string","title":"Detection Id","description":"Unique identifier of detection"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id","description":"Identifier of parent image region"},"class_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Class Confidence","description":"The class label confidence as a fraction between 0 and 1"},"points":{"items":{"$ref":"#/components/schemas/Point-Output"},"type":"array","title":"Points","description":"The list of points that make up the instance polygon"},"mask_format":{"type":"string","const":"polygon","title":"Mask Format","description":"Type of mask format","default":"polygon"}},"type":"object","required":["x","y","width","height","confidence","class","class_id","points"],"title":"InstanceSegmentationPrediction"},"Point-Output":{"properties":{"x":{"type":"number","title":"X","description":"The x-axis pixel coordinate of the point"},"y":{"type":"number","title":"Y","description":"The y-axis pixel coordinate of the point"}},"type":"object","required":["x","y"],"title":"Point","description":"Point coordinates.\n\nAttributes:\n    x (float): The x-axis pixel coordinate of the point.\n    y (float): The y-axis pixel coordinate of the point."},"InstanceSegmentationRLEPrediction":{"properties":{"x":{"type":"number","title":"X","description":"The center x-axis pixel coordinate of the prediction"},"y":{"type":"number","title":"Y","description":"The center y-axis pixel coordinate of the prediction"},"width":{"type":"number","title":"Width","description":"The width of the prediction bounding box in number of pixels"},"height":{"type":"number","title":"Height","description":"The height of the prediction bounding box in number of pixels"},"confidence":{"type":"number","title":"Confidence","description":"The detection confidence as a fraction between 0 and 1"},"class":{"type":"string","title":"Class","description":"The predicted class label"},"class_id":{"type":"integer","title":"Class Id","description":"The class id of the prediction"},"detection_id":{"type":"string","title":"Detection Id","description":"Unique identifier of detection"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id","description":"Identifier of parent image region"},"rle":{"additionalProperties":true,"type":"object","title":"Rle","description":"RLE-encoded mask in COCO format: {'size': [H, W], 'counts': '...'}"},"mask_format":{"type":"string","const":"rle","title":"Mask Format","description":"Type of mask format","default":"rle"}},"type":"object","required":["x","y","width","height","confidence","class","class_id","rle"],"title":"InstanceSegmentationRLEPrediction"},"MaskCoordinateMetadata":{"properties":{"coordinate_system":{"type":"string","const":"mask_grid","title":"Coordinate System","description":"All prediction geometry uses this grid, matching response image dimensions.","default":"mask_grid"},"width":{"type":"integer","exclusiveMinimum":0,"title":"Width","description":"Mask-grid width in pixels."},"height":{"type":"integer","exclusiveMinimum":0,"title":"Height","description":"Mask-grid height in pixels."},"scale_x":{"type":"number","exclusiveMinimum":0,"title":"Scale X","description":"Original image width divided by output-grid width."},"scale_y":{"type":"number","exclusiveMinimum":0,"title":"Scale Y","description":"Original image height divided by output-grid height."}},"type":"object","required":["width","height","scale_x","scale_y"],"title":"MaskCoordinateMetadata","description":"Describe the prediction grid and its mapping to the original image.\n\nAttributes:\n    coordinate_system (str): Coordinate frame shared by boxes, polygons and encoded RLE masks.\n    width (int): Width of the encoded mask grid.\n    height (int): Height of the encoded mask grid.\n    scale_x (float): Multiply mask x coordinates by this to obtain image x.\n    scale_y (float): Multiply mask y coordinates by this to obtain image y."},"KeypointsDetectionInferenceResponse":{"properties":{"visualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visualization","description":"Base64 encoded string containing prediction visualization image data"},"inference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inference Id","description":"Unique identifier of inference"},"frame_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frame Id","description":"The frame id of the image used in inference if the input was a video"},"time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Time","description":"The time in seconds it took to produce the predictions including image preprocessing"},"resolved_model":{"anyOf":[{"$ref":"#/components/schemas/ResolvedModel"},{"type":"null"}],"description":"Model identity and available package details for this result."},"image":{"anyOf":[{"items":{"$ref":"#/components/schemas/InferenceResponseImage"},"type":"array"},{"$ref":"#/components/schemas/InferenceResponseImage"}],"title":"Image"},"predictions":{"items":{"$ref":"#/components/schemas/KeypointsPrediction"},"type":"array","title":"Predictions"}},"type":"object","required":["image","predictions"],"title":"KeypointsDetectionInferenceResponse"},"KeypointsPrediction":{"properties":{"x":{"type":"number","title":"X","description":"The center x-axis pixel coordinate of the prediction"},"y":{"type":"number","title":"Y","description":"The center y-axis pixel coordinate of the prediction"},"width":{"type":"number","title":"Width","description":"The width of the prediction bounding box in number of pixels"},"height":{"type":"number","title":"Height","description":"The height of the prediction bounding box in number of pixels"},"confidence":{"type":"number","title":"Confidence","description":"The detection confidence as a fraction between 0 and 1"},"class":{"type":"string","title":"Class","description":"The predicted class label"},"class_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Class Confidence","description":"The class label confidence as a fraction between 0 and 1"},"class_id":{"type":"integer","title":"Class Id","description":"The class id of the prediction"},"tracker_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tracker Id","description":"The tracker id of the prediction if tracking is enabled"},"detection_id":{"type":"string","title":"Detection Id","description":"Unique identifier of detection"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id","description":"Identifier of parent image region. Useful when stack of detection-models is in use to refer the RoI being the input to inference"},"keypoints":{"items":{"$ref":"#/components/schemas/Keypoint"},"type":"array","title":"Keypoints"}},"type":"object","required":["x","y","width","height","confidence","class","class_id","keypoints"],"title":"KeypointsPrediction"},"Keypoint":{"properties":{"x":{"type":"number","title":"X","description":"The x-axis pixel coordinate of the point"},"y":{"type":"number","title":"Y","description":"The y-axis pixel coordinate of the point"},"confidence":{"type":"number","title":"Confidence","description":"Model confidence regarding keypoint visibility."},"class_id":{"type":"integer","title":"Class Id","description":"Identifier of keypoint."},"class":{"type":"string","title":"Class","description":"Type of keypoint."}},"type":"object","required":["x","y","confidence","class_id","class"],"title":"Keypoint"},"ObjectDetectionInferenceResponse":{"properties":{"visualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visualization","description":"Base64 encoded string containing prediction visualization image data"},"inference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inference Id","description":"Unique identifier of inference"},"frame_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frame Id","description":"The frame id of the image used in inference if the input was a video"},"time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Time","description":"The time in seconds it took to produce the predictions including image preprocessing"},"resolved_model":{"anyOf":[{"$ref":"#/components/schemas/ResolvedModel"},{"type":"null"}],"description":"Model identity and available package details for this result."},"image":{"anyOf":[{"items":{"$ref":"#/components/schemas/InferenceResponseImage"},"type":"array"},{"$ref":"#/components/schemas/InferenceResponseImage"}],"title":"Image"},"predictions":{"items":{"$ref":"#/components/schemas/ObjectDetectionPrediction"},"type":"array","title":"Predictions"}},"type":"object","required":["image","predictions"],"title":"ObjectDetectionInferenceResponse","description":"Object Detection inference response.\n\nAttributes:\n    predictions (List[inference.core.entities.responses.inference.ObjectDetectionPrediction]): List of object detection predictions."},"ObjectDetectionPrediction":{"properties":{"x":{"type":"number","title":"X","description":"The center x-axis pixel coordinate of the prediction"},"y":{"type":"number","title":"Y","description":"The center y-axis pixel coordinate of the prediction"},"width":{"type":"number","title":"Width","description":"The width of the prediction bounding box in number of pixels"},"height":{"type":"number","title":"Height","description":"The height of the prediction bounding box in number of pixels"},"confidence":{"type":"number","title":"Confidence","description":"The detection confidence as a fraction between 0 and 1"},"class":{"type":"string","title":"Class","description":"The predicted class label"},"class_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Class Confidence","description":"The class label confidence as a fraction between 0 and 1"},"class_id":{"type":"integer","title":"Class Id","description":"The class id of the prediction"},"tracker_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tracker Id","description":"The tracker id of the prediction if tracking is enabled"},"detection_id":{"type":"string","title":"Detection Id","description":"Unique identifier of detection"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id","description":"Identifier of parent image region. Useful when stack of detection-models is in use to refer the RoI being the input to inference"}},"type":"object","required":["x","y","width","height","confidence","class","class_id"],"title":"ObjectDetectionPrediction","description":"Object Detection prediction.\n\nAttributes:\n    x (float): The center x-axis pixel coordinate of the prediction.\n    y (float): The center y-axis pixel coordinate of the prediction.\n    width (float): The width of the prediction bounding box in number of pixels.\n    height (float): The height of the prediction bounding box in number of pixels.\n    confidence (float): The detection confidence as a fraction between 0 and 1.\n    class_name (str): The predicted class label.\n    class_confidence (Union[float, None]): The class label confidence as a fraction between 0 and 1.\n    class_id (int): The class id of the prediction"},"AnomalyDetectionResponse":{"properties":{"visualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visualization","description":"Base64 encoded string containing prediction visualization image data"},"inference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inference Id","description":"Unique identifier of inference"},"frame_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frame Id","description":"The frame id of the image used in inference if the input was a video"},"time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Time","description":"The time in seconds it took to produce the predictions including image preprocessing"},"resolved_model":{"anyOf":[{"$ref":"#/components/schemas/ResolvedModel"},{"type":"null"}],"description":"Model identity and available package details for this result."},"image":{"anyOf":[{"items":{"$ref":"#/components/schemas/InferenceResponseImage"},"type":"array"},{"$ref":"#/components/schemas/InferenceResponseImage"}],"title":"Image"},"predictions":{"items":{"$ref":"#/components/schemas/ClassificationPrediction"},"type":"array","title":"Predictions"},"top":{"type":"string","title":"Top","description":"The top predicted class label","default":""},"confidence":{"type":"number","title":"Confidence","description":"The confidence of the top predicted class label","default":0},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id","description":"Identifier of parent image region. Useful when stack of detection-models is in use to refer the RoI being the input to inference"},"anomaly_score":{"type":"number","title":"Anomaly Score","description":"Raw anomaly score; larger means more anomalous"},"anomaly_threshold":{"type":"number","title":"Anomaly Threshold","description":"Decision threshold fitted on validation images"},"anomaly_scale":{"type":"number","title":"Anomaly Scale","description":"Calibration scale: the anomalous confidence is sigmoid((anomaly_score - anomaly_threshold) / anomaly_scale)"},"is_anomalous":{"type":"boolean","title":"Is Anomalous","description":"Whether the anomalous confidence reached the request confidence"},"anomaly_map":{"anyOf":[{"$ref":"#/components/schemas/AnomalyMapPayload"},{"type":"null"}],"description":"Raw local anomaly evidence at the network input resolution"}},"type":"object","required":["image","predictions","anomaly_score","anomaly_threshold","anomaly_scale","is_anomalous"],"title":"AnomalyDetectionResponse"},"ClassificationPrediction":{"properties":{"class":{"type":"string","title":"Class","description":"The predicted class label"},"class_id":{"type":"integer","title":"Class Id","description":"Numeric ID associated with the class label"},"confidence":{"type":"number","title":"Confidence","description":"The class label confidence as a fraction between 0 and 1"}},"type":"object","required":["class","class_id","confidence"],"title":"ClassificationPrediction","description":"Classification prediction.\n\nAttributes:\n    class_name (str): The predicted class label.\n    class_id (int): Numeric ID associated with the class label.\n    confidence (float): The class label confidence as a fraction between 0 and 1."},"AnomalyMapPayload":{"properties":{"shape":{"items":{"type":"integer"},"type":"array","title":"Shape","description":"[height, width] of the map"},"dtype":{"type":"string","const":"float32","title":"Dtype","description":"Element type of the decoded `data`"},"data":{"type":"string","title":"Data","description":"Base64 of the row-major little-endian float32 map values"}},"type":"object","required":["shape","dtype","data"],"title":"AnomalyMapPayload","description":"Raw anomaly heatmap at the network input resolution.\n\n`data` is base64 of the row-major little-endian float32 values. The map covers\nthe whole image as the network saw it (resized to a square), so resizing it to\nthe image's width and height is a plain stretch. Values share the units of\n`anomaly_score` and are unbounded above."},"ClassificationInferenceResponse":{"properties":{"visualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visualization","description":"Base64 encoded string containing prediction visualization image data"},"inference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inference Id","description":"Unique identifier of inference"},"frame_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frame Id","description":"The frame id of the image used in inference if the input was a video"},"time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Time","description":"The time in seconds it took to produce the predictions including image preprocessing"},"resolved_model":{"anyOf":[{"$ref":"#/components/schemas/ResolvedModel"},{"type":"null"}],"description":"Model identity and available package details for this result."},"image":{"anyOf":[{"items":{"$ref":"#/components/schemas/InferenceResponseImage"},"type":"array"},{"$ref":"#/components/schemas/InferenceResponseImage"}],"title":"Image"},"predictions":{"items":{"$ref":"#/components/schemas/ClassificationPrediction"},"type":"array","title":"Predictions"},"top":{"type":"string","title":"Top","description":"The top predicted class label","default":""},"confidence":{"type":"number","title":"Confidence","description":"The confidence of the top predicted class label","default":0},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id","description":"Identifier of parent image region. Useful when stack of detection-models is in use to refer the RoI being the input to inference"}},"type":"object","required":["image","predictions"],"title":"ClassificationInferenceResponse","description":"Classification inference response.\n\nAttributes:\n    predictions (List[inference.core.entities.responses.inference.ClassificationPrediction]): List of classification predictions.\n    top (str): The top predicted class label.\n    confidence (float): The confidence of the top predicted class label."},"MultiLabelClassificationInferenceResponse":{"properties":{"visualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visualization","description":"Base64 encoded string containing prediction visualization image data"},"inference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inference Id","description":"Unique identifier of inference"},"frame_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frame Id","description":"The frame id of the image used in inference if the input was a video"},"time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Time","description":"The time in seconds it took to produce the predictions including image preprocessing"},"resolved_model":{"anyOf":[{"$ref":"#/components/schemas/ResolvedModel"},{"type":"null"}],"description":"Model identity and available package details for this result."},"image":{"anyOf":[{"items":{"$ref":"#/components/schemas/InferenceResponseImage"},"type":"array"},{"$ref":"#/components/schemas/InferenceResponseImage"}],"title":"Image"},"predictions":{"additionalProperties":{"$ref":"#/components/schemas/MultiLabelClassificationPrediction"},"type":"object","title":"Predictions"},"predicted_classes":{"items":{"type":"string"},"type":"array","title":"Predicted Classes","description":"The list of predicted classes"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id","description":"Identifier of parent image region. Useful when stack of detection-models is in use to refer the RoI being the input to inference"}},"type":"object","required":["image","predictions","predicted_classes"],"title":"MultiLabelClassificationInferenceResponse","description":"Multi-label Classification inference response.\n\nAttributes:\n    predictions (Dict[str, inference.core.entities.responses.inference.MultiLabelClassificationPrediction]): Dictionary of multi-label classification predictions.\n    predicted_classes (List[str]): The list of predicted classes."},"MultiLabelClassificationPrediction":{"properties":{"confidence":{"type":"number","title":"Confidence","description":"The class label confidence as a fraction between 0 and 1"},"class_id":{"type":"integer","title":"Class Id","description":"Numeric ID associated with the class label"}},"type":"object","required":["confidence","class_id"],"title":"MultiLabelClassificationPrediction","description":"Multi-label Classification prediction.\n\nAttributes:\n    confidence (float): The class label confidence as a fraction between 0 and 1."},"SemanticSegmentationInferenceResponse":{"properties":{"visualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visualization","description":"Base64 encoded string containing prediction visualization image data"},"inference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inference Id","description":"Unique identifier of inference"},"frame_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frame Id","description":"The frame id of the image used in inference if the input was a video"},"time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Time","description":"The time in seconds it took to produce the predictions including image preprocessing"},"resolved_model":{"anyOf":[{"$ref":"#/components/schemas/ResolvedModel"},{"type":"null"}],"description":"Model identity and available package details for this result."},"image":{"anyOf":[{"items":{"$ref":"#/components/schemas/InferenceResponseImage"},"type":"array"},{"$ref":"#/components/schemas/InferenceResponseImage"}],"title":"Image"},"predictions":{"$ref":"#/components/schemas/SemanticSegmentationPrediction"}},"type":"object","required":["image","predictions"],"title":"SemanticSegmentationInferenceResponse","description":"Semantic Segmentation inference response.\n\nAttributes:\n    predictions (inference.core.entities.responses.inference.SemanticSegmentationPrediction): Semantic segmentation predictions."},"SemanticSegmentationPrediction":{"properties":{"segmentation_mask":{"type":"string","title":"Segmentation Mask","description":"base64-encoded PNG of predicted class label at each pixel. When the request sets response_mask_format='numpy' (in-process fast path), this carries the raw uint8 numpy label map instead; JSON serialization always yields the base64 PNG string."},"class_map":{"additionalProperties":{"type":"string"},"type":"object","title":"Class Map","description":"Map of pixel intensity value to class label"},"confidence_mask":{"type":"string","title":"Confidence Mask","description":"base64-encoded PNG of predicted class confidence at each pixel. When the request sets response_mask_format='numpy' (in-process fast path), this carries the raw uint8 numpy confidence map instead; JSON serialization always yields the base64 PNG string."},"present_class_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Present Class Ids","description":"Sorted list of pixel values present in segmentation_mask, including background (0) when present. Optimization hint that lets consumers skip scanning the full-resolution mask; consumers must fall back to scanning when this field is absent."}},"type":"object","required":["segmentation_mask","class_map","confidence_mask"],"title":"SemanticSegmentationPrediction"},"StubResponse":{"properties":{"visualization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Visualization","description":"Base64 encoded string containing prediction visualization image data"},"inference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inference Id","description":"Unique identifier of inference"},"frame_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Frame Id","description":"The frame id of the image used in inference if the input was a video"},"time":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Time","description":"The time in seconds it took to produce the predictions including image preprocessing"},"resolved_model":{"anyOf":[{"$ref":"#/components/schemas/ResolvedModel"},{"type":"null"}],"description":"Model identity and available package details for this result."},"is_stub":{"type":"boolean","title":"Is Stub","description":"Field to mark prediction type as stub"},"model_id":{"type":"string","title":"Model Id","description":"Identifier of a model stub that was called"},"task_type":{"type":"string","title":"Task Type","description":"Task type of the project"}},"type":"object","required":["is_stub","model_id","task_type"],"title":"StubResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}
```

### 画像上でモデルを実行

Roboflow では、推論を複数のランタイムで提供しています。適切な選択は、単一モデルを呼び出すのか Workflow を呼び出すのか、必要なスループット、そしてワークロードがどこで実行されるかによって異なります。

このページは簡単な概要です。詳細な推論リファレンスは次にあります。 [製品ドキュメント](/deployment/ja/readme.md)、これは同じドキュメントサイトの一部です。より詳しい内容がある場所には相互リンクが用意されています。

#### 推論ランタイム

| ランタイム                                                | 次の場合に使用                                                        | 参照                                                                                                                                              |
| ---------------------------------------------------- | -------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Serverless Cloud API** (`serverless.roboflow.com`) | デフォルト。ホスト型、自動スケーリング、モデルと Workflows をサポート。                      | [Serverless Cloud API](/deployment/ja/roboflow-cloud/serverless-api.md)                                                                         |
| **専用デプロイメント**                                        | 予測可能なレイテンシ、高スループット、または固定された GPU タイプが必要な場合。Roboflow によって管理されます。 | [専用デプロイメント](/deployment/ja/roboflow-cloud/dedicated-deployments.md#http-api) および [製品概要](/deployment/ja/roboflow-cloud/dedicated-deployments.md) |
| **Roboflow Inference** （セルフホスト）                      | オンプレミス、エッジデバイス、エアギャップ環境、または VPC の外に出せないワークロード向け。オープンソース。       | [セルフホストデプロイメント](/deployment/ja/self-hosted/self-hosted.md)                                                                                      |

#### Serverless Cloud API の呼び出し

モデルを実行:

```bash
curl -F "file=@photo.jpg" \\
  -H "Authorization: Bearer $ROBOFLOW_API_KEY" \\
  "https://serverless.roboflow.com/<project>/<version>?confidence=0.5"
```

Workflow を実行:

```bash
curl -X POST "https://serverless.roboflow.com/infer/workflows/<workspace>/<workflow>" \\
  -H "Authorization: Bearer $ROBOFLOW_API_KEY" \\
  -H "Content-Type: application/json" \\
  -d '{
    "inputs": { "image": { "type": "url", "value": "https://example.com/photo.jpg" } }
  }'
```

{% hint style="info" %}
キーを次の形式で送信する場合、 `?api_key=` クエリパラメータまたは `api_key` body フィールドはレガシーな方法です。まだ動作しますが、 `Authorization: Bearer` ヘッダーを使うとキーを URL やログに含めずに済みます。次を参照してください。 [REST API で認証する](https://docs.roboflow.com/reference/platform/rest-api/authenticate-with-the-rest-api).
{% endhint %}

ライブビデオについては、次を参照してください。 [Serverless Video Streaming API](/deployment/ja/roboflow-cloud/serverless-api/serverless-video-streaming-api.md). 大きな画像や動画セットの非同期処理については、次を参照してください。 [バッチ処理](/deployment/ja/roboflow-cloud/batch-processing.md).

#### 非推奨: Serverless v1

レガシーのタスク別エンドポイント - `detect.roboflow.com`, `classify.roboflow.com`, `outline.roboflow.com`, `segment.roboflow.com` - は **非推奨です**. 後方互換のために引き続き応答しますが、新しいコードでは次を使用してください。 `serverless.roboflow.com` 代わりに。

snippet が次を指している場合、 `*.roboflow.com` タスクホストとして扱い、レガシーと見なして、上記の Serverless Cloud API 形式に置き換えてください。

## Python SDK

### Python SDK で使用

Python で作業している場合、Serverless Cloud API とやり取りする最も便利な方法は Inference Python SDK を使用することです。

を使用するには [Inference SDK](https://docs.roboflow.com/reference/inference/inference-sdk)、まずインストールしてください:

```
pip install inference-sdk
```

Serverless Cloud API にリクエストするには、次のコードを使用します:

<pre class="language-python"><code class="lang-python"><strong>from inference_sdk import InferenceHTTPClient, InferenceConfiguration
</strong>
CLIENT = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key="API_KEY"
).configure(InferenceConfiguration(api_key_transport="header"))

result = CLIENT.infer("image.jpg", model_id="model-id/1")
print(result)
</code></pre>

上記で、次を指定します。 [モデル ID](https://docs.roboflow.com/reference/authentication/authentication/workspace-and-project-ids) および [API キー](https://docs.roboflow.com/reference/authentication/authentication/find-your-roboflow-api-key). このコードはモデルを実行し、結果を返します。

#### Roboflow Instant Model

Serverless Cloud API は、Roboflow Instant Model の実行もサポートしています。 [Instant Model](https://docs.roboflow.com/models/train/roboflow-instant). Instant Model は他のモデルと同じように実行できますが、confidence しきい値は Instant Model では敏感な場合があることに注意してください。

{% hint style="info" %}
最適な confidence は、モデルが学習された画像数によって異なります。最適な confidence しきい値は通常 0.85 から 0.99 の範囲です。
{% endhint %}

```python
configuration = InferenceConfiguration(
    confidence_threshold=0.95,
    api_key_transport="header",
)
CLIENT.configure(configuration)

result = CLIENT.infer("image.jpg", model_id="roboflow-instant-model-id/1")
```

`configure(...)` 構成全体を置き換えるため、次を保持してください。 `api_key_transport` 適用するどの構成でも。

### Python SDK で動画をストリーミングする

Inference SDK の WebRTC クライアントを使用して、動画上で物体検出モデルを実行します。Serverless Video Streaming API は Roboflow Cloud で動画を処理し、各フレームの予測を返します。

SDK を WebRTC の依存関係とともにインストールし、 `supervision`:

```bash
pip install "inference-sdk[webrtc]" supervision
```

```python
import cv2
import supervision as sv
from inference_sdk import InferenceHTTPClient
from inference_sdk.webrtc import VideoFileSource

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key="API_KEY",
)

session = client.webrtc.stream(
    source=VideoFileSource("video.mp4"),
    model_id="model-id/1",
)

box_annotator = sv.BoxAnnotator()
label_annotator = sv.LabelAnnotator()

@session.on_frame
def show(frame, data):
    if data is None:
        return

    detections = sv.Detections.from_inference(data)
    annotated = box_annotator.annotate(frame.copy(), detections)
    annotated = label_annotator.annotate(annotated, detections)
    cv2.imshow("Predictions", annotated)

    if cv2.waitKey(1) & 0xFF == ord("q"):
        session.close()

session.run()
cv2.destroyAllWindows()
```

置き換えてください `API_KEY` および `model-id/1` をあなたの API キーとモデル ID に。Web カメラや RTSP カメラからストリーミングする方法、すべてのフレームを処理する方法、または次の場所で Workflow を実行する方法を学びましょう。 [Serverless Video Streaming API ガイド](/deployment/ja/roboflow-cloud/serverless-api/serverless-video-streaming-api.md).

## CLI

Roboflow CLI を使用して、Roboflow で学習したモデルを実行したり、次で利用可能なオープンソースモデルを実行したりできます。 [Roboflow Universe](https://universe.roboflow.com).

次を実行することで `roboflow infer` コマンドラインで、CLI は画像を Roboflow API に送信し、予測を出力します。

### コマンド

```bash
roboflow infer <image-path> -m <project/version>
```

#### オプション

| フラグ                  | 説明                                                                                                                              |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `-m`, `--model`      | 次の形式のモデル ID `project/version` 形式（必須）                                                                                            |
| `-c`, `--confidence` | confidence しきい値、0.0～1.0（デフォルト: 0.5）                                                                                             |
| `-o`, `--overlap`    | 重なり/NMS しきい値、0.0～1.0（デフォルト: 0.5）                                                                                                |
| `-t`, `--type`       | モデルタイプ（自動検出をスキップ）: `object-detection`, `classification`, `instance-segmentation`, `semantic-segmentation`, `keypoint-detection` |

### 例

Roboflow Universe のオープンソースモデルを使用して推論を実行します。たとえば、次の [poker-cards](https://universe.roboflow.com/roboflow-100/poker-cards-cxcvz/model/1) データセット:

```bash
roboflow infer ~/Downloads/ace.jpg -m poker-cards-cxcvz/1 -c 0.7
```

ワークスペースは、設定済みのワークスペースがデフォルトになります。別のワークスペースのモデルを使用するには:

```bash
roboflow infer photo.jpg -m poker-cards-cxcvz/1 -w roboflow-100
```

自動検出の API 呼び出しをスキップするには、モデルタイプを指定してください:

```bash
roboflow infer photo.jpg -m my-project/3 -t object-detection
```

### JSON 出力

使用 `--json` を使用して、スクリプト化と自動化のための構造化された予測データを取得します:

```bash
roboflow infer photo.jpg -m my-project/3 --json
```

```json
{
  "predictions": [
    {
      "x": 1230.0,
      "y": 814.5,
      "width": 840.0,
      "height": 1273.0,
      "confidence": 0.882,
      "class": "Scissors",
      "class_id": 2
    }
  ]
}
```

サポートされているすべてのパラメータは次で確認できます。 `roboflow infer --help`.

## MCP サーバー

AI エージェントを次に接続すると、 [MCP サーバー](https://docs.roboflow.com/agents/mcp-server) これらのツールを使って画像上でモデルを実行できます:

<table data-search="false"><thead><tr><th width="290">ツール</th><th>説明</th></tr></thead><tbody><tr><td><code>models_infer</code></td><td>学習済みモデルを使用して、画像上でホスト型推論を実行します。</td></tr><tr><td><code>workflows_run</code></td><td>保存済み Workflow を 1 つ以上の画像に対して実行します。</td></tr><tr><td><code>project_deployment_run</code></td><td>プロジェクトの安定したライブエンドポイントを通じて推論を実行します。</td></tr></tbody></table>
