> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Workflow アプリ API

> ワークフロー実行、実行制御とストリーミング、人間の入力による一時停止、実行履歴を扱う Workflow アプリ向けの API

> このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/api-reference/guides/workflow) を参照してください。

[Workflow アプリ](/ja/cloud/use-dify/build/workflow-chatflow) は `workflow` モードで動作します。呼び出しごとに公開済みのワークフローを 1 回実行し、その出力を返します。呼び出し間で会話状態を保持しないため、各実行は独立しています。

<Info>
  認証、ベース URL、エンドユーザーごとにデータを区分する `user` フィールドについては、[クイックスタート](/ja/api-reference/guides/get-started) と [エンドユーザーの識別](/ja/api-reference/guides/end-user-identity) を参照してください。
</Info>

## ワークフローの実行

* **[ワークフローを実行](/ja/api-reference/workflow-runs/run-workflow)**：指定した入力変数で、アプリの現在公開中のワークフローを実行します。

  ストリーミングモードでは、ノードの実行に合わせてイベントをリアルタイムに受け取れます。ブロッキングモードでは、実行が完了してから結果を返します。
* **[ID でワークフローを実行](/ja/api-reference/workflow-runs/run-workflow-by-id)**：特定の公開バージョンを実行します。`workflow_id` は、以前の実行レスポンスや実行詳細の取得結果にあります。

## 実行の追跡と制御

どちらのモードでも、レスポンスには 2 つの ID が含まれます。`task_id` は実行中のタスクを制御し、`workflow_run_id` は実行後に保存される記録を識別します。

* **[ワークフロータスクを停止](/ja/api-reference/workflow-runs/stop-workflow-task)**：`task_id` を指定して実行中のタスクを取り消します。ストリーミングモードでのみ有効です。ブロッキングモードでは、レスポンスが返る時点で実行が完了しているため取り消せません。
* **[ワークフローイベントをストリーム](/ja/api-reference/workflow-runs/stream-workflow-events)**：接続の切断後や一時停止後に、`workflow_run_id` からイベントストリームを再開します。

  `include_state_snapshot=true` を指定すると、実行済みノードの状態を先に再生します。`continue_on_pause=true` を指定すると、複数回の人間の入力による一時停止をまたいでストリームを維持できます。

## 人間の入力による一時停止

配信方法に WebApp を指定した [人間の入力](/ja/cloud/use-dify/nodes/human-input) ノードに実行が到達したら、API で一時停止を完了させます。

<Steps>
  <Step title="一時停止の検知">
    実行のイベントストリームが `form_token` と実行の `workflow_run_id` を含む `human_input_required` を発行します。その後、ストリームは `workflow_paused` イベントで終了します。
  </Step>

  <Step title="フォームの取得">
    `form_token` を使い、[人間の入力フォームを取得](/ja/api-reference/human-input/get-human-input-form) でフォームの内容を読み込みます。
  </Step>

  <Step title="回答の送信">
    [人間の入力フォームを送信](/ja/api-reference/human-input/submit-human-input-form) で受信者の入力内容を送信します。送信すると実行が再開します。
  </Step>

  <Step title="ストリームの再開">
    一時停止したストリームの `workflow_run_id` を使い、[ワークフローイベントをストリーム](/ja/api-reference/workflow-runs/stream-workflow-events) で新しいストリームを開きます。実行完了までの残りのイベントを追跡します。
  </Step>
</Steps>

ファイルを添付した送信と完全なイベントシーケンスについては、[人間の入力フロー](/ja/api-reference/guides/human-input-flow) ガイドを参照してください。

## 実行履歴の確認

* **[ワークフロー実行詳細を取得](/ja/api-reference/workflow-runs/get-workflow-run-detail)**：指定した `workflow_run_id` の実行ステータスと出力を返します。
* **[ワークフローログ一覧を取得](/ja/api-reference/workflow-runs/list-workflow-logs)**：ステータス、token 使用量、ステップ数、所要時間を含む実行単位のサマリーを返します。ノード単位の実行ログではありません。キーワード、ステータス、期間、実行を開始したユーザーで絞り込めます。

ノード単位のイベントが必要な場合は、ログではなく実行自体をストリームします。新しく開始する実行は、[ワークフローを実行](/ja/api-reference/workflow-runs/run-workflow) をストリーミングモードで呼び出します。進行中の実行には、[ワークフローイベントをストリーム](/ja/api-reference/workflow-runs/stream-workflow-events) を使用します。

## ファイルの操作

* **[ファイルをアップロード](/ja/api-reference/files/upload-file)**：画像、ドキュメント、音声、動画ファイルをアップロードします。ワークフローの実行時に、ファイル型の入力変数へ返された `id` を `upload_file_id` として渡します。ファイルはアップロードしたエンドユーザーのみが利用できます。
* **[エンドユーザー取得](/ja/api-reference/end-users/get-end-user-info)**：エンドユーザー ID（ファイルアップロードのレスポンスにある `created_by` など）から、そのユーザーの詳細を取得します。

## 音声とテキストの相互変換

* **[音声をテキストに変換](/ja/api-reference/audio/convert-audio-to-text)**：アップロードされた音声ファイル（MP3、M4A、WAV、AMR、MPGA のいずれか、最大 30 MB）を文字起こしします。エンドユーザーは入力値をタイピングの代わりに音声で入力できます。
* **[テキストを音声に変換](/ja/api-reference/audio/convert-text-to-audio)**：ワークフローのテキスト出力を音声として合成します。

## アプリ情報と設定の取得

* **[アプリケーションの基本情報を取得](/ja/api-reference/applications/get-app-info)**：アプリの名前、説明、タグ、モードを返します。
* **[アプリケーションのパラメータ情報を取得](/ja/api-reference/applications/get-app-parameters)**：呼び出し時に `inputs` で送るフィールド（名前、型、デフォルト値）と、アプリの機能スイッチを返します。リクエストやクライアント UI を構築する際の基礎になります。
* **[アプリケーションのメタ情報を取得](/ja/api-reference/applications/get-app-meta)**：ツールアイコンなどの設定メタデータを返します。
* **[アプリの WebApp 設定を取得](/ja/api-reference/applications/get-app-webapp-settings)**：WebApp のサイト設定、テーマ、カスタマイズ項目を返します。
