Skip to content

Developers

PicsForm SDK

Integrate photo compliance into your product. The SDKs are thin wrappers around the same REST API the dashboard uses — JavaScript for browsers and Node, Python for backends.

Quick start (3 steps)

  1. Create a Creator account and open Developer to generate a Bearer key (pf_live_…).
  2. Copy the SDK from this repository (see download below) or call REST directly.
  3. Top up your wallet on Wallet — checks debit per call (see pricing table at the bottom).

Download the SDK

Starter packages live in the PicsForm repo. Copy the folder into your project until we publish @picsform/sdk to npm.

JavaScript / TypeScript

Path: sdk/javascript/

# From your app root (after cloning PicsForm or copying the folder):
cp -r sdk/javascript ./lib/picsform-sdk

# Files you need:
#   client.ts          — PicsForm class
#   index.ts           — exports
#   PicsFormPhotoValidator.tsx — optional React widget

See also sdk/javascript/README.md in the repo.

Python

Path: sdk/python/picsform.py

cp sdk/python/picsform.py ./your_project/picsform.py
pip install requests  # only dependency

See sdk/python/README.md.

Environment variables

PICSFORM_KEY=pf_live_xxxxxxxx
PICSFORM_BASE_URL=https://picsform.com

REST (no SDK)

POST /api/v1/photos/check
Authorization: Bearer pf_live_…
Content-Type: application/json

{ "documentId": "us-passport", "imageBase64": "data:image/jpeg;base64,..." }

{
  "document": "US-PASSPORT",
  "status": "REVIEW",
  "rules_version": "2026.08",
  "checks": {
    "dimensions": "PASS",
    "head_size": "PASS",
    "background": "PASS",
    "appearance_alteration": "REVIEW"
  }
}

JavaScript example

import { PicsForm } from "./lib/picsform-sdk";

const pf = new PicsForm({
  apiKey: process.env.PICSFORM_KEY!,
  baseUrl: process.env.PICSFORM_BASE_URL ?? "https://picsform.com",
});

const result = await pf.checkPhoto({
  documentId: "us-passport",
  imageBase64, // data URL from file input or canvas
});
// result.status === "READY" | "REVIEW" | "RETAKE"

React widget: import PicsFormPhotoValidator from sdk/javascript/PicsFormPhotoValidator.tsx — pass documentId and apiKey.

Python example

import os
from picsform import PicsForm

pf = PicsForm(api_key=os.environ["PICSFORM_KEY"])
print(pf.check_photo(document_id="us-passport", image_base64=data_url))

Rules without a photo

GET /api/v1/rules?documentId=us-passport returns authority, dimensions, editing policy, source URL, version, and confidence.

Pricing per call

  • GET /api/v1/accountFree
  • GET /api/v1/documentsFree
  • GET /api/v1/rulesFree
  • GET /api/v1/pricingFree
  • GET /api/v1/photos/jobsFree
  • POST /api/v1/photos/validate$0.05
  • POST /api/v1/photos/check$0.05
  • POST /api/v1/photos/jobs$0.05
  • POST /api/v1/photos/background$0.25

HTTP 402 when wallet balance is empty. Top up in the dashboard before production traffic.

PicsForm SDK — download, install, and use