Processing errors and warnings
When the app finds a problem in a model file, it shows a short title and a "How to fix this" link to the matching section below.
Errors stop the upload from being used: your storefront keeps showing what it showed before (the previous version of the model, or no 3D). Warnings don’t stop it: the model is ready, but something was changed or one feature (for example Android AR) isn’t available.
On the model page, each problem shows a plain explanation; the exact technical text (for example the name of a missing texture or the list of extensions) is behind Technical detail. Open it: it often names exactly what to fix.
You can upload a fixed file at any time: open the model and use Upload fixed file, or Versions › Replace the model file. Each run counts against your processing allowance, except as noted in Which failed runs count.
| Code | Title in the app | Kind |
|---|---|---|
UNSUPPORTED_FORMAT |
Unsupported file format | Error |
ZIP_UNSAFE |
Zip file rejected | Error |
AMBIGUOUS_MAIN_FILE |
More than one model file in the zip | Error |
INVALID_GLTF |
Part of the model’s shape data is missing | Error |
OVER_BUDGET |
Model is too large or too complex | Error |
CONVERSION_FAILED |
Conversion failed | Error |
CONVERSION_TIMEOUT |
Conversion took too long | Error |
OPTIMIZE_FAILED |
We couldn’t optimize this model | Error (on our side) |
USDZ_OVERRIDE_MISMATCH |
iOS AR file does not match its slot | Error |
UPLOAD_EXPIRED |
Upload expired or changed | Error |
UPLOAD_SIZE_MISMATCH |
Uploaded file size does not match | Error |
SUPERSEDED |
Replaced by a newer upload | Error |
MISSING_TEXTURES |
Missing textures | Warning |
ANIMATION_STRIPPED |
Animation removed | Warning |
SKIN_STRIPPED |
Skeleton removed | Warning |
MORPH_STRIPPED |
Shape keys removed | Warning |
WEB_OVER_TARGET |
Web model is larger than recommended | Warning |
SCENE_VIEWER_UNAVAILABLE |
Android AR is not available | Warning |
AR_OVER_BUDGET |
AR file is too large | Warning |
USDZ_FAILED |
iOS AR file could not be created | Warning |
QUICK_LOOK_UNAVAILABLE |
iOS AR is not available | Warning |
Model statuses
Each model on Models has one status:
| Status | Meaning | What to do |
|---|---|---|
| Uploading | The file is on its way. | Wait. You can use other pages of the app meanwhile; don’t close the browser tab. |
| Processing | The app is checking and optimizing the file (usually under 2 minutes). | Wait. You can leave the page. |
| Ready | Shoppers can see it on products that use it. | — |
| Not processed | The file arrived but processing didn’t start, usually because a limit was reached. | See Limits and “not processed”. |
| Upload not finished | The file didn’t arrive completely (the page was closed or the session ended). | Finish upload if the file was fully sent, or Upload again. |
| Couldn’t process | A problem on our side, not your file. | Try again. See OPTIMIZE_FAILED. |
| File needs a fix | The file has a problem listed on this page. | See the problem, fix the file, upload it again. |
| Hidden (plan limit) | Kept, but not shown to shoppers because your plan’s model limit is reached. | See Plan and usage. |
If a model is already Ready and a newer upload of it fails, the status stays Ready with a note such as “Last update failed”. Shoppers keep seeing the ready version.
Messages before the upload
When you choose a file, the app checks it in your browser before uploading. These messages appear under the file and the Upload button stays disabled:
| Message | What to do |
|---|---|
| The file is empty. | Export the file again; the file you chose has no content. |
| The zip file could not be read. | Create the zip again with your computer’s standard Compress feature. |
| The zip contains no .gltf, .glb, .obj or .fbx file. | Put the model file in the zip. |
| The zip contains N model files; keep exactly one. | See AMBIGUOUS_MAIN_FILE. |
| This file type is not supported. Use GLB, glTF (zip), OBJ (zip), FBX or STL. | See UNSUPPORTED_FORMAT. |
| The file is larger than 100 MB. (or 200 MB for a zip) | Reduce textures and polygons (OVER_BUDGET) and export again. |
Errors
Unsupported file format
Error UNSUPPORTED_FORMAT
What it means. The app can’t read this kind of file. It’s not GLB, glTF, OBJ, FBX or STL; or a zip has no model file in it; or a texture is not PNG, JPEG or WebP.
Why it happens. A file was renamed to .glb but is really another format; a .gltf or .obj was uploaded
without zipping; textures were saved as KTX2, TGA, TIFF, BMP, AVIF or PSD.
How to fix it.
- Upload a GLB, a zip with a glTF, OBJ or FBX model, a single FBX, or an STL file. Renaming a file doesn’t change its format; export it in the right format instead.
- Convert textures to PNG or JPEG (or WebP), relink them in your 3D software, and export again.
- Blender: in each material’s image texture node, open the image and use Image › Save As with PNG or JPEG. Then export as GLB (steps).
- 3ds Max / Maya: save the bitmaps as PNG or JPEG, relink them in the material editor, export again.
- SketchUp: materials using other image formats should be re-imported as PNG or JPEG before export.
- If unsure, export GLB from your 3D software. GLB is the most reliable format.
Contact support if the file opens in a glTF viewer but the app still says the format is unsupported.
Zip file rejected
Error ZIP_UNSAFE
What it means. The zip breaks one of the app’s safety rules, or it’s damaged.
Why it happens. The zip has more than 500 files, expands to more than 1 GB, has a file compressed more than 100
times, has paths that start at the root or contain .., contains links, is password protected, uses the zip64 format
or an unusual compression method, or has two files whose names differ only in upper and lower case. Some archive
tools and online services create such zips.
How to fix it.
- Make a fresh zip with your computer’s standard Compress (Mac) or Send to › Compressed (zipped) folder (Windows). No password.
- Put only the model file and the textures it uses inside. Remove backups and source files (
.blend,.max,.psd). - Keep it under 500 files and 1 GB unzipped.
- Or skip the zip: export a single GLB.
More than one model file in the zip
Error AMBIGUOUS_MAIN_FILE
What it means. The zip has more than one .gltf, .glb, .obj or .fbx file, so the app can’t tell which one
is the model. The technical detail lists the files found.
How to fix it.
- Remove every model file except the one you want (exporters often leave an older copy or a second format next to it).
- Upload other models separately: one model per upload.
- Zip again and upload.
Part of the model’s shape data is missing
Error INVALID_GLTF
What it means. The glTF or GLB file is damaged or doesn’t follow the glTF 2.0 standard. Typically a mesh points to more data than the file contains.
Why it happens. The export was interrupted, the file was cut off while copying or downloading, it was edited by hand, or it came from an exporter or converter that writes invalid glTF. Duplicated, empty or overly long (more than 64 characters) material option names cause this error too.
How to fix it.
- Export the model again from your 3D software as glTF 2.0 / GLB.
- Blender: File › Export › glTF 2.0 (settings).
- 3ds Max / Maya: use an up-to-date glTF exporter; or export FBX and let the app convert it.
- SketchUp: use an up-to-date glTF exporter extension, or export OBJ and zip it with its textures.
- Open the result in a free viewer such as the Khronos glTF Sample Viewer or a glTF validator to confirm it loads without errors.
- If you use material options, give each one a different short name.
- If the file came from an online converter, export from the original software instead, or try another converter.
Contact support if the file passes the Khronos glTF Validator with no errors and the app still shows this error.
Model is too large or too complex
Error OVER_BUDGET
What it means. The model is over one of the limits. The technical detail shows the value measured.
| Limit | Value |
|---|---|
| Triangles | 500,000 |
| Texture size | 8,192 px per side; 64 million pixels for all textures together |
| Objects (nodes) | 5,000 |
| Material options | 20 |
| Website model after optimization | 15 MB |
It also appears when processing stopped repeatedly while reading or converting the file because it is too heavy.
How to fix it.
- Triangles: reduce to 500,000 or fewer; 100,000 or fewer is much better for phones.
- Blender: add a Decimate modifier (Collapse, ratio for example 0.3), check the shape, then export with Apply Modifiers on.
- 3ds Max: ProOptimizer modifier. Maya: Mesh › Reduce.
- SketchUp / CAD exports: lower the export tessellation or curve quality; remove hidden inner parts (screws, internal components) that shoppers never see.
- Textures: resize each texture to 2,048 px or less per side (the app shrinks larger ones anyway); combine many small textures into fewer.
- Objects: join parts that don’t need to stay separate (Blender: select them and press Ctrl+J).
- Material options: keep 20 or fewer.
- Export again and upload.
Conversion failed
Error CONVERSION_FAILED
What it means. The app couldn’t convert the file into a model it can optimize. The technical detail gives the cause when it’s known.
Why it happens.
- a file the model refers to (a
.binbuffer or a texture) is missing from the zip; - a file refers to a web address or to a path outside the zip;
- an OBJ has no faces, or faces that point to missing data;
- an FBX file could not be converted;
- a texture can’t be read;
- the model has no visible geometry;
- the model is posed by a skeleton, or its shape keys are in use (the app shows still models).
How to fix it.
- Put every file the model uses in the zip, with relative paths. In Blender, File › External Data › Pack Resources and exporting GLB avoids missing files altogether.
- Posed or animated models: apply the pose and remove the armature, or set all shape key values to 0, before exporting. In Blender: select the mesh, apply the Armature modifier, delete the armature; for shape keys, use Shape Keys › New Shape from Mix, then remove the others.
- FBX: export GLB (or OBJ) instead. In 3ds Max / Maya, use a glTF exporter if you have one.
- Check that the model has at least one visible mesh with a size above zero.
- Upload again.
Contact support if it keeps failing with a GLB that opens in other glTF viewers. Include the code and the file name.
Conversion took too long
Error CONVERSION_TIMEOUT
What it means. A processing step didn’t finish within its 10-minute limit, or processing stopped unexpectedly several times, or the run still hadn’t finished after 24 hours.
How to fix it.
- Simplify the model: fewer triangles, fewer and smaller textures (see
OVER_BUDGET). - For FBX files, export GLB instead.
- Upload again.
Contact support if a small, simple GLB times out.
We couldn’t optimize this model
Error OPTIMIZE_FAILED
What it means. Your file passed every check, but the website model our optimizer made from it didn’t. This is a problem on our side, not in your file. It is logged automatically and we’ll fix it.
What to do.
- Nothing needs to change in your file. Click Try again now or later. Your storefront keeps showing the current version meanwhile.
- This failed run is returned to your allowance (up to 3 such runs per store per day, UTC). When it is, the app says “This attempt didn’t count toward your allowance.”
- If it fails again, Contact support from the model page. Open Details for support and copy the reference into your email.
iOS AR file does not match its slot
Error USDZ_OVERRIDE_MISMATCH
What it means. On the model’s AR tab you added your own USDZ file for Floor placement or Wall placement, but the file is set to be placed on the other kind of surface, or is not set to a surface at all. The app doesn’t change this setting in your file.
How to fix it.
- Check that the floor and wall files aren’t swapped.
- Floor placement needs a USDZ anchored to a horizontal plane; Wall placement one anchored to a vertical plane. Set this in the tool that made the USDZ (for example Reality Composer), export again and upload.
- Or don’t add your own file, and keep Create the iPhone & iPad file for me when I don’t add one checked.
Upload expired or changed
Error UPLOAD_EXPIRED
What it means. The upload wasn’t completed within 24 hours, or the uploaded file changed or disappeared before it was processed.
How to fix it. Upload the file again and leave the browser tab open until the upload finishes.
Uploaded file size does not match
Error UPLOAD_SIZE_MISMATCH
What it means. The file that arrived isn’t the size your browser announced, so it was probably cut off.
How to fix it. Upload again, if possible on a stable connection.
Replaced by a newer upload
Error SUPERSEDED
What it means. You uploaded a newer file for the same model (or deleted the model) before this one finished, so this one was stopped. Nothing is wrong with your file.
What to do. Nothing. The newer upload is the one that counts. If the stopped run hadn’t started yet, it’s returned to your allowance.
Warnings
The model is ready and published where you use it. A warning tells you something was changed or isn’t available. Warnings show on the model’s AR tab.
Missing textures
Warning MISSING_TEXTURES
What it means. The model points to image files (or an OBJ’s .mtl file) that aren’t in the upload. The model is
published without them, so it can look plain or grey. The technical detail names the missing file.
How to fix it. Add the missing file to the zip, next to the model and with the same name the model uses, and upload again. In Blender, File › External Data › Report Missing Files lists them; exporting GLB packs textures into the file.
Animation removed
Warning ANIMATION_STRIPPED
What it means. The model had animation. Product 3D & AR shows still models, so the animation was removed and the model is shown in its rest pose.
How to fix it. Nothing, if a still model is what you want. To choose the pose, set it in your 3D software and export without animation (Blender: turn off Animation in the glTF export settings).
Skeleton removed
Warning SKIN_STRIPPED
What it means. The model had a skeleton (armature) in its neutral pose. The skeleton was removed so the model
loads on every device. A model posed by its skeleton is refused instead (CONVERSION_FAILED).
How to fix it. Nothing needed. To avoid the warning, export without the armature (Blender: turn off Skinning).
Shape keys removed
Warning MORPH_STRIPPED
What it means. The model had shape keys (morph targets), all at 0. They were removed so the model loads on every
device. A model with shape keys in use is refused instead (CONVERSION_FAILED).
How to fix it. Nothing needed. To avoid the warning, apply or delete the shape keys before exporting (Blender: turn off Shape Keys in the export settings).
Web model is larger than recommended
Warning WEB_OVER_TARGET
What it means. The optimized model for the website is above 5 MB or above 200,000 triangles. It’s published, but it may load slowly on phones and uses more of your plan’s data transfer. The target is 3 MB or less.
How to fix it.
- Resize textures to 2,048 px or less (1,024 px is often enough for small products), and use JPEG for photos-like color textures.
- Reduce triangles (see
OVER_BUDGET); 100,000 or fewer is a good target. - Remove parts shoppers never see.
- Upload the lighter file with Versions › Replace the model file.
Android AR is not available
Warning SCENE_VIEWER_UNAVAILABLE
What it means. For the material option named in the message, the app couldn’t create the Android AR file. The website viewer and iPhone & iPad AR are not affected. On Android, shoppers still get the 3D view, without the AR button.
Why it happens. One of these (the technical detail says which):
- the model uses material extensions Android AR doesn’t support: the detail reads “unsupported extensions: …” (see the next section);
- a material uses a second UV map: the detail reads “material “…” uses a second UV set”;
- the Android AR file failed its final check.
How to fix it.
- Extensions: follow Android AR: unsupported material extensions.
- Second UV map: make every texture use the first UV map. In Blender, in Object Data Properties › UV Maps, keep one UV map (or make sure every Image Texture node uses the first one), then export again.
- Final check failed: upload again; if it repeats, contact support with the model name.
Android AR: unsupported material extensions
This is the most common cause of Android AR is not available.
What it means. glTF has optional material extensions for advanced looks. The website viewer and iPhone & iPad
AR still work with such a model. Android’s AR viewer (Google Scene Viewer) does not support them, so the app does not
create an Android AR file for it. The technical detail lists the extensions found, for example
unsupported extensions: KHR_materials_clearcoat, KHR_materials_sheen.
Android AR in Product 3D & AR accepts only these extensions: KHR_materials_unlit, KHR_texture_transform,
KHR_materials_variants (material options are handled for you), and compression extensions
(KHR_draco_mesh_compression, EXT_meshopt_compression, KHR_mesh_quantization, EXT_texture_webp). Anything else
blocks Android AR, including:
| Extension | What it does | Blender Principled BSDF input that writes it |
|---|---|---|
KHR_materials_sheen |
fabric sheen | Sheen weight above 0 |
KHR_materials_clearcoat |
clear varnish layer | Coat (Clearcoat) weight above 0 |
KHR_materials_transmission |
glass-like see-through | Transmission weight above 0 |
KHR_materials_volume |
thickness of see-through material | used with transmission |
KHR_materials_iridescence |
rainbow-like film | Thin Film / iridescence settings |
KHR_materials_specular |
specular strength and color | Specular settings changed from default |
KHR_materials_ior |
index of refraction | IOR changed from the exporter’s default |
KHR_materials_emissive_strength |
emission brighter than 1 | Emission Strength above 1 |
KHR_materials_anisotropy, KHR_materials_dispersion |
brushed metal, dispersion | Anisotropic, Dispersion |
(Input names vary slightly between Blender versions.)
Android AR doesn’t get a simplified version. The app does not remove these extensions or replace the materials for Android. To get Android AR, upload a file without them.
How to export a version without them.
In Blender (also works for a GLB you got from someone else: File › Import › glTF 2.0):
- Select each object, open the Material Properties, and in every Principled BSDF:
- set Sheen › Weight to 0;
- set Coat › Weight to 0;
- set Transmission › Weight to 0 (for glass, use a low Alpha instead, with the material’s Blend Mode / render method set to blended or dithered);
- set Thin Film thickness to 0 if your version has it;
- set Emission Strength to 1 or less (use a brighter Emission Color instead);
- reset Specular and IOR to their defaults (right-click the field › Reset to Default Value).
- Get the look back with the basic inputs only: Base Color (or its texture), Roughness and Metallic, plus Normal. For example, velvet or fabric: darker base color, roughness 0.8–1.0; varnished wood: roughness 0.2–0.3; brushed or polished metal: metallic 1 with roughness 0.2–0.5.
- File › Export › glTF 2.0, format glTF Binary (.glb), and upload it with Versions › Replace the model file.
- On the model’s AR tab, Android AR should now say Yes.
3ds Max, Maya, SketchUp or other tools: use standard PBR materials (base color, metallic, roughness, normal) without sheen, coat/clearcoat, transmission/refraction, thin film or extra specular settings, and export glTF/GLB again. If your exporter has options for “KHR” material extensions, turn them off.
Online converters: some converters add extensions such as KHR_materials_specular or KHR_materials_ior by
themselves. Import the GLB into Blender and follow the steps above, or try another converter.
You can keep two files: the rich one only matters for the website viewer. If Android AR matters more to you than sheen or clearcoat, upload the simpler file: it’s used for the website, Android and iPhone & iPad alike.
AR file is too large
Warning AR_OVER_BUDGET
What it means. For the material option named in the message, the Android AR file is above 15 MB, or the iPhone & iPad AR file (USDZ) is above 25 MB. That AR isn’t available for it; the website viewer still works.
Why it happens. AR files carry less compression than the website model, so large textures and dense meshes add up.
How to fix it. Reduce texture sizes (2,048 px or less, fewer textures) and the triangle count (see
OVER_BUDGET), then upload again.
iOS AR file could not be created
Warning USDZ_FAILED
What it means. The iPhone & iPad AR file (USDZ) couldn’t be generated, or the USDZ you uploaded didn’t pass the checks, for the material option named in the message. The website viewer and Android AR still work.
How to fix it.
- Upload again: a one-off problem goes away.
- If it repeats, simplify the model (see
OVER_BUDGET). - Or add your own USDZ on the model’s AR tab (how).
Contact support if it keeps happening with a simple model.
iOS AR is not available
Warning QUICK_LOOK_UNAVAILABLE
What it means. For the placement named in the message (floor or wall), there’s no USDZ file you uploaded, and Create the iPhone & iPad file for me when I don’t add one is off, so iPhone & iPad AR isn’t available for that placement. The website viewer and Android AR are not affected.
How to fix it. On the model’s AR tab, check Create the iPhone & iPad file for me when I don’t add one, or add your own USDZ for that placement, then click Upload AR files.
Limits and “not processed”
These messages are about your plan’s limits, not about the file.
Processing limit reached
Titles: Daily processing limit reached, Monthly processing limit reached, Daily limit for presentation changes reached, Monthly limit for presentation changes reached.
What it means. Your plan’s allowance for processing new model files (or for saving starting view and lighting changes) is used up for today or this month. The message says when it resets, in your time zone. Days and months reset at midnight UTC.
What to do. The upload is kept and the model shows Not processed. When the allowance resets, open the model and click Process now. The file is kept for 24 hours after the upload; if the allowance resets later than that, upload the file again after the reset, or change your plan. See processing allowances.
Daily upload limit reached
Titles: Daily upload limit reached, File too large for your plan.
What it means. Your plan allows a total amount of uploaded data per day (for example 5 GB on the beta plan). The message shows how much you uploaded today and when it resets. File too large for your plan means one file is bigger than the whole daily upload allowance.
What to do. Wait for the reset, upload a smaller file, or change your plan.
Model limit reached
What it means. Your plan includes a number of models and all of them are in use, so a new model can’t be added.
What to do. Delete a model you no longer need, or change your plan. Replacing the file of an existing model doesn’t need a free slot.
Several models are processing
What it means. Many uploads are waiting to be processed for your store at the same time.
What to do. Wait until one of them is ready, then try again.
Processing did not start
A temporary problem stopped processing from starting (a busy moment or a lost connection).
What to do. Click Process now again in a moment.
Which failed runs count
- A run that fails while the file is being checked (the first step) or validated is returned to your allowance.
- A run that fails later (conversion or optimization) is not returned, except
OPTIMIZE_FAILED, which is our problem: it’s returned, up to 3 runs per store per day (UTC). - A run replaced by a newer upload before it started is returned.
- Automatic retries on our side don’t use extra allowance.
When to contact support
Email contact@papathemes.com when:
- the error is
OPTIMIZE_FAILEDand Try again fails again; - the section above says to contact us;
- you followed the fix and the same error comes back;
- the file opens without errors in other glTF viewers but the app refuses it.
Include your store name, the model name, the error code, the file name, and the text under Technical detail (or Details for support). If you can, attach the file or a download link. See Support.