Funktion · Smykker

Try-on-API til smykker til halskæder, ringe, armbånd og øreringe

I én sætning

Phottas try-on-API til smykker tager et smykkefoto, en jewelry_type (halskæde, ring, armbånd eller øreringe) og et mannequin-ID og returnerer et close-up-foto på en model. POST, poll hvert 3. sekund, download når status er completed.

  • Typisk tid: 1.5–4 min
  • Credits: 5 credits ved 2K · 6 credits ved 4K
  • Behandling: async, polling
  • Grænser: 600 requests/min
  • Autentifikation: Bearer key

Hvert tal på denne side stammer fra Photta API-dokumentationen · tjekket

POST/api/v1/tryon/jewelry
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/jewelry \
  -H "Authorization: Bearer $PHOTTA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
  "jewelry_type": "necklace",
  "mannequin_id": "mnk_j9k1l2",
  "background": "soft window light on dark velvet",
  "resolution": "2K",
  "aspect_ratio": "3:4",
  "user_instruction": "Make the pendant 10% smaller."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')
A necklace rendered on an AI model by the jewelry try-on API
Eksempel på output

Kort fortalt

Kort fortalt

Endpoint
POST /api/v1/tryon/jewelry
Autentifikation
Bearer API-nøgle
Behandling
Asynkron — poll status-endpointet
Typisk tid
1.5–4 min
Credits
5 credits ved 2K · 6 credits ved 4K
Billedformater
3:4 · 1:1 · 4:3 · 9:16 · 16:9
Inputgrænser
Op til 10 MB pr. billede; JPEG, PNG, WebP
Idempotent
Nej

Request og response

Request

RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/jewelry \
  -H "Authorization: Bearer $PHOTTA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "jewelry_image": "https://cdn.yourstore.com/products/gold-necklace.jpg",
  "jewelry_type": "necklace",
  "mannequin_id": "mnk_j9k1l2",
  "background": "soft window light on dark velvet",
  "resolution": "2K",
  "aspect_ratio": "3:4",
  "user_instruction": "Make the pendant 10% smaller."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')

202 Accepted / Completed

{
  "data": {
    "id": "jwl_a1b2c3",
    "status": "processing",
    "jewelry_type": "necklace",
    "mannequin_id": "mnk_j9k1l2",
    "resolution": "2K",
    "aspect_ratio": "3:4",
    "credits_used": 5,
    "created_at": "2026-04-10T14:00:00Z"
  },
  "request_id": "req_jwl001"
}

Request-parametre

jewelry_image

Type: stringPåkrævet

URL or base64 data URI of the jewelry product image.

jewelry_type

Type: stringPåkrævet

Type of jewelry.

Værdier: necklaceearringsbraceletring
mannequin_id

Type: stringPåkrævet

ID of the mannequin. Must be jewelry-compatible and have a matching close-up view for the given jewelry_type. Use GET /api/v1/mannequins?jewelry_type=necklace to find compatible mannequins.

background

Type: string

Optional. Pass a URL or base64 data URI to use a reference photo as the scene; pass any other string to use it as a free-form text description (e.g. "soft window light on dark velvet"). When omitted, the original mannequin backdrop is preserved.

resolution

Type: string

Output resolution. "2K" costs 5 credits per image; "4K" costs 6 credits per image. 4K is produced natively in a single generation — pick it upfront; the resolution cannot be changed after creation. 4K cannot be combined with aspect_ratio 1:1 (returns 400).

= 2K

Værdier: 2K4K
aspect_ratio

Type: string

Output aspect ratio. 1:1 is not available at 4K resolution — that combination returns 400.

= 3:4

Værdier: 3:41:14:39:1616:9
user_instruction

Type: string

Free-form refinement, e.g. "make the pendant 10% smaller", "keep the clasp visible at the back of the neck". Capped at 400 characters server-side; longer strings are silently truncated. Requests to change the jewelry's size, scale, or proportions are honored and take priority; any other instruction applies only where it does not conflict with reproducing the jewelry exactly from the reference image. Not a determinism or seed control.

Fejl

400invalid_request_error
The request is malformed or contains invalid parameters.
401authentication_error
The API key is missing, invalid, or expired.
402insufficient_credits_error
Your account does not have enough credits.
404not_found_error
The requested resource does not exist.
409conflict_error
The request conflicts with current state — e.g. your concurrent-batch cap is reached.
429rate_limit_error
Too many requests. Slow down and retry.Retry-After: 30
500api_error
An internal server error occurred. Retry later.

Grænser

  • 600 anmodninger i minuttet pr. API-nøgle (Fast vindue; grænsen er den samme på alle planer)
  • En 429 indeholder Retry-After: 30 sekunder
  • Op til 10 MB pr. billede
  • Formater: JPEG, PNG, WebP
  • Samtidige batches pr. plan: Free 1 · Hobby 2 · Seller 3 · Brand 4 · Studio 6
  • Kun polling — API'et sender ingen webhooks.

Tøj-flowet, finjusteret til små, stærkt reflekterende genstande

Vælg en close-up-mannequin, indsend, foretag polling, download.

  1. Trin 1

    Generér en API-nøgle

    Samme flow som tøj — ai.photta.app → Developers → Generate API key. Én nøgle fungerer på tværs af alle endpoints; én credits-saldo dækker alle capabilities.

  2. Trin 2

    Vælg en close-up-mannequin

    List smykkemannequinerne eller upload din egen med `POST /api/v1/mannequins/jewelry` — Photta vedligeholder et specialbygget sæt af close-up-mannequiner med hudteksturer tunet til bittesmå metaller og sten.

  3. Trin 3

    POST smykkejobbet

    POST til `/api/v1/tryon/jewelry` med `jewelry_image`, `jewelry_type`, `mannequin_id` og valgfri `background`, `resolution` og `aspect_ratio`. Tjenesten autoskalerer placeringen til smykkekategorien.

  4. Trin 4

    Foretag polling, indtil jobbet fuldføres

    GET `/api/v1/tryon/jewelry/:id` hvert 3. sekund. Svarets struktur er identisk med tøj — `data.status`, `data.output_url`, `data.thumbnail_url`.

  5. Trin 5

    Download og persistér

    Tæt beskæring i 1:1 fungerer bedst til PDP-miniaturer; bredere billedformater til redaktionelt indhold. Gem selv bytes frem for at hotlinke CDN'et.

Spørgsmål udviklere stiller før udrulning af smykke-try-on

Hvilke smykketyper understøttes?

Fire eksplicitte kategorier: halskæde, ring, armbånd, øreringe. Hver kategori har sit eget sæt af specialbyggede close-up-mannequiner og en placeringsheuristik tunet til den specifikke formfaktor. Ringe og øreringe har størst gavn af et 1:1-format; halskæder fungerer godt i 3:4.

Hvad koster en smykke-try-on?

Det samme som tøj: 5 credits ved 2K, 6 credits ved 4K. Mislykkede jobs refunderes automatisk. Intet tillægsgebyr for close-up-mannequinbiblioteket.

Hvordan adskiller smykke-endpointet sig fra tøj?

Samme godkendelse, samme polling-mønster, samme svarstruktur — forskellene ligger i request-bodyen. Du sender `jewelry_type` og `jewelry_image` i stedet for `product_type` og `product_images`, og du vælger mannequiner filtreret efter smykkekategori. Alt andet (2K/4K, billedformater, credits) er fælles.

Kan jeg uploade min egen smykkemodel?

Ja — `POST /api/v1/mannequins/jewelry` accepterer en brugerdefineret close-up-reference, `POST /api/v1/mannequins/jewelry/generate` genererer en ny ud fra indstillinger. Begge returnerer et ID, som du sender med i try-on-anmodningen.

Hvordan håndterer det reflekterende metaller og ædelsten?

Close-up-pipelinen medsender metadata om spejlreflekser og mikrogeometri. Guld, sølv og spejlpoleret platin renderes korrekt uden de skygger eller kromatisk udtværing, som generelle try-on-pipelines genererer. Ultraskarpe studiebaggrunde anbefales for de bedste resultater.

Hvordan foretager jeg polling efter resultatet?

GET `/api/v1/tryon/jewelry/:id` hvert 3. til 5. sekund. Samme statuslivscyklus som tøj: `processing` → `completed` eller `failed`. Et tidsvindue på 1,5 til 4 minutter dækker langt de fleste jobs.

Relaterede capabilities

Hvert tal på denne side stammer fra Photta API-dokumentationen · tjekket

Prøv API'et på fem minutter

Generér en Photta API-nøgle, indsæt cURL-kodestykket ovenfor, og du har dit første billede på en model, før kaffen er færdigbrygget.

  • 1.5–4 min
  • 5 credits ved 2K · 6 credits ved 4K
  • async, polling
  • 600 requests/min
  • Bearer key