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.0JavaScript / TypeScript SDK
Installation
# npm
npm install @willitfit/sdk
# yarn
yarn add @willitfit/sdk
# pnpm
pnpm add @willitfit/sdkQuick Start
index.tstypescript
1 import { WillItFit } from '@willitfit/sdk'; 2 3 // Initialize the client 4 const 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 11 const result = await client.tryOn.create({ 12 productImageUrl: 'https://example.com/dress.jpg', 13 userPhoto: base64ImageString, 14 productCategory: 'dress', 15 }); 16 17 console.log(result.resultImageUrl); 18 console.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 willitfitQuick Start
main.pypython
1 from willitfit import WillItFit 2 import os 3 import base64 4 5 # Initialize the client 6 client = WillItFit(api_key=os.environ.get("WILLITFIT_API_KEY")) 7 8 # Read user photo as base64 9 with open("user_photo.jpg", "rb") as f: 10 user_photo = base64.b64encode(f.read()).decode() 11 12 # Create a try-on session 13 result = client.try_on.create( 14 product_image_url="https://example.com/dress.jpg", 15 user_photo=user_photo, 16 product_category="dress" 17 ) 18 19 print(f"Result URL: {result.result_image_url}") 20 print(f"Fit Score: {result.fit_score}") 21 22 # List sessions 23 sessions = client.sessions.list(limit=10) 24 for session in sessions.data: 25 print(f"Session {session.id}: {session.status}")
PHP SDK
Installation
# Composer
composer require willitfit/sdkQuick Start
index.phpphp
1 <?php 2 3 require 'vendor/autoload.php'; 4 5 use 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 20 echo "Result URL: " . $result->result_image_url . "\n"; 21 echo "Fit Score: " . $result->fit_score . "\n"; 22 23 // List sessions 24 $sessions = $client->sessions->list(['limit' => 10]); 25 foreach ($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