Access-Control-Allow-Origin: *)に対応しています。AI アシスタントなど、HTTP リクエストを送れるツールから直接コード生成を依頼する用途を想定しています。
すべてのパスは
https://www.makkii.jp を前置してアクセスします。
POST /api/generate
リクエストボディには、セーブ管理と設定の入出力でエクスポートされる設定 JSON と同じ形式のオブジェクトを渡します。settings や frames の一部のフィールドを省略した場合、既定値で補われます。frames 配列自体が無い場合は、エラーにはならずアプリの初期サンプル構成が使われます。
rawLength: 生成されたコードそのものの文字数compactLength: コメント・空白を単純に削った場合の推定文字数minifyEstimateLength: local 識別子の短縮も模した推定文字数remaining:targetChars - minifyEstimateLengthwarnings.duplicateNames: 名前が重複しているオフセットの一覧warnings.dynamicCount: 動的オフセットの個数warnings.outputCount: 生成される出力変数の総数
minifyEstimateLength は実際の Lua minifier の結果と一致するとは限りません。使用する minifier で最終的な文字数を確認してください。
Lua を直接返す
クエリパラメータ?format=lua を付けるか、リクエストヘッダーに Accept: text/plain を指定すると、JSON エンベロープの代わりに生成された Lua コードそのものをプレーンテキストで返します。
エラー
POST以外のメソッドでアクセスすると405を返します。- リクエストボディが JSON として解析できない場合、
400と{"ok": false, "error": "invalid JSON body"}を返します。 - コード生成自体が失敗した場合も
400を返します。
GET /api/example
サンプル構成(静的な center オフセットと動的な rotor/camera オフセット)を { "description": ..., "request": ... } の形で返します。request の中身がそのまま /api/generate に投げられるリクエストボディです。