For the complete documentation index, see llms.txt. This page is also available as Markdown.

Workflowsを管理

REST APIとPython SDKを通じて、ワークスペース内のWorkflowsを一覧表示、取得、作成、更新します。

概要

Roboflow Workflows Web アプリで作成し、ホストされたエンドポイントとしてデプロイできる、視覚的なコンピュータビジョン・パイプラインです。このページでは、REST API と Python SDK を通じて、ワークスペース内の Workflows の一覧取得、取得、作成、更新といった管理領域を扱います。画像または動画ストリームに対して Workflow を実行するには、次を参照してください。 Workflows ランタイムドキュメント.

HTTP API

Roboflow Workflows Web アプリで作成し、ホストされたエンドポイントとしてデプロイできる、視覚的なコンピュータビジョン・パイプラインです。REST API は管理領域を公開します。画像または動画ストリームに対して workflow を実行するには、次を参照してください。 画像でモデルを実行する および Workflows ランタイムドキュメント.

api_key クエリパラメータまたはリクエストボディで渡すことができます。必要なスコープは各エンドポイントに記載されています。

Project のベース Workflow

各 Project には、そのホスト済みモデルエンドポイントを支えるベース Workflow があります。これらの Project スコープの操作を使って、その Workflow を読み取るか、モデルステップで使用されるモデルを選択します。

Project のベース Workflow を取得

GET /:workspace/:project/deploy

必要なスコープ: project:read

curl "https://api.roboflow.com/my-workspace/my-project/deploy?api_key=$ROBOFLOW_API_KEY"

Project にベース Workflow がない場合、このリクエストで作成されます。レスポンスには、Project、そのベース Workflow、選択されたモデル、そのデプロイ可能性、および Active Learning の状態が含まれます:

{
  "project": {
    "id": "abc123",
    "url": "my-project",
    "name": "My Project",
    "owner": "my-workspace-id",
    "type": "object-detection",
    "classes": ["cat", "dog"],
    "multilabel": false
  },
  "workflow": {
    "id": "wf_xyz",
    "name": "My Project Base Workflow",
    "url": "my-project-base-workflow",
    "workspaceUrl": "my-workspace",
    "inferencePath": "/infer/workflows/my-workspace/my-project-base-workflow"
  },
  "model": {
    "id": "rfdetr-medium",
    "kind": "pretrained",
    "displayName": "RF-DETR Medium",
    "modelId": "rfdetr-medium"
  },
  "deployability": {
    "status": "deployable",
    "modelWasConfigured": false,
    "selectedModelId": null,
    "selectionReason": null
  },
  "activeLearning": {
    "enabled": false,
    "collectionLimits": {
      "dataPercentage": 100,
      "minutelyUsageLimit": 10,
      "hourlyUsageLimit": 100,
      "dailyUsageLimit": 1000,
      "labelingBatchesRecreationFrequency": "daily",
      "usageQuotaName": "upload_quota_active_learning",
      "imageCompressionLevel": 95,
      "maxImageHeight": 1080,
      "maxImageWidth": 1920,
      "persistPredictions": true
    },
    "filters": []
  },
  "baseWorkflowWasCreated": false
}

modelnull モデルが設定されていない場合。 deployability.status"not_deployable" Workflow が推論を提供できない場合。 baseWorkflowWasCreated このリクエストでベース Workflow が作成されたかどうかを示します。

Project のベース Workflow モデルを選択

POST /:workspace/:project/deploy/model

必要なスコープ: project:update

Set model.type to "model_id", "sam3"、または "clip":

次の場合は "model_id", modelId が必要です。 displayNametaskType は任意です。次の場合は "sam3""clip"、空でない classes 配列ではなく modelId:

レスポンスの形状は次と同じです。 Project のベース Workflow を取得。1つの 400 レスポンスは、その model 値が欠落しているか、無効であることを意味します。

データ収集を有効にしたり、収集制限を設定したり、レビューキュー内の画像を一覧表示したりするには、次を使用します。 Active Learning HTTP API.

Workflows を一覧表示

GET /:workspace/workflows

ワークスペース内のすべての workflow を一覧表示します。

クエリ

名前
説明
必須

api_key

string

ワークスペースの API キー。

リクエスト例

レスポンス

必要なスコープ: workflow:read.

Workflow を取得

GET /:workspace/workflows/:workflowUrl

workflow の仕様、メタデータ、そして(公開されていない workflow については)認可状態を返します。

公開 workflows には API キーなしでアクセスできます api_key。非公開 workflows には次の workflow:read スコープが必要です。

Workflow のバージョン一覧

GET /:workspace/workflows/:workflowUrl/versions

workflow 仕様のバージョン付きスナップショットを返します。

Workflow を作成

POST /:workspace/createWorkflow

ヘッダー

名前

Content-Type

application/json

ボディ

名前
説明
必須

api_key

string

ワークスペースの API キー。

name

string

表示名。

url

string

workflow の URL スラッグ。

config

string

JSON エンコードされた workflow 仕様(下記の注記を参照)。

template

string

JSON エンコードされたテンプレートのメタデータ。 "{}" 持っていない場合は渡してください。

に関する注記 config:API は保存された形 {"specification": {...}}。素の仕様を渡すと SDK アダプター経由では自動的にラップされます。直接 REST を呼び出す場合は、自分でラップしてください。

リクエスト例

同じフィールドをクエリパラメータとして送ることもできますが、その場合は template ボディが必要です。大きな仕様では body を使用してください。長い URL は途中で切れてしまうためです。

レスポンス

必要なスコープ: workflow:create.

Workflow を更新

POST /:workspace/updateWorkflow

ヘッダー

名前

Content-Type

application/json

ボディ

名前
説明
必須

id

string

Workflow の内部 ID。

name

string

表示名。

url

string

URL スラッグ。

config

string

JSON エンコードされた workflow 仕様(作成時の注記を参照)。

必要なスコープ: workflow:update.

Workflow をフォーク

POST /:workspace/forkWorkflow

別のワークスペースの workflow をこのワークスペースにコピーします。

ボディ

名前
説明
必須

source_workspace

string

元の workflow を所有するワークスペースのスラッグ。

source_workflow

string

元の workflow の URL スラッグ。

name

string

フォークの表示名。既定では元の名前になります。

url

string

フォークの URL スラッグ。省略すると自動生成されます。

必要なスコープ: workflow:create.

Workflow トークンを生成

POST /:workspace/workflowToken

公開クライアント(例: ブラウザ)から workflow を実行するのに適した短命トークンを生成します。

Workflow を削除(ソフト削除)

DELETE /:workspace/workflows/:workflowUrl

workflow をゴミ箱に移動します。参照: ゴミ箱の管理 でレスポンス形式と復元フローを確認してください。

Workflow を実行

Workflow の実行先は https://serverless.roboflow.comであり、管理 API ではありません。参照: 画像でモデルを実行する および製品ドキュメントの workflow のデプロイ.

Python SDK

Roboflow Workflows は視覚的なコンピュータビジョン・パイプラインです。SDK は list / get / create を直接公開します。 Workspace。update、fork、delete は低レベルの rfapi アダプターにあります。

workflows を一覧表示

workflow を取得

この url この引数は workflow のスラッグ(Web アプリの URL バーに表示されるもの)であり、Firestore の id ではありません。

workflow を作成

渡してください definition=None 後で Web アプリで編集する空の workflow シェルを作成するためです。

SDK は、素の仕様 dict({"version": ..., "steps": ...})またはラップされたもの({"specification": {...}})のどちらも受け入れます。ラップは自動で正規化され、存在する場合は UTF-8 BOM を除去します。

workflow を更新

Workspace は update を直接公開していません。低レベルのアダプターを使用してください:

workflow をフォーク

別のワークスペースの workflow を自分のワークスペースにコピーします。公開テンプレートを採用する際に便利です:

workflow バージョン一覧

workflow を削除(ソフト削除)

これにより workflow はワークスペースの ゴミ箱 に移動され、30 日間保持された後に完全に削除されます。復元は次で行います: Workspace.restore_from_trash("workflow", id) - 参照 削除と復元.

workflow を実行

workflow の実行先は Inference SDK および Workflows ランタイムではなく roboflow パッケージです。Python からは次のようにします:

CLI

コマンドラインから workflow の一覧表示、作成、更新、フォーク、バージョン管理ができます。

Workflows を一覧表示

Workflow の詳細を取得

Workflow を作成

JSON 定義ファイルを使う場合:

オプション

フラグ
説明

--name

workflow 名(必須)

--definition

JSON 定義ファイルへのパス

--description

workflow の説明

Workflow を更新

workflow の定義を更新:

Workflow のバージョン一覧

Workflow をフォーク

現在のワークスペースから workflow をフォーク:

別のワークスペースからフォーク:

JSON 出力

すべての workflow コマンドは --json 構造化出力をサポートします:

終了コード: 0 = 成功、1 = エラー、2 = 認証エラー、3 = 見つかりません。

最終更新

役に立ちましたか?