Quickstart

Gambar Photta pertama dalam kurang dari lima menit.

Satu akun, satu API key, lima perintah shell. Langkah-langkah di bawah sesuai dengan rekomendasi resmi dokumentasi Photta — tanpa wrapper, tanpa SDK, tanpa asumsi framework.

Dalam satu kalimat

Daftar di ai.photta.app, klik Generate API key, ekspor sebagai PHOTTA_API_KEY, POST ke /api/v1/tryon/apparel dan poll ID generasi yang dikembalikan setiap 3 detik hingga status berubah menjadi completed — biasanya dalam 1.5 hingga 4 menit.

Cara kerja

Lima perintah dari nol hingga gambar pertama

Tempelkan ke terminal secara berurutan. Setiap snippet berdiri sendiri dan hanya menggunakan curl + jq.

  1. 01

    Langkah 1

    Buat API key

    Daftar di ai.photta.app dan buka dashboard Developers. Klik Generate API key — key live dimulai dengan photta_live_. Ekspor agar sisa panduan ini bisa membacanya dari shell Anda.

    # 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

    Langkah 2

    POST try-on pertama Anda

    Panggil /api/v1/tryon/apparel dengan URL gambar produk, mannequin ID, dan pose ID. API akan menjawab 202 Accepted segera dan mengembalikan ID generasi di 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

    Langkah 3

    Poll hingga selesai

    Panggil /api/v1/tryon/apparel/:id setiap 3 detik. Penyelesaian tipikal adalah 1.5–4 menit. Berikan batas maksimal percobaan agar job macet tidak menggantung skrip Anda selamanya.

    # 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

    Langkah 4

    Simpan outputnya

    Saat status berubah menjadi completed, data.output_url berisi gambar yang dirender. Unduh byte-nya ke penyimpanan Anda sendiri agar produk Anda tidak bergantung pada CDN Photta untuk rendering.

    # 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

    Langkah 5

    Tangani mode kegagalan secara jujur

    Cabangkan berdasarkan HTTP status code: 402 untuk kredit tidak mencukupi, 429 untuk rate limit (ikuti Retry-After), 5xx untuk error server sementara. Setiap body error membawa error.code yang terbaca mesin untuk ditindaklanjuti.

    # 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

Pertanyaan pengembang lainnya

Pertanyaan tentang memulai

Berapa lama waktu yang dibutuhkan quickstart ini?+

Lima menit untuk pendaftaran + pembuatan key + cURL pertama. Generasi itu sendiri memakan waktu 1.5 hingga 4 menit, jadi rencanakan sepuluh menit waktu nyata sebelum Anda melihat gambar model pertama Anda.

Apakah saya butuh kartu kredit untuk mencobanya?+

Akun baru dilengkapi dengan kredit uji coba yang bisa digunakan sebelum membayar. Saat siap masuk ke produksi, berlangganan paket untuk saldo kredit bulanan lebih tinggi dan rate limits lebih cepat.

Endpoint mana yang harus saya coba pertama kali?+

Try-on pakaian (/api/v1/tryon/apparel) — ini yang paling banyak digunakan, dokumentasinya paling lengkap, dan mencakup pola asinkron + polling yang digunakan kembali oleh setiap endpoint Photta lainnya. Setelah nyaman di sana, perhiasan dan ghost mannequin bekerja dengan cara yang sama.

Bisakah saya menjalankannya dari browser?+

Tidak. API key Anda harus tetap di sisi server — mengirimkannya ke browser akan membocorkannya ke setiap pengunjung. Salurkan panggilan melalui proxy tipis di backend Anda sendiri (route handler Next.js, Express, Flask, Lambda) dan biarkan browser berkomunikasi dengan proxy Anda.

Quickstart

Anda hanya butuh lima menit dari gambar pertama Anda

Quickstart API Photta — Gambar Pertama dalam 5 Menit | Photta