local CorePackages = game:GetService("CorePackages") local Url = require(CorePackages.AppTempCommon.LuaApp.Http.Url) --[[ This endpoint returns a promise that resolves to: [ { "final": true, "url": "string", "retryToken": "string", "universeId": 0, "placeId": 0 }, {...}, ... ] ]] -- requestImpl - (function>(url, requestMethod, options)) -- imageTokens - (array) the placeIds of the places you want to get thumbnails for -- height - (int) the height of the asset to render -- width - (int) the width of the asset to render return function(requestImpl, imageTokens, height, width) local args = {} if height then table.insert(args, string.format("height=%d", height)) end if width then table.insert(args, string.format("width=%d", width)) end -- append all of the thumbnail tokens local totalTokens = 0 for _, value in pairs(imageTokens) do totalTokens = totalTokens + 1 table.insert(args, string.format("imageTokens=%s", value)) end if totalTokens == 0 then error("cannot fetch thumbnails without tokens") end -- construct the url local url = string.format("%sv1/games/game-thumbnails?%s", Url.GAME_URL, table.concat(args, "&")) -- return a promise of the result listed above return requestImpl(url, "GET") end