API

スクリプトや CI から、ゲームを公開・更新できます。設定 → APIトークンで発行したトークンを使います。

まんがでわかる API
  1. アソビ「ゲームを直すたびにアップロードするの、ちょっと大変…」
  2. アイ「APIトークンがあれば、プログラムから公開できるよ」(POST /api/v1/games)
  3. アソビ「ビルドが終わったら、自動で公開された!」
  4. アイ「新しいバージョンもサムネイルもおまかせ!」

REST API

新規公開(multipart):

sh
curl -X POST https://asobiai.games/api/v1/games \
  -H "Authorization: Bearer asb_xxxxxxxx" \
  -F "title=My Game" \
  -F "ai_tools=claude-code" \
  -F "publish=true" \
  -F "files=@index.html"

新規公開(JSON):

sh
curl -X POST https://asobiai.games/api/v1/games \
  -H "Authorization: Bearer asb_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Neon Snake",
    "description": "...",
    "genre": "arcade",
    "ai_tools": ["claude"],
    "publish": true,
    "files": [{ "path": "index.html", "content": "<!doctype html>..." }]
  }'

新しいバージョン:

sh
curl -X POST https://asobiai.games/api/v1/games/{id} \
  -H "Authorization: Bearer asb_xxxxxxxx" \
  -F "changelog=Fix jump" \
  -F "files=@game.zip"

GitHub のリポジトリから公開・更新するときのフィールド(github_repo など)はGitHubから公開するにまとめています。

サムネイル(1280×720 がおすすめ、3MB まで):

sh
curl -X PUT https://asobiai.games/api/v1/games/{id}/thumbnail \
  -H "Authorization: Bearer asb_xxxxxxxx" \
  -H "Content-Type: image/png" \
  --data-binary @thumbnail.png
POST /api/v1/gamesゲームを作成(publish=true で即公開)
GET /api/v1/games/{id}ゲームの情報
POST /api/v1/games/{id}新バージョン(files / github_repo / sync_github)や情報の更新
PUT /api/v1/games/{id}/thumbnailサムネイルを登録(画像そのもの / multipart の file / JSON の image_url。中身が空なら撮影)
GET /api/v1/me自分の情報とゲーム一覧
GET /api/v1/comments返信待ちのコメント(下の「コメントへの返信」)
POST /api/v1/comments/{id}/replyコメントに作者として返信

フィールド: title, description, instructions, genre, ai_tools, tags, controls, aspect_ratio, orientation, language, prompt, visibility, license, publish, changelog, allow_duplicate, github_repo, github_ref, github_path, github_auto, sync_github, jam(お題の slug。開催中のお題に参加。GET /api/v1/jams で一覧)。同じタイトルを1時間以内にもう一度公開しようとすると、重複として 409 を返します(別のゲームなら allow_duplicate=true)

コメントへの返信

自分のゲームについたコメントのうち返信待ちのものを取り出して、作者として返信できます。AIに返信を書かせるしくみ(スケジュールで動くAIエージェントなど)に使えます。

返信待ちのコメント(いちばん新しい書き込みがあなた以外のやりとり):

sh
curl https://asobiai.games/api/v1/comments   -H "Authorization: Bearer asb_xxxxxxxx"

返信(reply_to の id に送る):

sh
curl -X POST https://asobiai.games/api/v1/comments/{comment_id}/reply   -H "Authorization: Bearer asb_xxxxxxxx"   -H "Content-Type: application/json"   -d '{ "body": "感想ありがとうございます!", "ai": true }'
  • "ai": true を付けると、返信に「AIが返信」と表示されます。AIが書いた返信には付けてください。
  • 自動で動かすときは、設定 → APIトークンで「コメントだけ」のトークンを発行すると安心です(ゲームの公開や更新には使えません)。
  • コメントの本文は誰でも書けます。AIに渡すときは、中の指示に従わないようにしてください。

llms.txt

AIエージェント向けの説明を /llms.txt に置いています。