Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions ja/development/api-development/sdks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ title: "Comfy SDK:ComfyUI 向け Python・TypeScript クライアント"
description: "Comfy Cloud、デプロイ環境、または自前の ComfyUI に対して Python または TypeScript から ComfyUI ワークフローを実行し、アセット、ジョブ、ライブイベント、冪等なリトライを扱います。"
sidebarTitle: "SDK"
icon: "code"
translationSourceHash: dbb2e0a8
translationSourceHash: fd912955
translationFrom: development/api-development/sdks.mdx
translationBlockHashes:
"_intro": c92c7b51
"Install": da9a0a57
"Quickstart": 02297586
"Choosing a base URL": 2265e6f6
"Choosing a base URL": 0e77e81c
"Retrying a submit: the idempotency key": 7c83d78f
"Watching a job run": 34d74bcc
"Tracing an output back to its workflow": b01886a3
Expand All @@ -21,6 +21,7 @@ translationBlockHashes:




import SdkSurfaces from "/snippets/ja/sdk/surfaces.mdx";
import SdkVersions from "/snippets/ja/sdk/versions.mdx";

Expand Down Expand Up @@ -136,7 +137,7 @@ const client = new Comfy({ apiKey: "comfyui-..." });
</CodeGroup>

<Note>
初期ビルドからアップグレードしますか? `Comfy("<url>", "<key>")`は、`COMFY_BASE_URL`を設定した`Comfy(api_key="<key>")`になりました。`api_key`はキーワード専用引数なので、以前の位置引数での呼び出しは、URLをキーとして静かに読み取るのではなく、`TypeError`を発生させます。
初期ビルドからアップグレードしますか? `Comfy("<url>", "<key>")`は、`COMFY_BASE_URL`を設定した`Comfy(api_key="<key>")`になりました。`api_key`はキーワード専用引数なので、以前の位置引数での呼び出しは、URLをキーとして静かに読み取るのではなく、`TypeError`を発生させます。
</Note>

### Comfy Cloud
Expand Down
7 changes: 4 additions & 3 deletions ja/development/cloud/api-reference.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
title: "Cloud API リファレンス"
description: "Comfy Cloud の完全な API リファレンスとコード例"
icon: "book-open"
translationSourceHash: 9dfb0617
translationSourceHash: e15f0e0e
translationFrom: development/cloud/api-reference.mdx
translationBlockHashes:
"_intro": 1729f5d3
"Setup": 311034bb
"Object Info": 7b62a397
"Uploading Inputs": 92df17f8
"Running Workflows": d6ddd0b4
"Running Workflows": 2c6519c7
"Checking Job Status": d74b4922
"WebSocket for Real-Time Progress": 02c49b4a
"Downloading Outputs": 5e1d63d3
Expand All @@ -19,6 +19,7 @@ translationBlockHashes:
---



import PollJobCompletion from '/snippets/ja/cloud/poll-job-completion.mdx'
import WebSocketProgress from '/snippets/ja/cloud/websocket-progress.mdx'
import DownloadOutputs from '/snippets/ja/cloud/download-outputs.mdx'
Expand Down Expand Up @@ -272,7 +273,7 @@ def upload_mask(file_path: str, original_ref: dict) -> dict:

## ワークフローの実行

実行するワークフローを送信します。
ワークフローを送信して実行します。

<Info>
**同時送信に対応:** サブスクリプションティアに応じて、前のジョブの完了を待たずに複数のワークフローを送信できます。ジョブはティアの上限まで並列で実行されます。それを超えるジョブは自動的にキューに入ります。詳細については[同時実行の制限](/ja/development/deploy/cloud-usage#同時実行の制限)をご覧ください。
Expand Down
33 changes: 19 additions & 14 deletions ja/development/comfy-router/limitations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Comfy Router の機能と制限"
sidebarTitle: "機能と制限"
description: "Comfy Router とパートナープロキシのどちらを選ぶか、長時間実行される呼び出しへの備え、リカバリ・レート制限・アセット保存について説明します。"
translationSourceHash: b40af72c
translationSourceHash: 450771dd
translationFrom: development/comfy-router/limitations.mdx
translationBlockHashes:
"_intro": 6b871cf3
Expand All @@ -13,9 +13,9 @@ translationBlockHashes:
"Request bodies are capped": 675b77c8
"Requests are rate limited per caller": 249d4d51
"No progress while a call runs": 75d42d8d
"Comfy charges and usage": ed49ddec
"Models without a pre-flight estimate": 7373adf0
"Router does not cover every partner operation": 97d31362
"Comfy charges and usage": 7f5ccda7
"Models without a pre-flight estimate": 0e7f595d
"Router does not cover every partner operation": 786c0fb2
"Model outputs and stored assets": 06c737c1
"Next": be85b789
---
Expand All @@ -27,6 +27,7 @@ translationBlockHashes:




Router はパートナーモデルを、1回の同期 HTTP 呼び出し、または送信して後で結果を取得するキュー中のリクエストを通じて実行します。アプリケーションが完了した結果を待つことができ、あるいは後で結果を取得でき、さらにモデル自身の入力フィールドと出力フィールドを処理できる場合に使用します。

## Router がサポートするもの
Expand Down Expand Up @@ -102,9 +103,9 @@ Router は最終レスポンスのみを返し、ストリーミングされる

レスポンスにはプロバイダーの使用量またはコストのフィールドが含まれる場合があります。これらは Comfy の一律の課金を表すものではありません。`X-Comfy-Credits-Used` はオプションです。ヘッダーが不足している場合は、コストが報告されなかったことを意味し、実行が無料だったことを意味するものではありません。リプレイされたレスポンス(`Idempotent-Replayed: true`)に対して再度課金されることはありませんが、元の実行の金額が再掲される場合があるため、1 つの `Idempotency-Key` のリトライをまたいでこのヘッダーを合算しないでください。残高、使用量、請求書については Comfy プラットフォームを使用してください。

カタログは価格ではなく、`billing.charges_on_policy_rejection` を含む請求に関する事実を提供します。`yes`、`no`、`unknown` を明示的に処理してください。詳細は [billing](/ja/development/comfy-router/billing#モデル課金に関する事実) を参照してください。
カタログは価格ではなく、`billing.charges_on_policy_rejection` を含む請求に関する事実を提供します。`yes`、`no`、`unknown` を明示的に処理してください。これが `yes` の場合、同期的な `content_policy_violation` エラーが `X-Comfy-Credits-Used` を含むことがあります。プロバイダーがモデルの生成済み出力を拒否し、Comfy がその拒否された生成に対して使用量を記録した場合にこれを含み、その量が記載されます。入力側の拒否および同一キーのリプレイでは含まれません。ヘッダーのない拒否は報告されていないのであり、無料ではありません。詳細は [billing](/ja/development/comfy-router/billing#モデル課金に関する事実) を参照してください。

実行前に価格を確認するには、`POST /v2/models/{provider}/{model}/estimate` を呼び出すか、キュー中の送信の `201` にある `estimate` オブジェクトを読み取ってください。estimate の展開中は、このルートは `error_type: not_enabled` とともに `403` を返し、送信には `estimate` が含まれません。それぞれは Comfy がその実行に対して請求するレートカードに基づいて価格が決まりますが、その金額は見積もりであり最終的な請求額ではなく、ワークスペースの使用量と請求の記録に確定した請求額が最終となります。また、価格を固定するものでもありません。独自のプロバイダーキーでの実行は、`/estimate` がその実行の金額を返したとしても Comfy からは請求されません。また、`unknown` の estimate には金額が含まれておらず、それは無料を意味するものではありません。`X-Comfy-Credits-Used` は、実行に対する事後的な丸められた数値のままですが、領収書ではありません。`exact`、`estimated`、`unknown` の読み取り方については、[実行前のコスト見積もり](/ja/development/comfy-router/reference#事前のコスト見積もり) を参照してください。実行前に価格を算出できないモデルは、[事前見積もりがないモデル](#事前見積もりのないモデル) に一覧されています。
実行前に価格を確認するには、`POST /v2/models/{provider}/{model}/estimate` を呼び出すか、キュー中の送信の `201` にある `estimate` オブジェクトを読み取ってください。estimate の展開中は、このルートは `error_type: not_enabled` とともに `403` を返し、送信には `estimate` が含まれません。それぞれは Comfy がその実行に対して請求するレートカードに基づいて価格が決まります(ベンダーが報告するコストで請求されるモデルは、代わりにベンダーの公開価格表から見積もられます)が、その金額は見積もりであり最終的な請求額ではなく、ワークスペースの使用量と請求の記録に確定した請求額が最終となります。また、価格を固定するものでもありません。独自のプロバイダーキーでの実行は、`/estimate` がその実行の金額を返したとしても Comfy からは請求されません。また、`unknown` の estimate には金額が含まれておらず、それは無料を意味するものではありません。`X-Comfy-Credits-Used` は、実行に対する事後的な丸められた数値のままですが、領収書ではありません。`exact`、`estimated`、`unknown` の読み取り方については、[実行前のコスト見積もり](/ja/development/comfy-router/reference#事前のコスト見積もり) を参照してください。実行前に価格を算出できないモデルは、[事前見積もりがないモデル](#事前見積もりのないモデル) に一覧されています。

## 事前見積もりのないモデル

Expand All @@ -114,9 +115,8 @@ Router は、以下のモデルへの呼び出しを実行前に確実に価格

{/* BEGIN GENERATED: models without a pre-flight estimate. Do not hand-edit; regenerate with -update-quote-coverage-docs. */}

- **bfl**: `bfl/erase-v1`, `bfl/flux-2-max`, `bfl/flux-2-pro`, `bfl/flux-3-image`, `bfl/flux-3-video`, `bfl/flux-kontext-max`, `bfl/flux-kontext-pro`, `bfl/flux-pro-1.0-expand`, `bfl/flux-pro-1.0-fill`, `bfl/flux-pro-1.1`, `bfl/flux-pro-1.1-ultra`, `bfl/video-edit-v1`, `bfl/video-upscale-v1`, `bfl/vto-v1`
- **bfl**: `bfl/erase-v1`, `bfl/video-edit-v1`, `bfl/video-upscale-v1`, `bfl/vto-v1`
- **byteplus**: `byteplus/seed-audio-1.0`, `byteplus/seed-audio-1.0-multilingual`
- **elevenlabs**: `elevenlabs/eleven_sfx_v2`
- **fal**: `fal/crystal-upscaler`, `fal/crystal-video-upscaler`, `fal/fal-gpt-image-2`, `fal/fal-gpt-image-2.5-flare`, `fal/fal-gpt-image-2.5-sunburst`, `fal/fal-nano-banana-2`, `fal/fal-nano-banana-pro`, `fal/fal-seedance-2.0`, `fal/fal-seedance-2.5`, `fal/flux-3-max`, `fal/patina`
- **freepik**: `freepik/ai-image-upscaler-precision-v2`, `freepik/ai-skin-enhancer-creative`, `freepik/ai-skin-enhancer-faithful`, `freepik/ai-skin-enhancer-flexible`
- **heygen**: `heygen/starfish`
Expand All @@ -125,25 +125,30 @@ Router は、以下のモデルへの呼び出しを実行前に確実に価格
- **luma**: `luma/photon-1`, `luma/photon-flash-1`, `luma/ray-2`, `luma/ray-flash-2`
- **meshy**: `meshy/animations`, `meshy/meshy-6`, `meshy/meshy-7`, `meshy/meshy-7.1`, `meshy/remesh`, `meshy/rigging`
- **moonvalley**: `moonvalley/image-to-video`, `moonvalley/text-to-video`, `moonvalley/video-to-video`
- **openai**: `openai/gpt-image-1.5`
- **openrouter**: `openrouter/chat-completions`
- **pika**: `pika/pika-gpt-image-2`, `pika/pika-nano-banana-2`, `pika/pika-nano-banana-pro`
- **recraft**: `recraft/recraftv2`, `recraft/recraftv3`, `recraft/recraftv4`, `recraft/recraftv4_1`, `recraft/recraftv4_1_pro`, `recraft/recraftv4_1_pro_vector`, `recraft/recraftv4_1_utility`, `recraft/recraftv4_1_utility_pro`, `recraft/recraftv4_1_utility_pro_vector`, `recraft/recraftv4_1_utility_vector`, `recraft/recraftv4_1_vector`, `recraft/recraftv4_pro`, `recraft/recraftv4_styles`, `recraft/recraftv4_styles_pro`, `recraft/recraftv4_styles_pro_vector`, `recraft/recraftv4_styles_vector`
- **runware**: `runware/runware-gpt-image-2`, `runware/runware-gpt-image-2.5-flare`, `runware/runware-gpt-image-2.5-sunburst`, `runware/runware-nano-banana-2`, `runware/runware-nano-banana-pro`, `runware/runware-seedance-2.0`, `runware/runware-seedance-2.5`
- **runway**: `runway/gen4_image`
- **synclabs**: `synclabs/sync-3`
- **veed**: `veed/clean-audio`, `veed/clean-audio-video`, `veed/fabric-1.0`, `veed/lipsync-2.0`, `veed/video-background-removal`, `veed/video-background-removal-fast`, `veed/video-background-removal-green-screen`
- **wavespeed**: `wavespeed/flashvsr`, `wavespeed/seedvr2`, `wavespeed/ultimate-image-upscaler`, `wavespeed/wavespeed-gpt-image-2`, `wavespeed/wavespeed-gpt-image-2.5-flare`, `wavespeed/wavespeed-gpt-image-2.5-sunburst`
- **xai**: `xai/grok-imagine-image`, `xai/grok-imagine-image-2.0`, `xai/grok-imagine-image-pro`, `xai/grok-imagine-image-quality`, `xai/grok-imagine-video`, `xai/grok-imagine-video-1.5`, `xai/grok-imagine-video-1.5-lite`, `xai/grok-imagine-video-1.5-preview`
- **wavespeed**: `wavespeed/wavespeed-gpt-image-2`, `wavespeed/wavespeed-gpt-image-2.5-flare`, `wavespeed/wavespeed-gpt-image-2.5-sunburst`

{/* END GENERATED: models without a pre-flight estimate */}

`openai/gpt-image-2`、`openai/gpt-image-2.5-flare`、`openai/gpt-image-2.5-sunburst` の編集も事前見積もりの対象外です。これらのモデルへの編集呼び出し、または入力画像を伴う生成呼び出しは `source: unknown` を返します。テキストのみの生成呼び出しは見積もりが行われるため、これらのモデルは上記のリストに含まれていません。

## Routerはすべてのパートナー操作をカバーしていない

Routerはモデルを実行します。ファイルのアップロード、アカウントの読み取り、アセット管理、ストリーミング、プロバイダーのジョブ制御には、`/proxy/…` 配下のパートナープロキシルートが必要になる場合があります。これらはRouterの外部にあり、そのコントラクトには記述されていません。Router自体のサーフェスは [Comfy Router specification](/router-openapi.yaml) です。サポートはプロバイダーによって異なります。

### Krea 3の参照画像は先にアップロードする必要があります
### Krea 3の参照画像:先にアップロードするか、公開https URLを使用する

`krea/krea-3` の `image_urls` では、`POST /proxy/krea/assets` が返す `image_url`(`https://app-uploads.krea.ai/...` 形式のURL)は常に受け付けられます。他のリンクが受け付けられるかどうかは環境によって異なります。api.comfy.org では現在受け付けられています。

- **他のリンクが受け付けられる場合**、任意の公開 `https` 画像URLが使用できます。Routerはモデルの実行前に各画像のサイズを読み取ります。ホストが公開されて到達可能でないか存在しないリンク、`408` または `429` 以外の `4xx` を返すリンク、または画像でないリンクは、そのホスト名を示す `400` `invalid_input` で拒否されます。一時的なDNS、TLS、接続の失敗、タイムアウト、またはオリジンからの `408` または `429` は `502` エラーになります。実際のアップロードではない `app-uploads.krea.ai` リンクは、他の到達不能な参照と同様に `400` で拒否されます。サーバーの起動直後、どのルールが適用されるかを学習する前は、`app-uploads.krea.ai` リンクではない公開 `https` URLは、安全に再試行できる `503` で失敗することがあります。
- **他のリンクが受け付けられない場合**、すべてのエントリはアップロードの `image_url` である必要があります。Routerは、リンクが `https` URLとしてパースでき、ホストが厳密に `app-uploads.krea.ai` であること(他のホストや明示的なポートは不可)だけをチェックします。それ以外のリンクは、自分でホストしている公開 `https` URLであっても、モデルの実行前に `400` `invalid_input` で拒否されます。このチェックを通過しても実際のアップロードではないリンク(期限切れ、削除済み、入力ミス)はそのまま通ってしまい、Routerは画像のサイズを読み取れずに `400` ではなく `5xx` エラーを返します。

`krea/krea-3` は任意の画像リンクを受け付けません。`image_urls` の各エントリは、`POST /proxy/krea/assets` が返す `image_url`(`https://app-uploads.krea.ai/...` 形式のURL)である必要があります。Routerがチェックするのは、リンクが `https` URLとしてパースでき、ホストが厳密に `app-uploads.krea.ai` であること(他のホストや明示的なポートは不可)だけです。それ以外のリンクは、自分でホストしている公開 `https` URLであっても、モデルの実行前に `400` `invalid_input` で拒否されます。このチェックを通過しても実際のアップロードではないリンク(期限切れ、削除済み、入力ミス)はそのまま通ってしまい、Routerは画像のサイズを読み取れずに `400` ではなく `5xx` エラーを返します。そのため、`image_url` は必ずアップロードが返したとおりに渡してください。
アップロードはどの環境でも機能するため、移植性のある選択肢です。`image_url` は必ずアップロードが返したとおりに渡してください。

1. 各参照画像を `multipart/form-data` としてアップロードし、画像はフォームフィールド `file` に入れます(JPEG、PNG、WebP、最大75 MB)。認証はRouterの場合と同じく、`X-API-Key` または `Authorization: Bearer` を使用します。

Expand Down
Loading
Loading