# MorphiaOne Docs ## Instructions for AI Agents - For clean Markdown of any page, append `.md` to the page URL - For section-specific indexes, append `/llms.txt` to any section URL - For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.morphiaone.ai/_mcp/server ## Docs - [Build with MorphiaOne](https://docs.morphiaone.ai/getting-started/introduction.md): Skin, makeup, and hair imaging over one asynchronous API. - [Get access](https://docs.morphiaone.ai/getting-started/access.md): Get an account, sign in, create an API key, and make your first call. - [TypeScript quickstart](https://docs.morphiaone.ai/getting-started/quickstart.md): Run a server-side Skin Analysis with the published TypeScript SDK. - [Authentication](https://docs.morphiaone.ai/getting-started/authentication.md): One key, one header, server-side only. - [Test mode](https://docs.morphiaone.ai/getting-started/test-mode.md): Build and test your integration with a test key. Jobs run the full lifecycle, return fixture results and charge nothing. - [TypeScript SDK](https://docs.morphiaone.ai/sdks/typescript.md): Use the Node.js client for server-side Skin, Makeup, Hair, Assets, Jobs, Usage and Credits calls. - [Python SDK](https://docs.morphiaone.ai/sdks/python.md): Call MorphiaOne from trusted Python server code. - [SDKs](https://docs.morphiaone.ai/sdks/overview.md): Start with a published SDK package for your server language. - [REST API onboarding](https://docs.morphiaone.ai/rest-api/onboarding.md): Upload an image, submit a job, and retrieve its result with HTTP. - [API overview](https://docs.morphiaone.ai/api-reference/overview.md): The operations, the base URL, and the rules every call follows. - [Error reference](https://docs.morphiaone.ai/api-reference/errors.md): Every code this API can return, read out of the service that raises it. - [Status codes](https://docs.morphiaone.ai/api-reference/status-codes.md): What each status means, and whether a retry can help. - [Assets](https://docs.morphiaone.ai/concepts/assets.md): Upload image bytes once, reference them from jobs by id, and delete them when you are done. - [Asynchronous jobs](https://docs.morphiaone.ai/concepts/jobs.md): The job is the contract. Submitting is not analysing, and failure arrives on a 200. - [Job outputs](https://docs.morphiaone.ai/concepts/job-outputs.md): Submit typed JSON under an Idempotency-Key, poll a job, decode a typed output. - [Webhooks](https://docs.morphiaone.ai/concepts/webhooks.md): A signed POST when a job settles. Verify it, dedupe on event.id, and keep polling authoritative. - [Credits and usage](https://docs.morphiaone.ai/concepts/credits.md): What a submission costs you, how you find out you are out, and what /v1/usage is for. - [Idempotency](https://docs.morphiaone.ai/concepts/idempotency.md): How to retry a submission you are not sure arrived, without paying twice. - [Errors](https://docs.morphiaone.ai/concepts/errors.md): Branch on error.code. Never parse error.message. - [Retries and backoff](https://docs.morphiaone.ai/concepts/retries.md): Which failures clear on their own, and how to wait without making things worse. - [Rate limits](https://docs.morphiaone.ai/concepts/rate-limits.md): The limits on submitting work, how a response advertises them, and when they reset. - [Privacy and retention](https://docs.morphiaone.ai/concepts/privacy-retention.md): What happens to the image you send, and what your side has to get right. - [Versioning](https://docs.morphiaone.ai/concepts/versioning.md): What may change without notice, what may not, and how you find out. - [Availability and release status](https://docs.morphiaone.ai/products/availability.md): Which products you can call, and the release state of the API and SDKs. - [Skin analysis](https://docs.morphiaone.ai/products/skin-analysis.md): Request cosmetic concern scores and optional result images. - [Makeup try-on](https://docs.morphiaone.ai/products/makeup.md): Render foundation, lipstick and lip liner in the layer order you choose. - [Hair color try-on (preview)](https://docs.morphiaone.ai/products/hair-try-on.md): Recolor the hair in a photo with a two-stop color gradient. - [Nail try-on](https://docs.morphiaone.ai/products/nails.md): Coming soon; not publicly available. - [Going to production](https://docs.morphiaone.ai/guides/production.md): The things that separate a working integration from one that survives a bad day. - [Serving a browser or mobile client](https://docs.morphiaone.ai/guides/bff-pattern.md): The key stays on your server. Your server authorizes your users, because this API cannot. - [Troubleshooting](https://docs.morphiaone.ai/guides/troubleshooting.md): Symptom, likely cause, and what to collect before asking for help. - [Support](https://docs.morphiaone.ai/support.md): What to send, so the first reply is an answer rather than a request for details. ## API Docs - Endpoints > Webhooks [job.cancelled](https://docs.morphiaone.ai/api-reference/endpoints/webhooks/webhook-job-cancelled.md) - Endpoints > Webhooks [job.failed](https://docs.morphiaone.ai/api-reference/endpoints/webhooks/webhook-job-failed.md) - Endpoints > Webhooks [job.succeeded](https://docs.morphiaone.ai/api-reference/endpoints/webhooks/webhook-job-succeeded.md) - Endpoints > Webhooks [test.ping](https://docs.morphiaone.ai/api-reference/endpoints/webhooks/webhook-test-ping.md) - Endpoints > Assets [List the caller's Assets](https://docs.morphiaone.ai/api-reference/endpoints/assets/list.md) - Endpoints > Assets [Upload one input image as an Asset](https://docs.morphiaone.ai/api-reference/endpoints/assets/create.md) - Endpoints > Assets [Read an owned Asset's metadata](https://docs.morphiaone.ai/api-reference/endpoints/assets/get.md) - Endpoints > Assets [Delete an owned input Asset and erase its bytes](https://docs.morphiaone.ai/api-reference/endpoints/assets/delete.md) - Endpoints > Assets [Download an owned result Asset's bytes](https://docs.morphiaone.ai/api-reference/endpoints/assets/get-content.md) - Endpoints > Credits [Read the caller's credit balance](https://docs.morphiaone.ai/api-reference/endpoints/credits/get-balance.md) - Endpoints > Hair [Submit a Hair color try-on Job](https://docs.morphiaone.ai/api-reference/endpoints/hair/try-ons-create.md) - Endpoints > Jobs [List the caller's Jobs](https://docs.morphiaone.ai/api-reference/endpoints/jobs/list.md) - Endpoints > Jobs [Read the current state of a job](https://docs.morphiaone.ai/api-reference/endpoints/jobs/get.md) - Endpoints > Jobs [Delete a finished Job and erase its data](https://docs.morphiaone.ai/api-reference/endpoints/jobs/delete.md) - Endpoints > Jobs [Cancel a Job](https://docs.morphiaone.ai/api-reference/endpoints/jobs/cancel.md) - Endpoints > Makeup [Submit a Makeup try-on Job](https://docs.morphiaone.ai/api-reference/endpoints/makeup/try-ons-create.md) - Endpoints > Skin [Submit a cosmetic Skin analysis Job](https://docs.morphiaone.ai/api-reference/endpoints/skin/analyses-create.md) - Endpoints > Usage [Read usage aggregates](https://docs.morphiaone.ai/api-reference/endpoints/usage/get.md) ## OpenAPI Specification The raw OpenAPI 3.1 specification for this API is available at: - [OpenAPI JSON](https://docs.morphiaone.ai/openapi.json) - [OpenAPI YAML](https://docs.morphiaone.ai/openapi.yaml)