We use Luau Execution to sync a shared codebase and VFX model (about 10 MB serialized) into roughly 12 sub-places without opening each one in Studio.
Calling AssetService:SavePlaceAsync() from open cloud luau execution works for small places but not large ones.
PublishService AssetUpload failed. Info: single part asset create call failed HTTP StatusCode: 400, Message: “Form data is null”
The same place at the larger size publishes from Studio without any problem
Steps to reproduce
-
Create an Open Cloud API key with the scope universe.place.luau-execution-session:write on the experience
-
Take a place whose serialized size is under about 7 MB. Create a Luau Execution task on it (POST /cloud/v2/universes/{universe}/places/{place}/luau-execution-session-tasks) with this script, where the model asset is around 10 MB when serialized:
local container = game:GetService("InsertService"):LoadAsset(MODEL_ASSET_ID)
container.Parent = game.ServerStorage
game:GetService("AssetService"):SavePlaceAsync()
-
It completes, but the log shows the “Form data is null” error and no new place version is created.
-
Change the script to destroy enough of the inserted content that the place total drops below about 8 MB, then run the task again. SavePlaceAsync succeeds and a new Published version appears.
Expected behavior
SavePlaceAsync from a Luau Execution task should save places of the same size Studio can publish, or at minimum the size limit should be documented.
A private message is associated with this bug report