Listing Generation API

Generate optimized resale listings from product photos with AI. One API call, all 5 platforms.

eBay Poshmark Mercari Facebook Depop

Quickstart

Get started in 30 seconds. 10 free listings/month, no credit card required.

1. Get your API key

Sign up at fliplistai.com, then generate an API key from your dashboard.

2. Generate a listing

curl -X POST https://fliplist-api.sundeen10.workers.dev/api/v1/generate \
  -H "X-API-Key: fl_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "images": ["BASE64_IMAGE_DATA"],
    "platform": "ebay",
    "description": "Nike Air Max 90, size 10, barely worn",
    "condition": "Like New"
  }'

Generate for all 5 platforms at once

curl -X POST https://fliplist-api.sundeen10.workers.dev/api/v1/generate \
  -H "X-API-Key: fl_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "images": ["BASE64_IMAGE_DATA"],
    "platform": "all"
  }'

JavaScript Example

// Convert image to base64
var reader = new FileReader();
reader.onload = async function(e) {
  var base64 = e.target.result.split(",")[1];

  var res = await fetch("https://fliplist-api.sundeen10.workers.dev/api/v1/generate", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "X-API-Key": "fl_your_api_key_here"
    },
    body: JSON.stringify({
      images: [base64],
      platform: "all",              // or "ebay", "poshmark", etc.
      description: "Optional notes", // brand, flaws, etc.
      condition: "Like New"          // optional
    })
  });

  var data = await res.json();
  console.log(data.listing);
  // data.listing.title, data.listing.description,
  // data.listing.priceLow/Mid/High, data.listing.tags, etc.
};
reader.readAsDataURL(imageFile);

Python Example

import requests, base64

with open("product.jpg", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode()

resp = requests.post(
    "https://fliplist-api.sundeen10.workers.dev/api/v1/generate",
    headers={"X-API-Key": "fl_your_api_key_here"},
    json={
        "images": [image_b64],
        "platform": "ebay",
        "description": "Nike Air Max 90, worn twice",
        "condition": "Like New"
    }
)
listing = resp.json()["listing"]
print(listing["title"])
print(listing["description"])
print(f"Price: ${listing['priceMid']}")

API Reference

POST/api/v1/generate

Generate an optimized listing from product photos and/or description.

Headers

HeaderRequiredDescription
X-API-KeyYesYour API key (starts with fl_)
Content-TypeYesapplication/json

Request Body

FieldTypeRequiredDescription
imagesstring[]*Array of base64-encoded images (max 5, max 10MB each)
descriptionstring*Item description, notes, brand info
platformstringNoebay (default), poshmark, mercari, facebook, depop, or all
conditionstringNoItem condition (e.g., "Like New", "Good", "Fair")
categorystringNoItem category hint

* At least one of images or description is required.

Success Response (200)
{
  "listing": {
    "item": { "brand": "Nike", "type": "Sneakers", "condition": "Like New", ... },
    "title": "Nike Air Max 90 Men's Size 10 Like New White ...",
    "description": "Up for sale is a pristine pair of Nike Air Max 90...",
    "category": "Clothing, Shoes & Accessories > Men > Athletic Shoes",
    "priceLow": 65,
    "priceMid": 85,
    "priceHigh": 110,
    "tags": ["Nike", "Air Max 90", "Sneakers", ...],
    "hashtags": ["#Nike", "#AirMax", "#Sneakers", ...],
    "isRare": false,
    "rareReason": null,
    "qualityScore": 82,
    "improvements": ["Add close-up of sole wear", "Mention original box"]
  },
  "platform": "ebay",
  "usage": { "used": 3, "limit": 10, "remaining": 7 }
}
Error Responses
StatusCodeDescription
401missing_api_keyNo X-API-Key header
401invalid_api_keyKey not found
400missing_inputNo images or description provided
400invalid_platformUnknown platform value
429limit_reachedMonthly quota exceeded
500processing_errorAI generation failed

GET/api/v1/usage

Check your current usage and remaining quota.

Success Response (200)
{
  "tier": "free",
  "tier_name": "Free",
  "monthly_limit": 10,
  "monthly_used": 3,
  "monthly_remaining": 7,
  "period": "2026-03"
}

API Pricing

Start free. Each listing includes AI photo analysis, optimized copy, pricing, tags, and quality score.

Free
$0
forever
  • 10 listings/month
  • All 5 platforms
  • Photo analysis
  • Quality score
Starter
$19/mo
$0.095/listing
  • 200 listings/month
  • All 5 platforms
  • Photo analysis
  • Email support
Business
$399/mo
$0.020/listing
  • 20,000 listings/month
  • All 5 platforms
  • Photo analysis
  • Dedicated support

Use Cases

WhoWhyPlan
Reseller appAdd AI listing generation to your appPro / Business
MarketplaceHelp sellers create better listingsBusiness
Thrift store POSAuto-generate listings at checkoutStarter / Pro
Browser extensionGenerate listings from any product pageStarter
Side projectExperiment with AI listing generationFree

Embed Widget

Add FlipList's listing generator to your website:

<iframe
  src="https://fliplistai.com?embed=true&key=fl_your_api_key"
  width="100%" height="700"
  style="border:none;border-radius:12px"
></iframe>

Support

Questions? Email [email protected] or open an issue on GitHub.