Upload and Prepare
Upload 10 to 30 images of the subject and prepare them for AI training.
POST
https://api.apiframe.pro/ai-photo-upload
Headers
Content-Type
application/json
Authorization*
Your APIFRAME API Key
Body
images
*
[string]
Base64 of 10 to 30 images, to use for AI training. Take a look here for best input images.
ethnicity
*
string
Subject ethnicity, one of 'asian', 'black', 'latino', 'middle eastern', 'native american', 'pacific islander', or 'white'
gender
*
string
Subject gender, one of 'female' or 'male'
age
integer
The age of the subject
webhook_url
string
The final result and updates of this task will be posted at this URL.
webhook_secret
string
Will be passed as x-webhook-secret
in the webhook call headers for authentication.
Response
// Success, the task has been submitted
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a"
}
This endpoint doesn't generate results instantly, you can use the Fetch endpoint to fetch the result or use webhooks.
The result (posted to the webhook_url
or retrieved with the Fetch endpoint) looks like this:
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"status": "finished",
"message": "Images ready for training",
"expires_at": "2025-02-21T05:48:46.599Z"
}
If the job is not completed, you will get a result like this:
{
"status": "processing",
"message": 'Training images are being processed'
}
Code samples
const axios = require('axios');
const data = JSON.stringify({
"images": [],
"ethnicity": "asian",
"gender": "female",
"webhook_url": "https://........",
"webhook_secret": "abc123"
});
const config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.apiframe.pro/ai-photo-upload',
headers: {
'Content-Type': 'application/json',
'Authorization': 'YOUR_API_KEY'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Last updated
Was this helpful?