Skip to main content

Identity is a layer that has to be learned.

Generic image models such as Nano Banana 2, GPT Image 2, Reve, Qwen Image 2, and Flux 2 Dev each have different strengths: world knowledge, text rendering, aesthetic defaults, cost profile. They’ve all shipped in roughly a year and the frontier keeps moving. What every one of them is missing is personal knowledge of a specific person. That’s what Phota’s identity layer adds. The identity layer composes on top of whichever base model you pick — so you choose the generic model that best fits your use case, and Phota handles identity for you. For more background, see Every Frontier Model Can Be Personalized for You. You select the base model per request with the base_model parameter. Identity preservation is applied automatically whenever a trained profile is referenced.

Supported models

base_modelDisplay nameResolutionsPricing
nb2 (default)Nano Banana 21K, 2K, 4Kflat per image
gpt-image-2GPT Image 21K, 2K, 4Ktoken-metered
qwen-image-2Qwen Image 21K, 2Kflat per image
flux-2Flux 2 Dev1K, 2Kflat per image
reveReve1Kflat per image
See Pricing for the exact rates. If you omit base_model, requests run on Nano Banana 2.

Where base_model applies

  • /edit — accepts base_model. Defaults to nb2.
  • /generate — accepts base_model. Defaults to nb2.
  • /enhance — does not accept base_model. Enhancement is pinned to Nano Banana 2 at 2K.

Example: pick a base model explicitly

curl -X POST https://api.photalabs.com/v1/phota/edit \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "Make [[abc123]] smile wider",
    "images": ["https://example.com/photo.jpg"],
    "base_model": "gpt-image-2",
    "resolution": "2K",
    "output_format": "jpg"
  }'

Next steps

Pricing

Per-image and token-metered rates for every supported base model.

Profiles guide

Create and manage profiles for identity preservation.

Quickstart

Walk through the full workflow with code examples.