> 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/workflows/ja/guan-li/manage-workflows.md).

# Workflow を管理する

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

## 概要

[Roboflow Workflows](/workflows/ja/gou-zhu/create-a-workflow.md) は、Web アプリで作成し、ホストされたエンドポイントとしてデプロイするビジュアルなコンピュータビジョンのパイプラインです。このページでは、REST API と Python SDK を通じて、ワークスペース内の Workflows の一覧取得、取得、作成、更新を行う管理面を扱います。画像や動画ストリームに対して Workflow を実行するには、次を参照してください: [Workflows ランタイムのドキュメント](/workflows/ja/depuroi/deploy-a-workflow.md).

## HTTP API

[Roboflow Workflows](/workflows/ja/gou-zhu/create-a-workflow.md) は、Web アプリで作成し、ホストされたエンドポイントとしてデプロイできるビジュアルなコンピュータビジョンのパイプラインです。REST API は管理面を公開します。画像や動画ストリームに対して workflow を実行するには、次を参照してください: [画像上でモデルを実行する](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api#http-api) および [Workflows ランタイムのドキュメント](/workflows/ja/depuroi/deploy-a-workflow.md).

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

### プロジェクトのベース Workflow

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

#### Project のベース Workflow を取得する

<mark style="color:緑;">`GET`</mark> `/:workspace/:project/deploy`

必要なスコープ: `project:read`

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

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

```json
{
  "project": {
    "id": "abc123",
    "url": "my-project",
    "name": "マイプロジェクト",
    "owner": "my-workspace-id",
    "type": "object-detection",
    "classes": ["cat", "dog"],
    "multilabel": false
  },
  "workflow": {
    "id": "wf_xyz",
    "name": "マイプロジェクトのベース 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
}
```

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

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

<mark style="color:緑;">`POST`</mark> `/:workspace/:project/deploy/model`

必要なスコープ: `project:update`

設定する `model.type` を `"model_id"`, `"sam3"`, `"astra"`, `"gemini"`、または `"clip"`:

```bash
curl -X POST "https://api.roboflow.com/my-workspace/my-project/deploy/model" \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "'$ROBOFLOW_API_KEY'",
    "model": {
      "type": "model_id",
      "modelId": "rfdetr-medium"
    }
  }'
```

モデル `"model_id"`, `modelId` が必須です。 `displayName` および `taskType` は任意です。 `"sam3"`, `"astra"`, `"gemini"`、および `"clip"`には、空でない `classes` 配列を `modelId`. `"astra"` (GPT-6 Astra) および `"gemini"` (Gemini 3.8 Flash) はゼロショットの物体検出モデルのみです。別の種類の Project でいずれかを選択すると失敗します:

```json
{
  "api_key": "YOUR_API_KEY",
  "model": {
    "type": "sam3",
    "classes": ["cat", "dog"]
  }
}
```

レスポンスの形状は次と同じです [Project のベース Workflow を取得する](#get-a-project-base-workflow)。1つの `400` そのレスポンスは、 `model` 値が欠落しているか無効です。

データ収集を有効にする、収集上限を設定する、またはレビューキュー内の画像を一覧表示するには、次を使用してください: [Active Learning HTTP API](https://docs.roboflow.com/deployment/monitoring-and-analytics/active-learning#http-api).

### Workflows を一覧表示する

<mark style="color:緑;">`GET`</mark> `/:workspace/workflows`

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

**クエリ**

<table data-search="false"><thead><tr><th>名前</th><th>型</th><th>説明</th><th data-type="checkbox">必須</th></tr></thead><tbody><tr><td><code>api_key</code></td><td>文字列</td><td>ワークスペース用 API キー。</td><td>true</td></tr></tbody></table>

**リクエスト例**

```bash
curl "https://api.roboflow.com/my-workspace/workflows?api_key=$ROBOFLOW_API_KEY"
```

**レスポンス**

```json
{
  "workflows": [
    {
      "id": "wf_abc123",
      "name": "低速な Webhook",
      "url": "slow-webhooks",
      "createdAt": "2026-04-12T17:05:33.000Z"
    }
  ],
  "status": "ok"
}
```

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

### Workflow を取得する

<mark style="color:緑;">`GET`</mark> `/:workspace/workflows/:workflowUrl`

workflow の仕様、メタデータ、および（非公開 workflow の場合）認可状態を返します。

```bash
curl "https://api.roboflow.com/my-workspace/workflows/slow-webhooks?api_key=$ROBOFLOW_API_KEY"
```

公開 workflow は、認証なしでアクセスできます `api_key`。非公開 workflow には `workflow:read` スコープが必要です。

### Workflow バージョンを一覧表示する

<mark style="color:緑;">`GET`</mark> `/:workspace/workflows/:workflowUrl/versions`

```bash
curl "https://api.roboflow.com/my-workspace/workflows/slow-webhooks/versions?api_key=$ROBOFLOW_API_KEY"
```

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

### Workflow を作成する

<mark style="color:緑;">`POST`</mark> `/:workspace/createWorkflow`

**ヘッダー**

| 名前           | 値                  |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**本文**

<table data-search="false"><thead><tr><th width="180">名前</th><th width="140">型</th><th>説明</th><th data-type="checkbox">必須</th></tr></thead><tbody><tr><td><code>api_key</code></td><td>文字列</td><td>ワークスペース API キー。</td><td>true</td></tr><tr><td><code>name</code></td><td>文字列</td><td>表示名。</td><td>true</td></tr><tr><td><code>url</code></td><td>文字列</td><td>workflow の URL スラグ。</td><td>true</td></tr><tr><td><code>config</code></td><td>文字列</td><td>JSON エンコードされた workflow 仕様（下記の注記を参照）。</td><td>true</td></tr><tr><td><code>template</code></td><td>文字列</td><td>JSON エンコードされたテンプレートメタデータ。次を渡します: <code>"{}"</code> まだ持っていない場合は空オブジェクトを渡してください。</td><td>false</td></tr></tbody></table>

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

**リクエスト例**

```bash
curl -X POST "https://api.roboflow.com/my-workspace/createWorkflow" \
  -H 'Content-Type: application/json' \
  -d '{"api_key":"'$ROBOFLOW_API_KEY'","name":"マイワークフロー","url":"my-workflow","config":"{\"specification\":{\"version\":\"1.0\",\"inputs\":[],\"steps\":[],\"outputs\":[]}}"}'
```

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

```bash
curl -X POST "https://api.roboflow.com/my-workspace/createWorkflow" \
  --get \
  --data-urlencode "api_key=$ROBOFLOW_API_KEY" \
  --data-urlencode "name=My Workflow" \
  --data-urlencode "url=my-workflow" \
  --data-urlencode 'config={"specification":{"version":"1.0","inputs":[],"steps":[],"outputs":[]}}' \
  --data-urlencode 'template={}'
```

**レスポンス**

```json
{
  "workflows": { "id": "wf_xyz789", "url": "my-workflow" },
  "status": "ok"
}
```

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

### Workflow を更新する

<mark style="color:緑;">`POST`</mark> `/:workspace/updateWorkflow`

**ヘッダー**

| 名前           | 値                  |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**本文**

<table data-search="false"><thead><tr><th>名前</th><th>型</th><th>説明</th><th data-type="checkbox">必須</th></tr></thead><tbody><tr><td><code>id</code></td><td>文字列</td><td>Workflow の内部 ID。</td><td>true</td></tr><tr><td><code>name</code></td><td>文字列</td><td>表示名。</td><td>true</td></tr><tr><td><code>url</code></td><td>文字列</td><td>URL スラグ。</td><td>true</td></tr><tr><td><code>config</code></td><td>文字列</td><td>JSON エンコードされた workflow 仕様（作成時の注記を参照）。</td><td>true</td></tr></tbody></table>

```bash
curl -X POST "https://api.roboflow.com/my-workspace/updateWorkflow?api_key=$ROBOFLOW_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"id":"wf_xyz789","name":"マイワークフロー","url":"my-workflow","config":"{\"specification\":{\"version\":\"1.0\",\"steps\":[]}}"}'
```

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

### Workflow をフォークする

<mark style="color:緑;">`POST`</mark> `/:workspace/forkWorkflow`

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

**本文**

<table data-search="false"><thead><tr><th>名前</th><th>型</th><th>説明</th><th data-type="checkbox">必須</th></tr></thead><tbody><tr><td><code>source_workspace</code></td><td>文字列</td><td>ソース workflow を所有するワークスペースのスラグ。</td><td>true</td></tr><tr><td><code>source_workflow</code></td><td>文字列</td><td>ソース workflow の URL スラグ。</td><td>true</td></tr><tr><td><code>name</code></td><td>文字列</td><td>フォークの表示名。既定値はソース名です。</td><td>false</td></tr><tr><td><code>url</code></td><td>文字列</td><td>フォークの URL スラグ。省略すると自動生成されます。</td><td>false</td></tr></tbody></table>

```bash
curl -X POST "https://api.roboflow.com/my-workspace/forkWorkflow?api_key=$ROBOFLOW_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"source_workspace":"other-workspace","source_workflow":"their-workflow","name":"マイフォーク","url":"my-fork"}'
```

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

### Workflow トークンを生成する

<mark style="color:緑;">`POST`</mark> `/:workspace/workflowToken`

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

```bash
curl -X POST "https://api.roboflow.com/my-workspace/workflowToken?api_key=$ROBOFLOW_API_KEY"
```

### Workflow を削除（ソフト削除）する

<mark style="color:赤;">`DELETE`</mark> `/:workspace/workflows/:workflowUrl`

workflow をゴミ箱へ移動します。次を参照してください: [ゴミ箱を管理する](https://docs.roboflow.com/platform/workspaces/trash#delete-a-workflow) レスポンスの形状と復元フローについて。

### Workflow を実行する

Workflow の実行先は `https://serverless.roboflow.com`であり、管理 API ではありません。次を参照してください: [画像上でモデルを実行する](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api#http-api) および製品ドキュメントの [workflow のデプロイ](/workflows/ja/depuroi/deploy-a-workflow.md).

## Python SDK

[Roboflow Workflows](/workflows/ja/gou-zhu/create-a-workflow.md) は、ビジュアルなコンピュータビジョンのパイプラインです。SDK は、次の上で list / get / create を直接公開します: `Workspace`。update、fork、delete は低レベルの `rfapi` アダプターにあります。

### workflow を一覧表示する

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
workspace = rf.workspace()

workflows = workspace.list_workflows()
for w in workflows:
    print(w["id"], w["name"], w["url"])

```

### workflow を取得する

```python
workflow = workspace.get_workflow("slow-webhooks")
print(workflow["specification"])
```

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

### workflow を作成する

```python
workflow = workspace.create_workflow(
    name="My Workflow",
    definition={
        "version": "1.0",
        "inputs": [...],
        "steps": [...],
        "outputs": [...],
    },
)
print(workflow["id"], workflow["url"])

```

次を渡します: `definition=None` 後で Web アプリで編集する空の workflow シェルを作成します。

SDK は、素の仕様 dict（`{"version": ..., "steps": ...}`）またはラップ済みのもの（`{"specification": {...}}`）を受け付けます。ラップは自動で正規化され、UTF-8 BOM があれば除去されます。

### workflow を更新する

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

```python
from roboflow.adapters import rfapi

rfapi.update_workflow(
    api_key="YOUR_API_KEY",
    workspace_url=workspace.url,
    workflow_id=workflow["id"],
    workflow_name="My Workflow",
    workflow_url="my-workflow",
    config={"version": "1.0", "steps": [...]},
)
```

### workflow をフォークする

別のワークスペースの workflow を自分のワークスペースにコピーします。公開テンプレートを取り込むのに便利です:

```python
from roboflow.adapters import rfapi

forked = rfapi.fork_workflow(
    api_key="YOUR_API_KEY",
    workspace_url=workspace.url,
    source_workspace="other-workspace",
    source_workflow="their-workflow",
    name="My Fork",       # optional; defaults to the source name
    url="my-fork",        # optional; defaults to a generated slug
)
```

### workflow バージョンを一覧表示する

```python
versions = rfapi.list_workflow_versions(
    api_key="YOUR_API_KEY",
    workspace_url=workspace.url,
    workflow_url="my-workflow",
)
```

### workflow を削除（ソフト削除）する

```python
rfapi.delete_workflow(api_key="YOUR_API_KEY", workspace_url=workspace.url, workflow_url="my-workflow")
```

これにより workflow はワークスペースの [ゴミ箱](https://docs.roboflow.com/platform/workspaces/trash#python-sdk) に移動され、30 日間保持された後に完全に削除されます。次で復元できます: `Workspace.restore_from_trash("workflow", id)` — 次を参照: [削除と復元](https://docs.roboflow.com/platform/workspaces/trash#workflows).

### workflow を実行する

workflow の実行は [Inference SDK](https://inference.roboflow.com) および [Workflows ランタイム](/workflows/ja/depuroi/deploy-a-workflow.md)で行われ、 `roboflow` パッケージではありません。Python からは次のように使います:

```python
from inference_sdk import InferenceHTTPClient, InferenceConfiguration

client = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key="YOUR_API_KEY",
).configure(InferenceConfiguration(api_key_transport="header"))
result = client.run_workflow(
    workspace_name="my-workspace",
    workflow_id="my-workflow",
    images={"image": "photo.jpg"},
)
```

## CLI

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

### Workflows を一覧表示する

```bash
roboflow workflow list
```

```bash
roboflow workflow list --json
```

### Workflow の詳細を取得する

```bash
roboflow workflow get my-workflow
```

```bash
roboflow workflow get my-workflow --json
```

### Workflow を作成する

```bash
roboflow workflow create --name "マイワークフロー"
```

JSON 定義ファイルを使用する場合:

```bash
roboflow workflow create --name "マイワークフロー" --definition workflow.json
```

#### オプション

| フラグ             | 説明             |
| --------------- | -------------- |
| `--name`        | workflow 名（必須） |
| `--definition`  | JSON定義ファイルへのパス |
| `--description` | ワークフローの説明      |

### Workflow を更新する

ワークフローの定義を更新:

```bash
roboflow workflow update my-workflow --definition updated.json
```

### Workflow バージョンを一覧表示する

```bash
roboflow workflow version list my-workflow
```

```bash
roboflow workflow version list my-workflow --json
```

### Workflow をフォークする

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

```bash
roboflow workflow fork my-workflow
```

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

```bash
roboflow workflow fork other-workspace/their-workflow
```

### JSON出力

すべてのワークフローコマンドは対応しています `--json` 構造化された出力には:

```bash
roboflow workflow list --json | jq '.[].name'
roboflow workflow create --name "Test" --json
```

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

## 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>workflows_list</code></td><td>ワークスペース内に保存されたワークフローを一覧表示します。</td></tr><tr><td><code>workflows_get</code></td><td>保存されたワークフローの詳細を取得します。</td></tr><tr><td><code>workflows_create</code></td><td>新しいワークフローを作成して保存します。</td></tr><tr><td><code>workflows_update</code></td><td>保存されたワークフローの名前と定義を更新します。</td></tr><tr><td><code>workflows_run</code></td><td>保存されたワークフローを1枚以上の画像に対して実行します。</td></tr><tr><td><code>workflows_delete</code></td><td>保存されたワークフローを削除し、ワークスペースのゴミ箱に移動します。</td></tr></tbody></table>
