If your image or 3D model generation didn't complete successfully, don't worry — here's what may have happened and what you can do about it.
Will I be charged if my generation fails?
No. If a generation fails, your credits are automatically refunded. Learn more about our credit refund policy →
Common reasons a generation might fail
1. Input image issue
If you uploaded a reference image, it may not have been processable. This can happen if:
The file format isn't supported (use JPG or PNG)
The image is corrupted, too small, or very low resolution
The image contains mostly transparent pixels or is nearly blank
What to try: Re-export your image as a clean JPG or PNG and try again.
2. Our servers are busy
During high-traffic periods, some tasks may time out before completing.
What to try: Wait a few minutes and resubmit your generation.
3. An unexpected pipeline error occurred
Occasionally, our 3D generation pipeline encounters an internal error — this is usually transient and not caused by your input.
What to try: Simply retry the same generation. If the problem persists, please contact support.
4. Content policy violation
Prompts or images that violate Meshy's content policy will be blocked. Review our Terms of Service and revise your prompt or image accordingly.
5. Text-to-image guardrails triggered incorrectly
Our text-to-image feature uses third-party safety systems with stricter filtering than our 3D generation pipeline. These filters can sometimes flag content incorrectly, including:
Fantasy/horror themes — zombies, skeletons, undead characters
Red or dark liquids mistaken for blood (e.g. potions, lava, wine)
Weapon or combat imagery, even in stylized or cartoon contexts
Partially dressed characters
This is a known limitation of our current text-to-image pipeline. What to try: Adjust your prompt and try generating again.
6. (API users only) Fetching results too early
If you're using the Meshy API and retrieving the model URL before the task reaches 100% progress, you may get an error.
What to try: Poll the task status endpoint until progress is 100 and status is SUCCEEDED before fetching the output. See API error reference →
