PolyDrobeの使い方。
ワークスペースを設定し、アセットとバリアントを設計し、チームを招待して、よく起きるエラーを解消できます。
4ステップで稼働開始
プロジェクト、タクソノミー、アセット、チーム。この順番で進めます。
プロジェクトを作成
最初のプロジェクトを作成し、分かりやすいプロジェクトslugを設定します。
タクソノミーを設定
カテゴリ、レアリティ、タグ、通貨、ステータス、リリースを設定します。
アセットとバリアントを追加
アセットを追加し、画像・価格・任意メタデータ付きのバリアントを作成します。
チームを招待
チームメンバーを招待し、所有者 / 編集者 / 閲覧者のロールを割り当てます。
できることすべて
ワークフローを開くと詳細が表示されます。
プロジェクトセットアップまず構造を作り、その後にコンテンツを追加します。
- プロジェクト詳細とアイコンを設定します。
- プロジェクト設定で再利用可能な分類を定義します。
アセットとバリアント管理アセットは基本アイテム、バリアントはそのバージョンです。
- アセットのメタデータを入力し、カテゴリ/レアリティを設定します。
- バリアントにテクスチャ、画像、価格情報を追加します。
レビューと検索カタログを見やすく保守しやすい状態に保ちます。
- フィルター、ステータス、タグを使って、目の前の作業を見つけられます。
- アクティビティログで変更内容を確認します。
インポートとエクスポートパイプラインと安全にデータ連携します。
- プロジェクトデータを JSON または Excel でエクスポートします。「メディアファイルを含める」にチェックすると、画像・テクスチャ・メッシュを収めた ZIP パッケージを取得できます。
- JSON、Excel、ZIP パッケージをインポートします。すべてのインポートは最初にプレビューを実行するため、確定される前に行単位の変更内容とエラーを確認できます。
Google Sheets インポートネイティブの Google スプレッドシートから、アセット、バリアント、プロジェクト設定をインポートします。
- エンティティ種別ごとに 1 つのワークシート(Currencies、Rarities、Releases、Tags、Categories、Assets、Variants)を持つネイティブの Google スプレッドシートを作成します(アップロードした .xlsx は使えません)。
- 各ワークシートの 1 行目に、正確な列見出しを入力します(大文字小文字を区別します)。たとえば Variants シートには slug、name、asset_slug、rarity、release、currency、price、description、tags が必要です。
- エンティティは依存関係の順にインポートされます。Currencies、Rarities、Releases、Tags、Categories、Assets、最後に Variants です。行が参照する対象は、すでにプロジェクトに存在しているか、同じ実行内でより前に現れる必要があります。
- プロジェクトで「データ交換」ページ(プロジェクトメニューの「インポート / エクスポート」)を開き、インポート元として「Google シート」を選び、Google アカウントを接続します。PolyDrobe が要求するのは Google の drive.file スコープなので、渡したファイルしか読み取れません。
- 「プロファイルを作成」でプロファイル名を入力し、「参照」をクリックして Google ピッカーからスプレッドシートを選びます。タブ名が異なる場合はワークシート名を調整し、「プロファイルを保存」をクリックします。
- 保存したプロファイルで、まず「プレビュー」を実行します。これは何も書き込まずに検証エラーを報告するドライランです。「インポート」を実行すると、同じ処理が実際に適用されます。
- アセットやバリアントのタグには、セミコロン区切りの値を使います:starter;seasonal=winter;limited-edition
- 価格は小数点の区切りとしてピリオドとカンマの両方を受け付けます(9.99 または 9,99)。レアリティは名前、通貨はコード、リリースはバージョン文字列で照合されます。
開発者向けガイド
ツール、エージェント、パイプラインを PolyDrobe に接続する。
REST API のセットアップ標準の REST API を使って PolyDrobe と連携します。Proプランで利用できます。
1. アクセストークンを発行する
「ワークスペース設定」>「API トークン」を開き、新しい個人用アクセストークンを作成します。用途がわかる名前(「CI Pipeline」「Local Script」など)を付け、読み取りと書き込みのスコープを選択し、有効期限を選びます。トークンは表示されたときにコピーしてください。一度しか表示されません。
# Your token will look like this: pdtk_a8f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5... # Keep it safe. You cannot retrieve it later. # If lost, revoke it and create a new one.
2. リクエストを認証する
すべてのリクエストで、Authorization ヘッダーに Bearer トークンとしてトークンを含めます。
curl -H "Authorization: Bearer pdtk_abc123..." \
https://polydrobe.app/api/v1/projects/
3. プロジェクトを一覧する
自分がメンバーになっているすべてのプロジェクトを返します。レスポンスは data キーと meta キーを持つ標準のエンベロープ形式です。
GET /api/v1/projects/
# Response:
{
"data": [
{
"id": "...",
"name": "Cyber Skins",
"slug": "cyber-skins",
"asset_count": 42,
"my_role": "owner"
}
],
"meta": { "total": 1, "page": 1, "page_size": 25 }
}
4. アセットを作成する
プロジェクト内にアセットを作成します。編集者または所有者のロールが必要です。slug は名前から自動生成されます。
curl -X POST \
-H "Authorization: Bearer pdtk_abc123..." \
-H "Content-Type: application/json" \
-d '{"name": "Plasma Rifle", "description": "Sci-fi weapon", "category_slug": "weapons"}' \
https://polydrobe.app/api/v1/projects/cyber-skins/assets/
5. バリアントを作成する
価格、レアリティ、ステータスを指定して、アセットにバリアントを追加します。外部キーの参照にはすべて slug を使います。
curl -X POST \
-H "Authorization: Bearer pdtk_abc123..." \
-H "Content-Type: application/json" \
-d '{"name": "Gold Edition", "rarity_slug": "legendary", "price": "29.99", "currency_code": "USD"}' \
https://polydrobe.app/api/v1/projects/cyber-skins/assets/plasma-rifle/variants/
6. アセットを検索する
PostgreSQL の検索機能を使って、アセットとバリアントを全文検索します。フレーズ、OR、否定に対応しています。
GET /api/v1/projects/cyber-skins/search/?q=gold+legendary&type=variant&limit=10
7. 一括操作
複数のバリアントを一度に更新または削除します。Proプランの一括操作機能が必要です。
curl -X POST \
-H "Authorization: Bearer pdtk_abc123..." \
-H "Content-Type: application/json" \
-d '{"slugs": ["v1", "v2", "v3"], "updates": {"status_slug": "released"}}' \
https://polydrobe.app/api/v1/projects/cyber-skins/bulk/variants/update/
利用できるエンドポイント
REST API は、カタログ本体からメディア、一括編集、アクティビティログ、Webhook まで、PolyDrobe が保持するすべてのプロジェクトリソースにアクセスできます。以下のグループがその全体像です。各リソースは slug ベースの URL を使います。
Projects: GET|POST /v1/projects/
GET|PATCH|DELETE /v1/projects/{slug}/
Assets: GET|POST /v1/projects/{slug}/assets/
GET|PATCH|DELETE /v1/projects/{slug}/assets/{slug}/
Variants: GET|POST /v1/projects/{slug}/assets/{slug}/variants/
GET|PATCH|DELETE .../assets/{slug}/variants/{slug}/
GET /v1/projects/{slug}/variants/ (flat list)
Media: GET .../variants/{slug}/images/
PATCH|DELETE .../variants/{slug}/images/{uuid}/
GET .../variants/{slug}/textures/
DELETE .../variants/{slug}/textures/{uuid}/
Bundles: GET|POST /v1/projects/{slug}/bundles/
GET|PUT|PATCH|DELETE /v1/projects/{slug}/bundles/{slug}/
GET|POST /v1/projects/{slug}/bundles/{slug}/items/
DELETE .../bundles/{slug}/items/{variant_slug}/
Collections: GET|POST /v1/projects/{slug}/collections/
GET|PUT|PATCH|DELETE .../collections/{slug}/
GET .../collections/{slug}/items/
POST .../collections/{slug}/members/
DELETE .../collections/{slug}/members/{variant_slug}/
POST .../collections/{slug}/duplicate/
Classification: GET|POST /v1/projects/{slug}/{categories|tags|rarities|releases|currencies|statuses}/
PATCH|DELETE /v1/projects/{slug}/{entity}/{slug}/
Favorites: GET /v1/projects/{slug}/favorites/
POST|PUT|DELETE /v1/projects/{slug}/favorites/{kind}/{uuid}/
Team: GET|POST /v1/projects/{slug}/members/
PATCH|DELETE /v1/projects/{slug}/members/{user_id}/
Bulk: POST /v1/projects/{slug}/bulk/variants/update/
POST /v1/projects/{slug}/bulk/variants/delete/
Search: GET /v1/projects/{slug}/search/?q=term&type=all
Activity: GET /v1/projects/{slug}/activity/
Export: GET /v1/projects/{slug}/export/?format=json
Webhooks: GET|POST /v1/projects/{slug}/webhooks/
PATCH|DELETE /v1/projects/{slug}/webhooks/{uuid}/
MCP サーバーのセットアップModel Context Protocol を使って、AI アシスタント(Claude、ChatGPT)を PolyDrobe に接続します。Proプランで利用できます。
1. 個人用アクセストークンを発行する
「ワークスペース設定」>「API トークン」を開き、新しいトークンを作成します。名前は AI クライアントに合わせて付けます(「Claude Desktop」「Claude Code」など)。読み取りと書き込みのスコープを選択し、有効期限は長め(1 年または無期限)にします。トークンは表示されたときにコピーしてください。一度しか表示されません。
# Your token will look like this: pdtk_a8f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5... # Use this token in the configuration steps below. # The same token works for both REST API and MCP server.
2. Claude Desktop を接続する
Claude Desktop の設定に PolyDrobe の MCP サーバーを追加します。claude_desktop_config.json を開き、次のエントリを追加してください。
{
"mcpServers": {
"polydrobe": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://polydrobe.app/mcp"],
"env": {
"MCP_HEADERS": "Authorization: Bearer pdtk_abc123..."
}
}
}
}
3. Claude Code を接続する
Claude Code CLI を使って、ターミナルから MCP サーバーを追加します。
claude mcp add polydrobe \ --transport http \ --url https://polydrobe.app/mcp \ --header "Authorization: Bearer pdtk_abc123..."
4. ローカル開発(stdio モード)
ローカル開発では、HTTP を使わずに stdio 経由で MCP サーバーを直接実行します。指定したユーザーとして事前に認証されます。
python manage.py mcp_stdio --user=your-username
# Claude Desktop config for local stdio:
{
"mcpServers": {
"polydrobe-local": {
"command": "python",
"args": ["manage.py", "mcp_stdio", "--user=your-username"],
"cwd": "/path/to/polydrobe"
}
}
}
5. 試してみる
接続したら、AI アシスタントに自然言語でプロジェクトデータについて質問できます。
# Example prompts for your AI assistant: "List all my projects" "Show me the assets in project 'cyber-skins'" "Create a new asset called 'Neon Jacket' in the 'outerwear' category" "Search for legendary variants with price above 20" "Set up categories: Headwear, Outerwear, Footwear, Accessories" "Tag all sword assets with 'melee' and 'weapon'" "Export the project data as JSON" "Give me a project overview with sample thumbnails"
利用できる MCP ツール
PolyDrobe の読み取り、書き込み、検索、エクスポートの各操作は、すべてツールとして公開されています。AI アシスタントは接続時にカテゴリ別に分類された一式を検出するため、設定は必要ありません。
Projects: list_projects, get_project, create_project,
update_project, delete_project
Assets: list_assets, get_asset, create_asset,
update_asset, delete_asset
Variants: list_variants, create_variant,
update_variant, delete_variant
Bundles: list_bundles, get_bundle, create_bundle,
update_bundle, delete_bundle, list_bundle_items,
add_bundle_item, remove_bundle_item,
find_bundles_containing_variant
Collections: collections_list, collections_get,
collections_create, collections_update,
collections_delete, collections_add_member,
collections_remove_member, collections_duplicate
Classification: list_categories, create_category, update_category,
delete_category, list_tags, create_tag, delete_tag,
list_rarities, create_rarity, list_releases,
create_release, list_currencies, create_currency,
list_statuses, create_status
Tags: add_asset_tags, remove_asset_tags,
add_variant_tags, remove_variant_tags
Favorites: list_favorites, add_favorite,
remove_favorite, toggle_favorite
Team: list_members, update_member_role, remove_member
Search: search (full-text across assets & variants)
Activity: get_activity_log
Images: fetch_variant_thumbnail, fetch_variant_image,
fetch_variant_texture, set_variant_thumbnail
Bulk: bulk_create_variants, bulk_update_variants,
bulk_delete_variants
Data: export_project, import_project_data
本番環境向けの OAuth 2.1(上級者向け)
CI/CD パイプラインやサーバー間連携では、個人用トークンの代わりに OAuth 2.1 のクライアントクレデンシャルフローを使えます。OAuth アプリケーションの設定については、サポートまでお問い合わせください。
# Exchange client credentials for an access token: curl -X POST https://polydrobe.app/o/token/ \ -d "grant_type=client_credentials" \ -d "client_id=your-client-id" \ -d "client_secret=your-client-secret" \ -d "scope=read write" # For most use cases, personal access tokens from # Workspace Settings > API Tokens are simpler and sufficient.
誰が何をできるか
それぞれが何を変更する必要があるかで線を引いた 3 つのロール。閲覧者は無料のままです。
所有者
プロジェクト設定、プラン制限、チームアクセスを管理します。
- プロジェクト設定
- 請求
- チーム管理
- アセットを作成または編集
- インポートとエクスポート
- 読み取り専用ブラウジング
編集者
アセット、バリアント、運用データを作成・更新します。
- プロジェクト設定
- 請求
- チーム管理
- アセットを作成または編集
- インポートとエクスポート
- 読み取り専用ブラウジング
閲覧者
レビュー、QA、共有目的でプロジェクトデータを参照します。
- プロジェクト設定
- 請求
- チーム管理
- アセットを作成または編集
- インポートとエクスポート
- 読み取り専用ブラウジング
よくある質問
PolyDrobe とは何ですか?
PolyDrobe はどのような種類のアセットを管理できますか?
PolyDrobe は 3D モデルのプレビューに対応していますか?
ゲームアセットの管理において、PolyDrobe は Google Sheets とどう違いますか?
PolyDrobe は Notion や Airtable と何が違いますか?
PolyDrobe はどのゲームエンジンに対応していますか?
AI エージェントから PolyDrobe を操作できますか?
REST API と MCP サーバーの違いは何ですか?
API のアクセストークンはどうやって取得しますか?
PolyDrobe はチームでの共同作業に対応していますか?
各スキンはアセットとバリアントのどちらで管理すべきですか?
命名規則を統一するには?
プロジェクトデータを外部共有できますか?
Freeプランには何が含まれますか?
閲覧者の席は課金対象に含まれますか?
PolyDrobe は SaaS 製品ですか?
既存のアセットデータを PolyDrobe にインポートできますか?
Google Sheets インポート用のテンプレートには、どの列が必要ですか?
Google Sheets のインポートで「Spreadsheet metadata could not be loaded」と表示されるのはなぜですか?
プロジェクトごとに Google を接続する必要がありますか?
よくある問題
最も頻繁な問題への迅速な解決策。
権限不足
操作できない場合はロールを確認し、所有者にアクセス更新を依頼してください。
インポート時の検証エラー
再実行前に必須項目、category slug、enum 値を確認してください。
メディアアップロードの問題
ファイル形式、サイズ、ストレージ使用量がプラン制限内か確認してください。
Google Sheets:「Spreadsheet metadata could not be loaded」と表示される
そのファイルは、ネイティブの Google スプレッドシートではなくアップロードした .xlsx である可能性が高いです。ファイルを開いて File > Save as Google Sheets を選択し、同期プロファイルで「参照」をクリックして、変換後のファイルを選び直してください。あわせて、接続中の Google アカウントがそのスプレッドシートを開けるかも確認してください。
Google Sheets: アセットやバリアントが「Tag not found」「Category not found」で失敗する
参照先のエンティティは、何かがそれを指すより先に存在している必要があります。インポートはワークシートを順番に処理するため(Currencies > Rarities > Releases > Tags > Categories > Assets > Variants)、インポートに失敗したカテゴリはその配下のアセットも巻き込みます。ドライランのプレビューを上から読み、最も前段のエンティティ種別から修正してください。
Google Sheets: バリアントの価格が「invalid price」になる
インポートは小数点の区切りとしてピリオド(9.99)とカンマ(9,99)の両方を受け付けます。エラーが続く場合は、価格セルに余分な文字、通貨記号、空白がないか確認してください。