The Remeshy API provides programmatic access to remeshing technology for automatic 3D mesh optimization and retopology. Submit models via URL, customize processing settings, and receive optimized quad-based meshes in multiple formats.
Data Privacy & Security
Your 3D models are processed in isolation and never used for training. All files are automatically deleted after 24 hours. We never share your data with third parties.
Base URL
https://api.remeshy.com
Authentication
All API requests require authentication using an API key in the X-Api-Key header. Get your API key from the Dashboard.
X-Api-KeyheaderRequired
Your unique API key for authentication. Include in all API requests.
Format: rms_live_xxxxxxxxxxxxx
Credits & Pricing
Simple credit-based pricing. Credits are deducted when jobs are queued.
10
Standard Job
15
With Texture Baking
Credit Refunds
If a job fails due to processing errors (not invalid inputs), credits are automatically refunded to your account.
Quick Start
Get started in three simple steps:
1Create a job
POST your model URL and settings to /api/jobs
2Receive webhook (recommended)
Get notified when complete with download URLs, or poll GET /api/jobs/{job_id}
3Download results
Use the signed URLs to download optimized meshes (valid 24 hours)
Create Job
POST/api/jobs
Submit a new mesh optimization job for processing.
Request Body
file_urlstringRequired
Public URL to your 3D model file. Must be directly downloadable.
Supported: FBX, OBJ, GLB, GLTF, STL, PLY
settingsobject
Processing configuration options (see Parameters section for all available settings)
Retrieve detailed status and results for a specific job.
Use Webhooks Instead
We recommend using webhooks to receive download URLs immediately when jobs complete, rather than polling this endpoint. Signed URLs expire after 24 hours.
Response Fields
idstring
Unique job identifier
statusstring
Current job status: queued, processing, completed, failed, cancelled
progressinteger
Processing progress (0-100)
download_urlsobject
Signed URLs for downloading output files (available when status is completed)
processing_time_msinteger
Total processing time in milliseconds
created_atstring
ISO 8601 timestamp when job was created
completed_atstring
ISO 8601 timestamp when job completed
expires_atstring
ISO 8601 timestamp when download URLs expire (24 hours after completion)
List Jobs
GET/api/jobs
Retrieve a list of your recent jobs with optional filtering.
Query Parameters
limitinteger
Default: 20 • Range: 1-100
Number of jobs to return
statusstring
Filter by job status: queued, processing, completed, failed, cancelled
Angle threshold in degrees for hard edge detection. Lower values detect more edges as "hard".
use_normals_splittingboolean
Default: false
Split vertex normals at hard edges for sharper appearance.
use_interpolationboolean
Default: true
Enable smooth interpolation between vertices for better surface quality.
symmetry_xboolean
Default: false
Enable X-axis symmetry constraint during remeshing.
symmetry_yboolean
Default: false
Enable Y-axis symmetry constraint during remeshing.
symmetry_zboolean
Default: false
Enable Z-axis symmetry constraint during remeshing.
Texture Baking
Additional Cost
Texture baking adds 5 extra credits (15 total per job). This feature transfers textures from the original high-poly mesh to the optimized low-poly mesh.
enable_bakingboolean
Default: false
Enable texture baking from original to remeshed model. Adds 5 credits to job cost.
Output texture resolution in pixels. Higher values preserve more detail but increase file size.
normal_intensityfloat
Default: 0.9 • Range: 0.0-1.0
Normal map baking intensity. Higher values create more pronounced surface details.
ray_distance_multiplierfloat
Default: 2.0 • Range: 0.1-10.0
Ray casting distance for texture projection. Increase if seeing missing texture areas or projection artifacts.
cage_extrusion_multiplierfloat
Default: 2.0 • Range: 0.1-10.0
Cage extrusion amount for baking. Increase to prevent edge artifacts and baking errors.
Mesh Repair
Automatic mesh cleanup and hole filling before remeshing.
close_holesboolean
Default: false
Automatically detect and close holes in the mesh before remeshing. Useful for scanned or damaged models.
max_hole_sizeinteger
Default: 100 • Range: 12-2000
Maximum hole size to close, measured in number of boundary edges. Larger values will close bigger holes but may take longer.
Webhooks
Receive automatic notifications when jobs complete instead of polling. Webhooks include signed download URLs that are immediately ready to use.
Recommended Approach
Webhooks provide the best user experience by delivering download URLs immediately when processing completes, eliminating the need to poll the status endpoint.
Setup
Include webhook_url and optionally webhook_secret when creating a job:
webhook_urlstring
Your endpoint URL that will receive the POST request when the job completes.
webhook_secretstring
Secret key for HMAC-SHA256 signature verification. Generate a random 32+ character string. Required for production to prevent spoofed requests.
Webhook Payload
Your endpoint receives a POST request with this structure: