SmileCraft SmileCraft AI v1
Get sandbox key
Built for DSOs · aligner brands · dental platforms

Smile simulation API for products that need control

Server-to-server REST. Upload a face photo, request makeover, whitening, shade, align, or video — get a result asynchronously. No GPU fleet on your side. Full integration guide ships with your sandbox key.

Privacy
No training on partner images
Compliance
BAA available for live keys
Control
Style · shade · whitening level
Scale
Async jobs · webhooks · quotas

Capabilities

Five operations partners use to build chairside tools, web lead funnels, and white-label experiences.

Smile makeover

Photorealistic smile design on the patient’s face. Styles: Oval and Hollywood. Quality: standard or HD.

Whitening

Brighten the patient’s own teeth — not a veneer redesign. Levels: moderate, strong, max.

Shade refine

After makeover, retarget tooth color. v1 shades: A1, A2, A3, B1, C3 (validated set — not full VITA Classical).

Alignment preview

Orthodontic-style alignment visualization on a frontal smile photo — useful for consult and aligner journeys. Align takes no style/shade options.

Smile video

Short reveal from a completed still (makeover, whitening, align, or shade) — not from a raw upload. Uses video credits (separate from the still-job pool).

Patient-facing UI

Enterprise API v1 is API-only (server-to-server). There is no hosted or embeddable patient UI for operation / shade / style selection. You build that UI in your product and call the REST API from your backend.

A white-label / embeddable UI would be a separate product — not part of this integration.

Options & shades

Partners get parameters — not a single black-box “beautify” knob. Prefer the runtime options catalog (with your key) so enums stay current; you may hard-code the table below as a fallback.

Control Where Values
Smile style Makeover oval · hollywood (same as product UI)
Output quality Makeover standard · hd
Whitening intensity Whitening moderate · strong · max
Tooth shade Makeover options or shade refine A1 · A2 · A3 · B1 · C3 — complete v1 set
Align Alignment No options
Runtime catalog With your API key Operations, styles, qualities, shades, whitening levels, video sources
  • We only expose shades validated for consistent results. Among them, A1, A2, and B1 are most commonly requested. More shades can ship in a later revision once validated.
  • When options change, the catalog updates automatically. Major additions are noted in the partner guide / changelog and emailed to active partners.
  • Whitening levels and makeover shades are separate — don’t merge them into one UI control.

Video

Time
~40 s typical

Often ~30–45 s; longer under load — stay async.

Output
MP4 · ~4 s · ~720p

Short reveal clip for share / consult.

Source
Completed still only

Makeover, whitening, align, or shade — not a raw upload.

Pass the completed still’s job id (with a result URL) or that still’s result URL. Video credits are separate from the still-job pool.

Photo guidelines

Same idea as clinical smile-simulators: good inputs produce reliable outputs.

Do

  • Frontal face, centered, looking at camera
  • Natural open smile with teeth visible
  • Bright, even lighting
  • Face filling a large part of the frame
  • JPEG (preferred), PNG, or WebP

Avoid

  • Closed lips or no visible teeth
  • Mouth covered (mask, hand, napkin)
  • Extreme profile / chin-forward poses
  • Heavy crop to mouth-only or tiny faces
  • Dark, blurry, or heavily filtered selfies
Technical limits: max 12 MB · short side ≥ ~512 px · long side ≤ ~4096 px · JPEG / PNG / WebP with matching contentType

How integration works

Async by design. Your base URL and signed examples are delivered with the sandbox key — not published on this page.

1

Upload

Request a short-lived upload slot, PUT the image from your backend.

2

Create job

Choose operation + options. Receive a job id immediately (HTTP accepted).

3

Poll or webhook

Poll job status, or register an HTTPS webhook. Download the time-limited result URL when complete.

Polling alone is enough to ship an MVP. Webhooks are optional when you’re ready.

makeover.sh — concept only · full script delivered with sandbox key
# 1. Upload photo
UPLOAD=$(curl -sS -X POST "$BASE/uploads" \
  -H "Authorization: Bearer $YOUR_KEY" \
  -d '{"contentType":"image/jpeg"}')
curl -X PUT "$(echo $UPLOAD | jq -r .uploadUrl)" --data-binary @patient.jpg

# 2. Create job
JOB=$(curl -sS -X POST "$BASE/jobs" \
  -H "Authorization: Bearer $YOUR_KEY" \
  -d '{"operation":"makeover","inputKey":"...","options":{"style":"oval"}}')

# 3. Poll & download
JOB_ID=$(echo $JOB | jq -r .jobId)
while true; do
  STATUS=$(curl -sS -H "Authorization: Bearer $YOUR_KEY" "$BASE/jobs/$JOB_ID")
  [ "$(echo $STATUS | jq -r .status)" = "completed" ] && break
  sleep 3
done
curl -L -o result.png "$(echo $STATUS | jq -r .resultUrl)"
echo "Saved result.png  |  refineToken: $(echo $STATUS | jq -r .refineToken)"

Webhooks

When you’re ready for webhooks, we’ll provide your partner webhook secret. It is separate from the API key and only used to verify webhook POSTs from us (HMAC). Keep it server-side only.

You don’t need the secret while polling. Start with your sandbox key; ask when you want webhooks and we’ll send the secret.

Input checks (face preflight)

Before makeover, whitening, or align run the heavy pipeline, we validate size, dimensions, and face presence. Content failures finish as a failed job with a stable error.code — so your product UI can show a clear “retake photo” message.

  • · File size and pixel-dimension gates
  • · Face detected and large enough in frame
  • · Frontal-ish pose heuristics
  • · Mouth visibility / smile-open checks when applicable

Shade and video skip raw-upload preflight (they continue from a completed still you already own).

Error codes (short)

Content failures do not return HTTP 400 on job create. The job is accepted, then ends as status: failed. Read error.code / error.message from job status (or the webhook).

HTTP 400 = bad request only (invalid JSON / fields / options). Branch your UX on the code; treat unknown codes like a generic processing failure.

Code Meaning User hint
no_face_detected No usable face Retake a clear frontal photo
face_too_small Face too small in frame Move closer / crop less aggressively
face_not_frontal Pose too angled Face the camera straight-on
smile_not_visible Closed mouth / no open smile Show teeth with a natural smile
mouth_covered Mouth obscured Remove mask / hand / object
image_too_large Over 12 MB Compress and retry
image_dimensions_invalid Outside size guidance Short ≥ ~512 px; long ≤ ~4096 px
processing_failed Pipeline could not finish Retry or try another photo

Results & retention

Download URL
~1 hour

Re-fetch job status for a fresh link while the file still exists.

Inputs & results
~1 day

Then removed. Download promptly; keep long-term copies in your system.

Job metadata
~7 days

Ids, status, error codes, timing — not an image archive.

No self-service delete in v1 yet. Deletion under agreement / BAA is available on request; a partner purge API is on the roadmap.

We process the face/smile photo (and generated stills/video) for simulation only — not clinical history or chart notes.

Typical timings

Guidance only — always wait for completed / failed (or the webhook).

OperationTypicalNotes
Whitening~3–10 sFast still path
Shade refine~2–3 sAfter makeover
Makeover (standard)~15–40 s
Makeover (HD)~25–35 sHigher quality
Align~20–30 sMay vary with load
Video~30–45 s (~40 s typical)MP4 ~4 s · ~720p · from completed still

Sandbox, live & BAA

SANDBOX
  • Free for integration — nothing else required to start
  • Same contract as live (paths don’t change)
  • Starter credits included
  • Keys look like sc_sandbox_…
  • De-identified / test images only
LIVE / ENTERPRISE
  • Issued after commercial agreement + BAA + billing
  • BAA draft available immediately for your counsel
  • Often ~1 week if both sides move in parallel
  • Keys look like sc_live_…
  • Volume pricing by contract (monthly) — contact for a quote

Sandbox can continue on test images while the BAA / order form are in review. Share expected monthly volume (makeover / align / whitening / shade / video) so we can recommend a plan.

Common questions

Is this HIPAA compliant? +

We sign a BAA with every live partner before patient data flows through the system. Sandbox keys are for integration testing with de-identified images only. The BAA draft is available immediately for your counsel to review — ask us and we'll send it.

Do you train on partner images? +

No. Uploaded photos and generated images are used only to fulfill the requested simulation. They are automatically deleted within 24 hours. We do not use partner patient images to train or fine-tune any model.

How long does it take to go live? +

Integration typically takes 1–2 weeks for a backend developer. The BAA and order form run in parallel — often ~1 week if both sides move together. You can start integration with your sandbox key immediately, before the agreement is finalized.

What simulation types are supported? +

Five operations: smile makeover (oval or Hollywood style, standard or HD), whitening (moderate / strong / max), shade refine (change tooth color after a makeover in seconds), alignment preview (orthodontic visualization), and smile video (short reveal clip from a completed still).

How is pricing structured? +

Monthly credit plans by contract — pricing depends on volume, geography, and use case. Still jobs (makeover, whitening, shade, align) draw from one credit pool; video uses a separate video-credit pool. Contact us with your expected monthly volume for a quote.

Is there a WordPress plugin or embeddable widget? +

Not yet — v1 is a server-to-server REST API for teams that build their own patient UI. A no-code embeddable widget (WordPress plugin / shortcode) is on our roadmap. If that's your preferred integration path, mention it when you reach out — it helps us prioritize.

Can I use SmileCraft inside Claude? +

Yes — via our Claude MCP connector (custom connector today). Same Enterprise API keys and quotas. See the Claude connector docs for Connect steps, photo tips, and example prompts.

Ready to integrate?

We’ll send a sandbox key, base URL, and the full partner integration guide. This public page stays high-level on purpose.

© SmileCraft AI · Alborz Solutions LLC · Home · Claude · smilecraft.app