Profiles

Add Profile

Create a new profile from signed image URLs.

Starts training asynchronously and returns a profile ID immediately. Poll GET /profiles/{profile_id}/status to check when training completes.

post/v2/phota/profiles/add

Request

  • Base URL
    https://api.photalabs.com
  • Auth
    API key in header X-API-Key

Request body

image_urlsstring[] required

Publicly accessible URLs pointing to the training images. Supported formats: JPEG, PNG, WebP, and HEIC/HEIF. Images larger than 4K (4096px) are automatically resized; for best results, provide images at 4K or below. PNG images are transcoded to JPEG (quality 95) for storage efficiency. Image-count range depends on training_tier: "standard" requires 10–50, "fast" requires 5–10.

training_tier'standard' | 'fast'

Training tier for a profile job.

Attributes: STANDARD: Full-quality training (10-50 images, 500-1000 steps scaled by image count). FAST: Reduced-image, faster-turnaround training (5-10 images, 150-300 steps scaled by image count).

tagstring nullable

Optional immutable tag to group or namespace this profile (e.g., your end-user's identifier).

model_version'v1' | 'v2'

Personalization model version a profile is trained on.

Attributes: V1: The original personalization model. V2: The current personalization model.

Example request

{
  "image_urls": [
    "https://example.com/photo1.jpg",
    "https://storage.googleapis.com/bucket/photo2.jpg?X-Goog-Signature=..."
  ],
  "tag": "user_abc123"
}

Response

Successful Response

profile_idstring required

Unique identifier for the new profile. Use this to poll training status.

Changes

No recorded changes to this operation across all 1 revision of this API.