SDK Documentation

Official SDKs for JavaScript, Python, and PHP with full TypeScript support.

Available SDKs

🟨
JavaScript
v1.2.0
🐍
Python
v1.1.0
🐘
PHP
v1.0.0

JavaScript / TypeScript SDK

Installation
# npm
npm install @willitfit/sdk

# yarn
yarn add @willitfit/sdk

# pnpm
pnpm add @willitfit/sdk
Quick Start
index.tstypescript
1import { WillItFit } from '@willitfit/sdk';
2
3// Initialize the client
4const client = new WillItFit({
5 apiKey: process.env.WILLITFIT_API_KEY,
6 // Optional: Set custom base URL
7 baseUrl: 'https://api.willitfit.ai',
8});
9
10// Create a try-on session
11const result = await client.tryOn.create({
12 productImageUrl: 'https://example.com/dress.jpg',
13 userPhoto: base64ImageString,
14 productCategory: 'dress',
15});
16
17console.log(result.resultImageUrl);
18console.log(result.fitScore); // 0-100
TypeScript Types
types.tstypescript
import type {
  TryOnRequest,
  TryOnResponse,
  Session,
  MeasurementRequest,
  ProductAnalysis,
} from '@willitfit/sdk';

// Full type safety
const request: TryOnRequest = {
  productImageUrl: 'https://example.com/dress.jpg',
  userPhoto: 'base64...',
  productCategory: 'dress',
};

const response: TryOnResponse = await client.tryOn.create(request);

Python SDK

Installation
# pip
pip install willitfit

# poetry
poetry add willitfit
Quick Start
main.pypython
1from willitfit import WillItFit
2import os
3import base64
4
5# Initialize the client
6client = WillItFit(api_key=os.environ.get("WILLITFIT_API_KEY"))
7
8# Read user photo as base64
9with open("user_photo.jpg", "rb") as f:
10 user_photo = base64.b64encode(f.read()).decode()
11
12# Create a try-on session
13result = client.try_on.create(
14 product_image_url="https://example.com/dress.jpg",
15 user_photo=user_photo,
16 product_category="dress"
17)
18
19print(f"Result URL: {result.result_image_url}")
20print(f"Fit Score: {result.fit_score}")
21
22# List sessions
23sessions = client.sessions.list(limit=10)
24for session in sessions.data:
25 print(f"Session {session.id}: {session.status}")

PHP SDK

Installation
# Composer
composer require willitfit/sdk
Quick Start
index.phpphp
1<?php
2
3require 'vendor/autoload.php';
4
5use WillItFit\Client;
6
7// Initialize the client
8$client = new Client($_ENV['WILLITFIT_API_KEY']);
9
10// Read user photo as base64
11$userPhoto = base64_encode(file_get_contents('user_photo.jpg'));
12
13// Create a try-on session
14$result = $client->tryOn->create([
15 'product_image_url' => 'https://example.com/dress.jpg',
16 'user_photo' => $userPhoto,
17 'product_category' => 'dress'
18]);
19
20echo "Result URL: " . $result->result_image_url . "\n";
21echo "Fit Score: " . $result->fit_score . "\n";
22
23// List sessions
24$sessions = $client->sessions->list(['limit' => 10]);
25foreach ($sessions->data as $session) {
26 echo "Session {$session->id}: {$session->status}\n";
27}

SDK Methods

All SDKs implement the same core methods for consistency across languages.

create

client.tryOn.create(params)

Create a new virtual try-on session

get

client.tryOn.get(id)

Retrieve a specific try-on result by ID