{"rid":"storage/sketchfab","card":{"rid":"storage/sketchfab","eid":"sketchfab","topic":"storage","slug":"sketchfab","provider":"Sketchfab (3D model hosting, Epic Games)","url":"https://sketchfab.com","domain":"sketchfab.com","category":"media","tier":null,"verdict":"fails-quota","vorder":6,"grp":"rejected","confidence":"reported","binding":"per-object-cap","identity_kind":"email","identity_basis":"defaulted","needs_card":null,"needs_phone":null,"needs_id":null,"needs_institution":null,"country":null,"crypto":null,"interfaces":"rest","egress_metered":0,"per_object_bytes":100000000,"retention_days":null,"verified_at":"2026-10-21T00:00:00.000Z","verified_basis":"inherited","checked_on":"2026-10-21","stale_on":"2026-11-04","n_evidence":2,"usd_month":null,"usd_per_tb_month":null,"summary":"Free 'basic' plan is 10 uploads/month with a per-model cap that the two official pages disagree on: /features says 50 MB for Free / 200 MB Pro / 500 MB Premi...","duplicate_of":null,"n_unknown":6},"record":{"topic":"storage","slug":"sketchfab","provider":"Sketchfab (3D model hosting, Epic Games)","url":"https://sketchfab.com","category":"media","free_tier":{"stated":"Free 'basic' plan is 10 uploads/month with a per-model cap that the two official pages disagree on: /features says 50 MB for Free / 200 MB Pro / 500 MB Premium, while the /plans comparison table renders 100 MB / 200 MB / 500 MB for basic / pro / custom. Either way the Free cap is 50–100 MB per model (mesh + textures + everything), so the ambiguity does not change the verdict. A model marked downloadable does not count against the monthly upload count.","unit":"MB","metered_on":"unstated","source_url":"https://sketchfab.com/features","read_on":"2026-10-21","notes":null},"per_object_cap":{"stated":"Per-object-cap 50–100 MB","bytes":100000000,"source_url":"https://sketchfab.com/features","notes":"not stated"},"retention":{"stated":"Per-object-cap 50–100 MB free (docs conflict, see quota); the binding constraint is the request-rate equivalent of 10 uploads/month; retention is indefinite but content is re-processed into a viewer pipeline, so byte-exactness of textures is not guaranteed for display purposes.","source_url":"https://sketchfab.com/features","notes":"not stated"},"egress":{"terms":"Free and CDN-served; the original file is retrievable when the author enables download, and there is a Viewer API and oEmbed/iframe embedding. No egress pricing.","metered":false},"interface":["rest"],"interface_detail":"rest","tooling":"Documented REST API with bulk upload support ('Bulk uploads: Via API'); community Python/js clients; glTF/OBJ/FBX/PLY/STL and ~25 other formats accepted.","chaining":"10 uploads/month x ~50–100 MB = 0.5–1 GB/month per account, and the cap only applies to models left non-downloadable. Multiplying accounts is the only path, and the per-object cap never rises above 100 MB.","limits":[{"kind":"request-rate","value":"10 uploads/month","source":"https://sketchfab.com/features"},{"kind":"per-object-cap","value":"Per-object-cap 50–100 MB","source":"https://sketchfab.com/features"}],"limits_note":"Per-object-cap 50–100 MB free (docs conflict, see quota); the binding constraint is the request-rate equivalent of 10 uploads/month; retention is indefinite but content is re-processed into a viewer pipeline, so byte-exactness of textures is not guaranteed for display purposes.","identity_cost":{"kind":"email","detail":null,"country":null},"reliability_note":"Stable commercial host (Epic-owned), but the per-file cap is the smallest in this dossier and the monthly upload count turns it into a trickle; models can also be disabled.","confidence":"reported","confidence_note":"One page read moves it to documented.","evidence":[{"url":"https://sketchfab.com/features","date":"2026-10-21","proved":"'Max upload size: 50MB for Free accounts, 200MB for Pro accounts, 500MB for Premium accounts'; 'Bulk uploads: Via API'"},{"url":"https://sketchfab.com/plans","date":"2026-10-21","proved":"free basic plan 'Uploads / month: 10'; 'A model that is downloadable doesn't count against this limit'; compare table renders 'Maximum file size per model: 100MB' for basic, which CONTRADICTS /features' 50 MB — recorded as a docs conflict, verdict unaffected"}],"verdict":"fails-quota","verified_at":"2026-10-21T00:00:00.000Z","notes":"Free 'basic' plan is 10 uploads/month with a per-model cap that the two official pages disagree on: /features says 50 MB for Free / 200 MB Pro / 500 MB Premium, while the /plans comparison table renders 100 MB / 200 MB / 500 MB for basic / pro / custom. Either way the Free cap is 50–100 MB per model (mesh + textures + everything), so the ambiguity does not change the verdict. A model marked downloadable does not count against the monthly upload count.","extras":{"dead_end":{"failure_class":"quota","why":"Free 'basic' plan is 10 uploads/month with a per-model cap that the two official pages disagree on: /features says 50 MB for Free / 200 MB Pro / 500 MB Premium, while the /plans comparison table renders 100 MB / 200 MB / 500 MB for basic / pro / custom. Either way the Free cap is 50–100 MB per model (mesh + textures + everything), so the ambiguity does not change the verdict. A model marked downloadable does not count against the monthly upload count.","retry_when":null,"first_recorded":"2026-10-21"}},"binding":"per-object-cap","binding_note":"the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota"},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":50,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"},{"path":"$.limits[0].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[1].value","kind":"limit:per-object-cap","num":100,"unit":"MB","per":null,"currency":null,"usd":null,"fx_date":null,"parse":"ok"}],"unknown":[["$.extras.dead_end.retry_when","process"],["$.free_tier.notes","process"],["$.identity_cost.detail","defaulted"],["$.identity_cost.kind","identity-defaulted"],["$.per_object_cap.notes","not-extracted"],["$.retention.notes","not-extracted"]],"history":[],"drift":[]}