Product Prediction
Product prediction endpoints for generating titles, descriptions, brands, keywords, and scaffolded attributes.
If your balance is empty, the API returns HTTP 402 with an Out of credits. error.
/api/v1/generate-basic-listing
10 creditsGenerate a Basic Listing
Analyze product images and return a title, a short description, brand guess, and search keywords.
Request Body
List of publicly accessible image URLs for a single product.
Optional user-provided context to refine the listing (max 150 words).
Response Example
{
"listingTitle": "Vintage Nikon FM2 35mm Camera",
"listingDescription": "Compact 35mm film camera body with manual controls and classic Nikon build. Clean condition, light wear, ready to shoot.",
"brand": "Nikon",
"listingKeywords": "nikon, fm2, 35mm, film camera, manual, vintage, body, photography, slr, analog"
}Response Fields
Concise product title, max 80 characters.
Short 25-word description using Australian English spelling.
Best-effort brand or model guess.
Comma-separated list of 10 keywords.
Example Error Response
{
"error": "Missing Authorization header."
}curl -X POST https://sails.live/api/v1/generate-basic-listing \-H "Authorization: Bearer sails_sk_..." \-H "Content-Type: application/json" \-d '{"image_urls": ["https://example.com/camera.jpg"],"additional_info": "Includes original lens cap and strap."}'
Customise Example
/api/v1/update-listing
10 creditsUpdate Listing
Update a listing while forcing a corrected brand, using images.
Request Body
Correct brand to apply in the updated listing.
Public image URLs for the product.
Optional user-provided context to refine the update (max 150 words).
Response Example
{
"updatedListingTitle": "Nike Air Max 90 White/Black",
"updatedListingDescription": "Clean Nike Air Max 90 sneakers with white upper and black accents. Light wear, intact soles, classic profile, ready for everyday use.",
"updatedKeywords": "nike, air max 90, sneakers, white, black, running, shoes, retro, mens, trainers"
}Response Fields
Updated title using the supplied brand.
Updated 25-word description.
Comma-separated list of 10 keywords.
Example Error Response
{
"error": "brand is required"
}curl -X POST https://sails.live/api/v1/update-listing \-H "Authorization: Bearer sails_sk_..." \-H "Content-Type: application/json" \-d '{"brand": "Nike","image_urls": ["https://example.com/shoe.jpg"],"additional_info": "Men's size 10, limited edition colourway."}'
Customise Example
/api/v1/generate-scaffold-listing
10 creditsGenerate Scaffold Listing
Fill a listing scaffold template by predicting values for each @placeholder key and return the filled template.
Request Body
Template that includes @placeholders to be populated.
Product images used to infer attribute values.
Optional user-provided context to refine the scaffold values (max 150 words).
Response Example
{
"title": "Nintendo Switch OLED Console",
"brand": "Nintendo",
"keywords": "nintendo, switch, oled, console, handheld, gaming, joy-con, dock, 64gb, portable",
"color": "White",
"product": "Console",
"quality": "Excellent",
"filledScaffold": "SuperSeller verified Nintendo Switch OLED Console Nintendo White Console. Quality is Excellent"
}Response Fields
Title inferred from the images.
Brand or model guess.
Comma-separated list of relevant keywords.
Original scaffold with @tokens replaced by generated values; unknown tokens removed.
Additional keys are generated from the scaffold @placeholders.
Example Error Response
{
"error": "scaffold is required"
}curl -X POST https://sails.live/api/v1/generate-scaffold-listing \-H "Authorization: Bearer sails_sk_..." \-H "Content-Type: application/json" \-d '{"scaffold": "SuperSeller verified @title @brand @color @product. Quality is @quality","image_urls": ["https://example.com/console.jpg"],"additional_info": "Boxed with dock and two Joy-Cons."}'