Cesium Ion - Google 3D Tiles API Limit

Hi,

We are currently using google 3D tiles to stream into Unity, during development we have met the API limit of 300 a few times which stops the tiles being loaded in for that day.

If we were to use a paid account with Cesium ION and streamed these in as an asset, would we still encounter googles API limit?

Many Thanks

2 Likes

Hi @Kai_Fraser, the Google Photorealistic 3D Tiles limit will not impact you if the tiles are streamed via Cesium ion. Hope that helps!

Hi @janine thanks for your response.

From looking at using Cesium ION to stream in the 3D tiles the documentation says that there is a limit of 1000 root tile requests per month.

We have currently hit the limit of googles 300 requests per day a fair few times while developing our applications with in unity.

So with 1000 a month it seems like we might hit this fairly quickly. I think once deployed these requests would be reduced, however we are working on multiple applications where we will be using Cesium to stream in 3D tiles.

From my understanding a request will be sent every time we click play, so with multiple devs on a project who all need to test out different features, what would be the best way to reduce the number of requests?

Would it be to turn off Cesium until absolutely necessary?

Could we cache the tiles so that it doesn’t send requests?

Any advice or tips would be much appreciated while we decide which route to take to stream in the tiles. (We are still a bit new to using Cesium)

Many Thanks

Kai

1 Like

Hi Everyone, the root tile limits are a big issue. For example, if we have, for instance, 10,000 users of our app, and each user might use the app several times per day. We would quickly find our users blocked due to this restriction. The Google API indicates a 300 limit restriction and yet their pricing Platform Pricing & API Costs - Google Maps Platform indicates that one could scale to potentially 500,000+ root tile requests per month (around $2,700). The math doesn’t add up because if one were limited to 300 root tile requests per day and multiply that by say 30 days, that is a maximum of 9000 requests per month. How could you ever get to that 500,000 amount which the API cost calculator shows? My question is, the Google price calculator clearly indicates that there isn’t a limit as it shows pricing way beyond 300 per day. So how does one bypass this limit? If we stream through Cesium, are there any limits like the 1000 mentioned by @Kai_Fraser? The cesium limit is 9 times stricter than the Google limit meaning one would have to forgo any chance of using Google photorealistic tileset for any serious commercial applications with volume customers.

Hello,

At the moment there are only a few of us who are using Google 3D tiles but this will change soon so it will impact us too
I think the solution is make the root tileset query in the server and share this with your authenticated clients. This will require a little custom development server side and Cesium. Will keep you informed

Hi @carlopiersanti, thanks for the suggestion, however, our cesium app is instantiated on every client, therefore, each client makes the request directly to Cesium. We do not use a typical client-server web-based model. Think more electron/docker app. So the currently limited model used by both Cesium and Google needs to be rethought. The use case is for a root tileset request made by every client using an app, either shipped our way (locally installed as mentioned) or using a game engine model (Unity/Unreal). Either way, this ill-thought out policy needs to be addressed. The example mentioned gives a business case where 10,000 users perform multiple root tile requests per day, let’s say 10 each. At 100,000 root tile requests per day the costs will be prohibitive and a commercial product unviable. This is a serious issue. The solution needs to grant on the order of millions of root tile requests per day at a very reasonable cost, or better yet, package the Google photorealistic tileset with the Cesium ION self-hosting bundle … at a reasonable price. This would allow unlimited root tile requests and not impact Google’s or Ceisum’s CDNs.

p.s. As Cesium folk aren’t responding and seemingly disinterested in this point, a possible alternative could come from Microsoft’s investment direction. https://blackshark.ai/. Blackshark.ai | Creating a digital twin of planet earth.
Let’s see what they release in terms of pricing and scaling.

Hi @Kai_Fraser and @tsf,

I’m terribly sorry for the time it took to respond. There were some delays in composing a formal answer due to various factors.

The initial response is incorrect, because it mistakenly read the question as concerning regular tiles, not root tiles. Yes, the formally-stated limits between Google and Cesium ion usage are different. Whether Cesium or the Google API is a better choice depends on the nature of your usage.

In reality, the quota is there to protect you as a user from spending more than you intend to. To my knowledge, you can contact Google through support and request an increase in your quota. Similarly, if you prefer to use Cesium ion but need a higher quota, you can contact sales@cesium.com to define a custom Cesium ion SaaS plan.

I hope these options can offer you more flexibility for how you develop your application.

Hi Janine, the sales team referred me to Google as they do not offer a solution for Google’s photorealistic tiles.

Hi @tsf,

There may have been some miscommunication about plans involving Cesium ion SaaS vs. Cesium ion Self-Hosted. Currently, Google Photorealistic 3D Tiles are only available through SaaS, not Self-Hosted. A team member will follow-up for clarification. Thank you for your patience. :pray:

Hi Janine, I have been waiting to speak with the sales team again but I haven’t heard back from them with regards to the situation I outlined. I post it here in case I have it wrong and someone can correct me.

The Problem.

If one is developing a commerical app that is deployed locally:

  • Android/IOS mobile app
  • Electron or docker app
  • Unity / Unreal app

and you charge a one-time fee for it, let’s say $20. If you get 10,000 downloads your gross revenue is 10,000 x $20 = $200,000.

Google charges per root tile request, at roughly (rounding up) $3,000 per 500,000.
If users use the app 10 times in a day then 10 requests x 10,000 users = 100,000 requests per day.

The cost to Google alone would be approximately $3,000 every 5 days.

If our revenue was only $200,000 then we would give all that revenue to Goolge in about 66 days, thus going insolvent in much less than two months, as there are many other costs on top of just Google’s. Therefore, how can we become commercially viable under this pricing model?

Of course, if you are lucky (unlucky?) enough to get 100,000 downloads, you won’t survive the week, commerically speaking. And typically, we would like to offer our customers a free trial period. This would mean no revenue for us, while still incurring huge fees for Google.

Hope you can help.

Just wanted to follow up here. Spoke with Sales just now and they will be looking into it.

Hey @tsf,

I can understand your concerns about using Photorealistic 3D Tiles for your app. I’ve been in touch with our sales team since you first posted, and we are aware of your use case and its concerns regarding the quotas. It sounds like they just had a meeting with you today that had been scheduled since January, and I hope all of your above points have been addressed. I suggest we consolidate this discussion over email so we don’t have to jump between email and forum, which can cause confusion due to the different contexts.

I believe @Trent_Cesium is in contact with you already. Feel free to email him at trent.tinker@cesium.com with any follow-up questions and concerns. Thank you so much!

Thanks Janine, the support is much appreciated.