Szybki start

Pierwsze zdjęcie Photta w mniej niż pięć minut.

Jedno konto, jeden klucz API, pięć poleceń w konsoli. Poniższe kroki dokładnie odpowiadają zaleceniom oficjalnej dokumentacji Photta — bez wrapperów, bez SDK, bez założeń co do frameworka.

W jednym zdaniu

Zarejestruj się na ai.photta.app, kliknij Generate API key, wyeksportuj go jako PHOTTA_API_KEY, wyślij POST do /api/v1/tryon/apparel i odpytuj zwrócony identyfikator generacji co 3 sekundy do zmiany statusu na completed — zwykle w 1.5 do 4 minut.

Jak to działa

Pięć poleceń od zera do pierwszego zdjęcia

Wklejaj je po kolei do terminala. Każdy fragment jest samowystarczalny i używa tylko curl + jq.

  1. 01

    Krok 1

    Wygeneruj klucz API

    Zarejestruj się na ai.photta.app i otwórz panel Developers. Kliknij Generate API key — klucze live zaczynają się od photta_live_. Wyeksportuj go, aby reszta poradnika mogła go odczytać z powłoki.

    # Sign up at ai.photta.app, open the Developers dashboard,
    # click "Generate API key" and copy it into your env.
    export PHOTTA_API_KEY="photta_live_xxxxx"
    export PHOTTA_BASE_URL="https://ai.photta.app/api/v1"
  2. 02

    Krok 2

    Wyślij pierwszą przymierzalnię (POST)

    Wywołaj /api/v1/tryon/apparel z URL zdjęcia produktu, mannequin ID i pose ID. API natychmiast odpowie 202 Accepted i zwróci identyfikator generacji w data.id.

    curl -X POST "$PHOTTA_BASE_URL/tryon/apparel" \
      -H "Authorization: Bearer $PHOTTA_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "product_type": "dress",
        "product_images": ["https://example.com/dress.jpg"],
        "mannequin_id": "mnq_athena_ts",
        "pose_id": "pose_standing_front",
        "resolution": "2K",
        "aspect_ratio": "3:4"
      }'
    # Response: 202 Accepted + data.id (generation ID)
  3. 03

    Krok 3

    Odpytuj do zakończenia

    Wywołuj GET /api/v1/tryon/apparel/:id co 3 sekundy. Typowy czas to 1.5–4 minuty. Ustal limit prób, aby zawieszone zadanie nie blokowało skryptu w nieskończoność.

    # Loop every 3 seconds until status flips to "completed".
    # Typical completion: 1.5–4 minutes. Max 120 attempts = 6 min.
    for i in $(seq 1 120); do
      RESULT=$(curl -s "$PHOTTA_BASE_URL/tryon/apparel/$ID" \
        -H "Authorization: Bearer $PHOTTA_API_KEY")
      STATUS=$(echo "$RESULT" | jq -r '.data.status')
      [ "$STATUS" = "completed" ] && break
      [ "$STATUS" = "failed" ] && echo "Job failed" && exit 1
      sleep 3
    done
  4. 04

    Krok 4

    Zapisz wynik

    Gdy status zmieni się na completed, data.output_url zawiera wygenerowany obraz. Pobierz bajty do własnego magazynu, aby Twój produkt nie polegał na CDN Photta.

    # Pull the final URL out of the response and save the bytes.
    OUTPUT_URL=$(echo "$RESULT" | jq -r '.data.output_url')
    curl -sO "$OUTPUT_URL"
    echo "Saved $(basename "$OUTPUT_URL")"
  5. 05

    Krok 5

    Rzetelna obsługa błędów

    Reaguj na kody statusu HTTP: 402 przy braku kredytów, 429 przy limitach (Retry-After), 5xx przy błędach serwera. Każdy błąd zawiera maszynowy error.code, na podstawie którego możesz podjąć akcję.

    # Surface the common failure modes honestly.
    case "$STATUS_CODE" in
      402) echo "Out of credits — top up at ai.photta.app" ;;
      429) echo "Rate limited — honour Retry-After header" ;;
      4??) echo "Client error: $(echo "$BODY" | jq '.error.message')" ;;
      5??) echo "Server error — retry with backoff" ;;
    esac

Pytania innych programistów

Pytania o rozpoczęcie pracy

Jak długo trwa szybki start?+

Pięć minut na rejestrację + klucz + pierwszy cURL. Sama generacja trwa od 1.5 do 4 minut, więc zarezerwuj dziesięć minut czasu zegarowego, zanim zobaczysz pierwsze zdjęcie na modelu.

Czy potrzebuję karty kredytowej, aby spróbować?+

Nowe konta otrzymują kredyty próbne (trial), które możesz wykorzystać przed dokonaniem płatności. Gdy będziesz gotowy do produkcji, wykup plan z wyższym limitem i szybszymi limitami zapytań.

Który endpoint wypróbować jako pierwszy?+

Przymierzalnię odzieży (/api/v1/tryon/apparel) — jest najczęściej używana, ma najpełniejszą dokumentację i korzysta z wzorca asynchronicznego odpytywania, który powtarzają inne endpointy. Gdy to opanujesz, biżuteria i ghost mannequin działają tak samo.

Czy mogę uruchomić to z przeglądarki?+

Nie. Twój klucz API musi pozostać po stronie serwera — umieszczenie go w przeglądarce ujawni go każdemu odwiedzającemu. Przesyłaj wywołania przez proxy na własnym backendzie (Next.js route handler, Express, Flask, Lambda).

Szybki start

Dzieli Cię pięć minut od pierwszego zdjęcia

Szybki start Photta API — Pierwsze zdjęcie w 5 minut | Photta