An export sales team for consumer brands, inside your AI: markets, buyers, emails and pricing.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
What a Korean exporter of this product is likely to miss in a market — the unknown unknowns beyond the product category's usual compliance: rules that can stop the sale (e.g. UV filters not allowed in US sunscreen, meat ingredients from countries the EU has not listed), approvals needed before import or sale (radio certification such as FCC, EU RED, Japan's Giteki or Canada's ISED; India BIS; registration of special-use cosmetics in China), extra duties or charges that change the quote (US Section 232 on steel and aluminium content, EU CBAM), and filings or labels (EU deforestation due diligence, producer registration (EPR) for batteries and electronics, and packaging EPR such as Germany's LUCID register in packaging_epr, EU ban on generic green claims), plus Korea-side checks (strategic items, dangerous goods in shipping). Each rule is triggered by the exact HS code or a product trait (pass description or traits) and comes with kind, gate (true = clear it before anything else: the plan's before-you-sell gate), who must act (you or the importer), the date it applies from (upcoming rules too), the official source and the date it was checked; stale marks rules not re-checked for 180 days. The category compliance pointer and its official source are included per market. Omit country to check every market in the plan's table. Starting points, not legal advice. Free, read-only.
Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports.
Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits.
Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional: omit to check the markets of the plan's table.
Optional: the product's own name in English (e.g. 'vegan sunscreen').
Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits).
What a Korean exporter of this product is likely to miss in a market — the unknown unknowns beyond the product category's usual compliance: rules that can stop the sale (e.g. UV filters not allowed in US sunscreen, meat ingredients from countries the EU has not listed), approvals needed before import or sale (radio certification such as FCC, EU RED, Japan's Giteki or Canada's ISED; India BIS; registration of special-use cosmetics in China), extra duties or charges that change the quote (US Section 232 on steel and aluminium content, EU CBAM), and filings or labels (EU deforestation due diligence, producer registration (EPR) for batteries and electronics, and packaging EPR such as Germany's LUCID register in packaging_epr, EU ban on generic green claims), plus Korea-side checks (strategic items, dangerous goods in shipping). Each rule is triggered by the exact HS code or a product trait (pass description or traits) and comes with kind, gate (true = clear it before anything else: the plan's before-you-sell gate), who must act (you or the importer), the date it applies from (upcoming rules too), the official source and the date it was checked; stale marks rules not re-checked for 180 days. The category compliance pointer and its official source are included per market. Omit country to check every market in the plan's table. Starting points, not legal advice. Free, read-only.
| Argument | Type | Description |
|---|---|---|
| item* | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. |
| traits | string | Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits. |
| country | string | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional: omit to check the markets of the plan's table. |
| product | string | Optional: the product's own name in English (e.g. 'vegan sunscreen'). |
| description | string | Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits). |
{
"type": "object",
"required": [
"item"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports."
},
"traits": {
"type": "string",
"description": "Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits."
},
"country": {
"type": "string",
"description": "Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional: omit to check the markets of the plan's table."
},
"product": {
"type": "string",
"description": "Optional: the product's own name in English (e.g. 'vegan sunscreen')."
},
"description": {
"type": "string",
"description": "Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits)."
}
},
"additionalProperties": false
}Reply rates of country × buyer type (importer, distributor, wholesaler, retailer, brand, manufacturer, clinic) from 2.2M real export emails, shrunk toward the average so small samples do not mislead, ranked by the low end of the 90% interval. 'proven' = beats the average even with bad luck; 'promising' = too few contacts to be sure but could reach 2× average.
| Argument | Type | Description |
|---|---|---|
| tier | string | Which confidence tiers to return. |
| limit | integer | Rows to return. |
| country | string | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional. |
| buyer_type | string | Optional buyer type filter. |
{
"type": "object",
"properties": {
"tier": {
"enum": [
"all",
"proven",
"promising"
],
"type": "string",
"description": "Which confidence tiers to return."
},
"limit": {
"type": "integer",
"default": 8,
"maximum": 40,
"minimum": 1,
"description": "Rows to return."
},
"country": {
"type": "string",
"description": "Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional."
},
"buyer_type": {
"enum": [
"importer",
"distributor",
"wholesaler",
"retailer",
"brand",
"manufacturer",
"clinic"
],
"type": "string",
"description": "Optional buyer type filter."
}
},
"additionalProperties": false
}GTM engineering plan for one country: creator platforms to seed on, marketplaces to research, buyer channels, local-language and disclosure rules, product compliance pointers (with an official source link), the official tariff lookup and Korea FTA, and the treg.to endpoint ids (with per-call prices and example request bodies) to run creator discovery, vetting, marketplace research, social listening, ad-library and buyer-contact steps. Estimated data cost included.
| Argument | Type | Description |
|---|---|---|
| item | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; adds niche keywords and compliance pointers. |
| motion | string | Which part of the plan to return. 'all' adapts to the item: industrial goods get b2b, trade and search only. |
| traits | string | Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits. |
| country |
Everything TradeGraph knows about one country: reply rate and best buyer types, the product's import size/growth/Korea share and supplier mix, why other Korean exporters chose it, reply rates by industry, top US states (for the US), and the sales/creator channels and disclosure rules to use there.
| Argument | Type | Description |
|---|---|---|
| item | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional. |
| traits | string | Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits. |
| country* | string | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. |
| description | string | Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits). |
World exporters of a product (UN Comtrade, latest year), Korea's rank and value, and where Korea already sells it most.
| Argument | Type | Description |
|---|---|---|
| item* | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. |
{
"type": "object",
"required": [
"item"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports."
}
},
"additionalProperties": false
}Resolve a product description (any of 10 languages, e.g. 'vegan sunscreen', '컵라면', 'kimchi', 'キムチ', '3304') to one of the 35 HS4 items TradeGraph covers, or to the usual HS4 code of ~60 other common consumer products (kimchi 2005, shampoo 3305, candy 1704, ginseng roots 1211, ginseng extract 1302…) that gtm_plan and market_scan take with live UN Comtrade data. Ingredient words alone (ginseng, vitamin, collagen) do not decide the item: 'ginseng cream' is cosmetics 3304, 'ginseng shampoo' hair care 3305. For ginseng the answer adds hs_by_form (roots, extract, mixed preparations, drinks); for electric beauty devices it adds hs_by_form too (LED masks and microcurrent 8543.70, vibrating massagers 9019.10, hair stylers 8516). Use before other tools when unsure of the HS code.
| Argument | Type | Description |
|---|---|---|
| query* | string | Product name, alias or HS digits. |
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "Product name, alias or HS digits."
}
},
"additionalProperties": false
}START HERE. One call returns the export go-to-market plan for a product: which countries to sell to (UN Comtrade imports × reply rates from 2.2M real export emails, compared within the product's industry, plus the next-best markets to compare), which buyer types reply there, how many follow-ups to send, the channels (creator seeding and marketplaces for consumer goods; buyer lists and trade shows for industrial goods; see motion), compliance flags with an official source link (compliance_gate marks approvals that block the market until they pass; channel_plan.packaging adds EU packaging EPR), a before_you_sell checklist (sanctions, FTA and proof of origin, trademark, payment terms, holidays, re-export hubs), the official tariff lookup (tariff_by_market compares the markets side by side), data_first (where the data would start even when you pass a country), gated_markets (compared markets with such a gate), banned_markets (those of them closed outright by an ingredient ban, such as ingredients of human origin: no approval opens them, so data_first, the market the data picks and next_markets skip them), next_markets (where to move at week 13, by the same rule as data_first, skipping gated markets and exclude), English email drafts (first email, follow-ups, week-3 sample check-in, and quote_reply_email for when a buyer asks for a price first; for Japan the same drafts in Japanese as local_emails, first_email_variants included), reply_target (expected replies from the product's own industry in that market, sends for 10 replies, the week-13 rule; reply_pace checks your numbers against it each week), a 13-week schedule, buyer_sources (trade fairs with the next edition's dates, city and book_meetings_from, 6 weeks before; BuyKOREA, KOTRA), and the exact treg.to endpoints (ids + prices) to execute it. blind_spots lists what exporters miss in the focus market beyond the category's compliance pointer, triggered by the exact HS code and product traits (product_traits; pass description or traits): rules that can stop the sale, approvals before import, extra duties or charges and filings, each with who acts, the date it applies from, the official source and the date checked; blind_spots_by_market names them for the other markets in the table, blind_gate is the one that blocks the sale when the compliance pointer has no gate, and gated_markets includes markets with such a blocker. Called signed in (/mcp/account) for a plan the account has not saved, save_plan gives the my_progress call (start = the coming Monday) that puts it on the user's dashboard. Sanctioned markets are never picked and are flagged. The full answer (default) runs 40,000-80,000 characters; detail=brief keeps the plan and leaves out channel_plan.steps (call channel_plan for endpoint ids, prices and request bodies) and the alternative first-email drafts (first_email_variants, the Japanese ones too), listing what it left out in omitted: use it for a first answer or to compare markets, and the full answer when picking drafts in the weekly routine. Free, read-only.
Plan the product image set for one market: the marketplace's main-image rules (Amazon, Rakuten, Tmall, Shopee, TikTok Shop…), a 7-image gallery (real main image, local lifestyle, texture, how-to, benefits infographic, scale, trust) with edit-from-packshot prompts for treg.to image models, ad sizes per platform, AI and claims rules, and the estimated cost. Free, read-only.
| Argument | Type | Description |
|---|---|---|
| item | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; sets the product group. |
| country* | string | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. |
| product | string | The product in plain English as it looks. |
| variants | integer | Generated variants per frame. |
| marketplace | string | Optional marketplace, e.g. 'amazon', 'rakuten', 'shopee'; defaults to the market's main one. |
{
"type": "object",
"required": [
"country"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; sets the product group."
},
"country": {
"type": "string",
"description": "Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name."
},
"product": {
"type": "string",
"description": "The product in plain English as it looks."
},
"variants": {
"type": "integer",
"default": 2,
"maximum": 4,
"minimum": 1,
"description": "Generated variants per frame."
},
"marketplace": {
"type": "string",
"description": "Optional marketplace, e.g. 'amazon', 'rakuten', 'shopee'; defaults to the market's main one."
}
},
"additionalProperties": false
}Search the treg.to catalog (3,800+ endpoints across 110 providers) for the endpoints that do a job, e.g. 'find TikTok beauty creators', 'Amazon best sellers', 'verify buyer emails', '샤오홍슈 KOL 단가'. Returns endpoint ids, providers and per-call prices. Execute them with live_call when connected with a TradeGraph account (charged to its prepaid credits), or with the treg MCP server (https://treg.to/mcp/, tool `call`) / `treg call <id>` using the user's own treg token. Without an account TradeGraph never spends money.
| Argument | Type | Description |
|---|---|---|
| job* | string | What you want to do, in English or Korean. |
| limit | integer | Endpoints to return. |
{
"type": "object",
"required": [
"job"
],
"properties": {
"job": {
"type": "string",
"description": "What you want to do, in English or Korean."
},
"limit": {
"type": "integer",
"default": 6,
"maximum": 12,
"minimum": 1,
"description": "Endpoints to return."
}
},
"additionalProperties": false
}Import markets for a product ranked by size, with 3-year growth, Korea's share and the reply rate Korean exporters of that industry actually got there (reply_scope: industry = compared with the industry's average; none = no emails from that industry yet, so not ranked). 'pick' marks the Pareto frontier: no other market is both bigger and replies better. Korea (domestic) and sanctioned markets are excluded from picks; regional_hub flags re-export hubs whose imports overstate local demand.
| Argument | Type | Description |
|---|---|---|
| item* | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. |
| limit | integer | Markets to return. |
{
"type": "object",
"required": [
"item"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports."
},
"limit": {
"type": "integer",
"default": 10,
"maximum": 30,
"minimum": 1,
"description": "Markets to return."
}
},
"additionalProperties": false
}For products outside TradeGraph's 35 items: live UN Comtrade imports by country for any 4-digit HS code (latest complete year, 3-year growth, Korea's exports there), joined with TradeGraph reply rates for the product's industry, with Pareto picks. gtm_plan accepts the same HS code for a full plan. Free, read-only; the first call for a code takes a few seconds.
| Argument | Type | Description |
|---|---|---|
| hs* | string | 4-digit HS code, e.g. '1905' (biscuits, snacks), '2005' (kimchi), '1904' (instant rice), '2206' (makgeolli), '3305' (shampoo), '3303' (perfume). |
| limit | integer | Markets to return. |
{
"type": "object",
"required": [
"hs"
],
"properties": {
"hs": {
"type": "string",
"description": "4-digit HS code, e.g. '1905' (biscuits, snacks), '2005' (kimchi), '1904' (instant rice), '2206' (makgeolli), '3305' (shampoo), '3303' (perfume)."
},
"limit": {
"type": "integer",
"default": 15,
"maximum": 30,
"minimum": 1,
"description": "Markets to return."
}
},
"additionalProperties": false
}Measured from 2.2M real export emails: replies per 10,000 emails at each follow-up step, the recommended number of emails, how many days to wait before the next one (follow_up_after_days), when replies arrive, what replies say (interest, questions, meeting requests…), and the funnel per 10,000 emails. Use to set a sequence's length and timing.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Turn a FOB unit price into the landed cost, importer/distributor price and shelf price (incl. VAT) in a country — or, from a target shelf price, the highest FOB that reaches it. Channels: retail (importer-distributor → retailer), distributor (importer → distributor → retailer), marketplace (importer of record selling on a marketplace), cross_border (Japan only: you ship each order from Korea to the consumer, e.g. as a Qoo10 or Rakuten overseas seller; no importer, and no duty or import consumption tax while a parcel's customs value is ¥10,000 or less, 60% of the retail price for personal-use goods; cross_border says whether the price stays under that limit, flags goods Japan never exempts (knitwear, leather shoes, some leather bags and gloves, ski boots and sugars: excluded, excluded_some) and liquor or tobacco tax (excise), and what changes from 1 Apr 2028: items priced ¥10,000 or less before tax carry Japanese consumption tax paid by the seller or a designated marketplace (small_item, price_with_tax_jpy), and with the 60% rule gone dearer items pay duty and tax on delivery), b2b (importer-distributor → business end user such as a clinic or factory; the default for equipment, parts and medical devices) and b2b_dealer (importer → dealer → business end user). The b2b channels stop at the end-user price before VAT (price_point 'end_user'; shelf_usd then holds that price), because business buyers usually reclaim VAT. Uses standard VAT and food rates, Korea FTA status and typical margins by product group; duty defaults to the rate TradeGraph has checked where it has one (US Section 301 and its exceptions: us_duty; Japan's RCEP or general rate for seaweed, clothing, bags and shoes: jp_duty; Mexico's general tariff, as Korea has no FTA there, raised on 1 Jan 2026 for cosmetics, toys, bags and clothing: mx_duty), otherwise 0% with a note to look it up. compare lays the same FOB side by side in other markets, each with its own duty and VAT (compare 'auto' picks the item's largest import markets). Every assumption is returned and can be overridden. Where the European Central Bank publishes the market's currency (yen, euro, pound, yuan and others; not TWD, VND, SAR or AED), local gives the same prices in that currency at its reference rate (as_of), and target_shelf_local takes the target in that currency. Free, read-only.
| Argument |
|---|
Weekly pace check for one market: pass the buyers emailed so far (each buyer once, first emails only), the buyers who replied (any reply, a no counts) and, if known, the week of the 13-week schedule and how many replies were interested (warm). Call it first in the weekly routine and act on it before anything else: relay risk_note first when present (sanctions or export controls on that market), then status_text, advice (or decision_text once the target is reached) and send_this_week as they are; find_buyers_type is this week's buyer type and email_draft the first email to use (first_email or a key of gtm_plan first_email_variants); changed lists the changes made so far, to pass back next week; they agree with each other and with the web plan, and each gives one change to make, not a choice. Returns: status (one of too_early, no_replies, below, change_now, decision_moves, behind_schedule, normal_range, few_interested, above, on_track, or the decision next_market, change_and_retry, keep_going; on_track only when the current rate reaches 10 replies at the target, sends are on schedule and the interested share is not low), status_text, advice, send_this_week (new buyers to add this week: the catch-up number when more than a week behind; at next_market the first 200 in send_this_week_in), the rate Korean exporters of this product usually get there (the same industry × market rate as gtm_plan reply_target, from 2.2M real export emails), the normal range for that many sends (Poisson 5–95%), projected_replies_at_target, alternative_buyer_type, behind_schedule (weeks 2–12), decision_moves (week 13 or later before the target: the week to decide), and from 95% of sends_for_10_replies the decision with decision_text (fewer than 5 replies → next_market, named only then; 5–9 → same market once more, the next buyer type with a new subject line for retry_batch.send more, then 10 or more in total keeps going and fewer moves on; 10 or more → keep going). Pass exclude with markets already tried. With warm it adds warm_share against the usual share; when low (from 5 replies, under half the usual share) the status or decision says to change the offer and warm_note explains. Called signed in (/mcp/account) for a market with a saved buyer list, it adds account_note (the list's size, list_unsent — how many on it are not emailed yet by the sent number passed, counted from the front of the list — and the buyer types whose map searches have all run) and points to my_progress, which plans the week with that list. Free, read-only.
Plan AI product videos for one market and platform, Higgsfield-style: preset formats (hero orbit, texture macro, unboxing POV, 3-step routine, local lifestyle, AI presenter) with camera moves, a shot list, keyframe and image-to-video prompts, ready request bodies for treg.to video models (draft Seedance 1 Lite, standard Hailuo 2.3, premium Veo 3.1 Fast; HeyGen avatar for presenters), hook variants for A/B tests, the platform spec (aspect, length, safe zone), voice-over language, music, AI-label and claims rules, and the estimated cost. Starts from the real packshot so the pack never changes. Free, read-only — generation runs on the user's treg token.
| Argument | Type | Description |
|---|---|---|
| item | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; sets the product group for scenes and claims rules. |
| tier | string | Model tier: draft (cheap 480p tests), standard (Hailuo 2.3 768P), premium (Veo 3.1 Fast 1080p). |
| preset | string | Video format; auto = three presets that suit the product group. |
| country* | string | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. |
| product | string | The product in plain English as it looks, e.g. 'vegan sunscreen SPF50, 50 ml white tube with green cap'. Used in every prompt. |
| string |
| Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. |
| description | string | Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits). |
{
"type": "object",
"required": [
"country"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; adds niche keywords and compliance pointers."
},
"motion": {
"enum": [
"all",
"seeding",
"marketplace",
"social",
"b2b",
"trade",
"ads",
"search",
"trends"
],
"type": "string",
"description": "Which part of the plan to return. 'all' adapts to the item: industrial goods get b2b, trade and search only."
},
"traits": {
"type": "string",
"description": "Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits."
},
"country": {
"type": "string",
"description": "Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name."
},
"description": {
"type": "string",
"description": "Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits)."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"country"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional."
},
"traits": {
"type": "string",
"description": "Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits."
},
"country": {
"type": "string",
"description": "Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name."
},
"description": {
"type": "string",
"description": "Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits)."
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| item* | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. |
| detail | string | Optional: brief (about half the size, for chat clients with a result size limit) or full (default, every draft). |
| origin | string | Optional: where the product is made, ISO alpha-2 (default KR, or the signed-in company's origin). TradeGraph's reply data comes from Korean exporters: another origin is left out of the markets and origin_check says what applies. |
| traits | string | Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits. |
| country | string | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional: omit to let the data pick the market. |
| exclude | string | Optional: markets already tried, comma-separated ISO codes or names (e.g. 'DE,PL'); next_markets skips them. |
| product | string | Optional: the product's own name in English for the first-email draft (e.g. 'kimchi', 'sunscreen'), up to 60 characters. Defaults to the item name; for a live HS code without it the draft says 'products under HS 2005'. A name not in English is not put in the English drafts (product_note says what they use). |
| description | string | Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits). |
| product_local | string | Optional, Japan: the product's name in Japanese for the Japanese drafts (local_emails), e.g. 'カシミヤ混ニット'. A product written in Japanese is used there too. |
{
"type": "object",
"required": [
"item"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports."
},
"detail": {
"enum": [
"full",
"brief"
],
"type": "string",
"description": "Optional: brief (about half the size, for chat clients with a result size limit) or full (default, every draft)."
},
"origin": {
"type": "string",
"description": "Optional: where the product is made, ISO alpha-2 (default KR, or the signed-in company's origin). TradeGraph's reply data comes from Korean exporters: another origin is left out of the markets and origin_check says what applies."
},
"traits": {
"type": "string",
"description": "Optional: product traits, comma-separated, that change the rules within one HS code: sunscreen, whitening (also arbutin, kojic acid), vitamin_a (retinol), gel_nail (UV/LED gel, semi-cured strips), contact_lens (HS 9001: contact lenses, colour lenses), hair_dye, hair_loss, acne, antiperspirant, dandruff, fluoride (toothpaste), human_derived (human stem cell culture media, human placenta, cord blood: a ban in the EU, UK, China and ASEAN), stem_cell (stem cell culture media whose source is not named: check it), exosome, radio (Bluetooth, Wi-Fi, cellular), battery, meat, dairy, egg, aerosol, flammable. Also detected from item, product and description; the answer lists them in product_traits."
},
"country": {
"type": "string",
"description": "Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. Optional: omit to let the data pick the market."
},
"exclude": {
"type": "string",
"description": "Optional: markets already tried, comma-separated ISO codes or names (e.g. 'DE,PL'); next_markets skips them."
},
"product": {
"type": "string",
"description": "Optional: the product's own name in English for the first-email draft (e.g. 'kimchi', 'sunscreen'), up to 60 characters. Defaults to the item name; for a live HS code without it the draft says 'products under HS 2005'. A name not in English is not put in the English drafts (product_note says what they use)."
},
"description": {
"type": "string",
"description": "Optional: the product as the user describes it, any language (e.g. '비건 선크림 SPF50', 'Bluetooth speaker with a rechargeable battery', 'ramen with beef broth'). Used only to detect product traits that change the rules within one HS code (see traits)."
},
"product_local": {
"type": "string",
"description": "Optional, Japan: the product's name in Japanese for the Japanese drafts (local_emails), e.g. 'カシミヤ混ニット'. A product written in Japanese is used there too."
}
},
"additionalProperties": false
}| Type |
|---|
| Description |
|---|
| item | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; sets VAT (food rate), default margins and the default channel (b2b for equipment, parts and medical devices). |
| channel | string | Route to the consumer or, for goods sold to businesses, to the end user. Default: retail, or b2b when the item is sold to businesses. cross_border is for Japan only. |
| compare | string | Optional: other markets to price the same FOB and channel in, each with its own duty and VAT defaults (your duty_pct and vat_pct stay with this country; margins, freight and import costs carry over). Comma-separated ISO codes (e.g. "US,JP,MX", up to 5) or "auto" for the item's largest import markets that have a VAT table, skipping sanctioned markets and re-export hubs. Returns compare (this market first, then the others: shelf_usd, local shelf, multiple, duty_pct with duty_source checked/fta/free_port/none/yours, vat_pct, shelf_tax) and compare_basis (given, imports, or default when TradeGraph has no import figures for the item). Not for cross_border. |
| country* | string | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. |
| fob_usd | number | FOB price per unit in USD. Give this, target_shelf_usd or target_shelf_local. |
| targets | string | Optional: several shelf prices in USD to compare, comma-separated (e.g. "19.99,24.99,29.99", up to 6) — returns fob_at_targets, the highest FOB for each with the same assumptions. Use competitors' shelf prices to see what each allows. |
| vat_pct | number | Override the VAT/GST rate. |
| duty_pct | number | Import duty % of CIF for your tariff line (default 0, except the US: 12.5 — the combined duty on most Korean goods since 24 Jul 2026, KORUS included — or, when item is given, that HS code's US rate: 50% or 25% Section 232 on steel, aluminium and copper goods, 15% for Korean auto parts, 0% for electronics exempt from Section 301; check your line at the tariff_lookup link in the result). |
| parcel_usd | number | Channel cross_border: courier from Korea to the customer's door per unit in USD (default 5, an assumption; use your courier's quote). |
| description | string | Optional: the product's own name or a short description (e.g. '김스낵', 'seasoned seaweed snack'). Product traits in it pick the US duty line, e.g. seaweed snacks under HS 2008 are on the Section 301 exemption list. |
| freight_pct | number | Freight + insurance as % of FOB (default 8). |
| fulfillment_usd | number | Fulfilment per unit in USD for marketplace sales (default 4). |
| import_costs_pct | number | Broker, port, inland and labelling as % of CIF (default 4). |
| target_shelf_usd | number | Shelf price you want per unit in USD (incl. VAT where VAT applies; for the b2b channels the end-user price before VAT); returns the highest FOB that reaches it. |
| dealer_margin_pct | number | Dealer margin, % of its selling price (channel 'b2b_dealer', default 25). |
| retail_margin_pct | number | Retailer margin, % of its selling price. |
| seller_margin_pct | number | Your margin on marketplace sales, % of price (default 25). |
| target_shelf_local | number | The same target in the market's own currency (e.g. 2500 for ¥2,500 on Qoo10 Japan, 19.99 for €19.99 in Germany); converted at the ECB reference rate. Use it instead of target_shelf_usd. |
| importer_margin_pct | number | Importer margin, % of its selling price (channel b2b: the importer-distributor selling to the end user, default 30, 35 for medical devices; b2b_dealer: 15, or 20 for medical devices). |
| marketplace_fee_pct | number | Marketplace referral fee % (default 15). |
| distributor_margin_pct | number | Distributor margin, % of its selling price (channel 'distributor'). |
{
"type": "object",
"required": [
"country"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; sets VAT (food rate), default margins and the default channel (b2b for equipment, parts and medical devices)."
},
"channel": {
"enum": [
"retail",
"distributor",
"marketplace",
"cross_border",
"b2b",
"b2b_dealer"
],
"type": "string",
"description": "Route to the consumer or, for goods sold to businesses, to the end user. Default: retail, or b2b when the item is sold to businesses. cross_border is for Japan only."
},
"compare": {
"type": "string",
"description": "Optional: other markets to price the same FOB and channel in, each with its own duty and VAT defaults (your duty_pct and vat_pct stay with this country; margins, freight and import costs carry over). Comma-separated ISO codes (e.g. \"US,JP,MX\", up to 5) or \"auto\" for the item's largest import markets that have a VAT table, skipping sanctioned markets and re-export hubs. Returns compare (this market first, then the others: shelf_usd, local shelf, multiple, duty_pct with duty_source checked/fta/free_port/none/yours, vat_pct, shelf_tax) and compare_basis (given, imports, or default when TradeGraph has no import figures for the item). Not for cross_border."
},
"country": {
"type": "string",
"description": "Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name."
},
"fob_usd": {
"type": "number",
"description": "FOB price per unit in USD. Give this, target_shelf_usd or target_shelf_local."
},
"targets": {
"type": "string",
"description": "Optional: several shelf prices in USD to compare, comma-separated (e.g. \"19.99,24.99,29.99\", up to 6) — returns fob_at_targets, the highest FOB for each with the same assumptions. Use competitors' shelf prices to see what each allows."
},
"vat_pct": {
"type": "number",
"description": "Override the VAT/GST rate."
},
"duty_pct": {
"type": "number",
"description": "Import duty % of CIF for your tariff line (default 0, except the US: 12.5 — the combined duty on most Korean goods since 24 Jul 2026, KORUS included — or, when item is given, that HS code's US rate: 50% or 25% Section 232 on steel, aluminium and copper goods, 15% for Korean auto parts, 0% for electronics exempt from Section 301; check your line at the tariff_lookup link in the result)."
},
"parcel_usd": {
"type": "number",
"description": "Channel cross_border: courier from Korea to the customer's door per unit in USD (default 5, an assumption; use your courier's quote)."
},
"description": {
"type": "string",
"description": "Optional: the product's own name or a short description (e.g. '김스낵', 'seasoned seaweed snack'). Product traits in it pick the US duty line, e.g. seaweed snacks under HS 2008 are on the Section 301 exemption list."
},
"freight_pct": {
"type": "number",
"description": "Freight + insurance as % of FOB (default 8)."
},
"fulfillment_usd": {
"type": "number",
"description": "Fulfilment per unit in USD for marketplace sales (default 4)."
},
"import_costs_pct": {
"type": "number",
"description": "Broker, port, inland and labelling as % of CIF (default 4)."
},
"target_shelf_usd": {
"type": "number",
"description": "Shelf price you want per unit in USD (incl. VAT where VAT applies; for the b2b channels the end-user price before VAT); returns the highest FOB that reaches it."
},
"dealer_margin_pct": {
"type": "number",
"description": "Dealer margin, % of its selling price (channel 'b2b_dealer', default 25)."
},
"retail_margin_pct": {
"type": "number",
"description": "Retailer margin, % of its selling price."
},
"seller_margin_pct": {
"type": "number",
"description": "Your margin on marketplace sales, % of price (default 25)."
},
"target_shelf_local": {
"type": "number",
"description": "The same target in the market's own currency (e.g. 2500 for ¥2,500 on Qoo10 Japan, 19.99 for €19.99 in Germany); converted at the ECB reference rate. Use it instead of target_shelf_usd."
},
"importer_margin_pct": {
"type": "number",
"description": "Importer margin, % of its selling price (channel b2b: the importer-distributor selling to the end user, default 30, 35 for medical devices; b2b_dealer: 15, or 20 for medical devices)."
},
"marketplace_fee_pct": {
"type": "number",
"description": "Marketplace referral fee % (default 15)."
},
"distributor_margin_pct": {
"type": "number",
"description": "Distributor margin, % of its selling price (channel 'distributor')."
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| item* | string | Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. |
| sent* | integer | Buyers emailed so far in this market (count each buyer once; follow-ups don't add). |
| warm | integer | Optional: of the replies, how many were interested (a question, a sample request or a meeting; not a no). Compared with the usual interested share of replies; from 5 replies a low share adds warm_note. |
| week | integer | Optional: the week of the 13-week schedule they are in (1 = the week of the first 200 emails), to flag sends behind schedule or a decision that moves past week 13. |
| changed | string | Optional: changes already made in earlier weeks, as last week's changed (comma-separated: next_type, new_subject, new_subject_2, offer, retry, retry_type). A change once made is kept: the same verdict again keeps it instead of flipping back, a retry uses a subject line not sent yet, and retry (a retry batch already started) keeps that subject line in the following weeks; retry_type (the retry switched to a buyer type not tried yet) keeps that type's email. my_progress does this from the saved log. |
| country* | string | Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name. |
| exclude | string | Optional: markets already tried, comma-separated ISO codes or names (e.g. 'DE,PL'), skipped when naming the next market. |
| replies* | integer | Buyers who replied so far (any reply, including a no). |
| buyer_type | string | Optional: the buyer type the user sent to last week (last week's find_buyers_type); after a switch to the next type the check keeps it. |
{
"type": "object",
"required": [
"item",
"country",
"sent",
"replies"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports."
},
"sent": {
"type": "integer",
"default": 200,
"maximum": 1000000,
"minimum": 1,
"description": "Buyers emailed so far in this market (count each buyer once; follow-ups don't add)."
},
"warm": {
"type": "integer",
"default": 0,
"maximum": 1000000,
"minimum": 0,
"description": "Optional: of the replies, how many were interested (a question, a sample request or a meeting; not a no). Compared with the usual interested share of replies; from 5 replies a low share adds warm_note."
},
"week": {
"type": "integer",
"default": 0,
"maximum": 60,
"minimum": 0,
"description": "Optional: the week of the 13-week schedule they are in (1 = the week of the first 200 emails), to flag sends behind schedule or a decision that moves past week 13."
},
"changed": {
"type": "string",
"description": "Optional: changes already made in earlier weeks, as last week's changed (comma-separated: next_type, new_subject, new_subject_2, offer, retry, retry_type). A change once made is kept: the same verdict again keeps it instead of flipping back, a retry uses a subject line not sent yet, and retry (a retry batch already started) keeps that subject line in the following weeks; retry_type (the retry switched to a buyer type not tried yet) keeps that type's email. my_progress does this from the saved log."
},
"country": {
"type": "string",
"description": "Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name."
},
"exclude": {
"type": "string",
"description": "Optional: markets already tried, comma-separated ISO codes or names (e.g. 'DE,PL'), skipped when naming the next market."
},
"replies": {
"type": "integer",
"default": 0,
"maximum": 1000000,
"minimum": 0,
"description": "Buyers who replied so far (any reply, including a no)."
},
"buyer_type": {
"type": "string",
"description": "Optional: the buyer type the user sent to last week (last week's find_buyers_type); after a switch to the next type the check keeps it."
}
},
"additionalProperties": false
}| platform | string | Where the video runs; auto = the market's first creator platform. |
| variants | integer | Hook variants per preset (A/B test the first 2 seconds). |
| has_packshot | boolean | Whether a real product photo exists (default true). Without one the plan asks for it first. |
{
"type": "object",
"required": [
"country"
],
"properties": {
"item": {
"type": "string",
"description": "Product as an HS4 code (e.g. '3304') or a name in English or Korean (e.g. 'sunscreen', '라면'). Names cover TradeGraph's 35 items; any other product works as a 4-digit HS code (e.g. '1905' biscuits, '2005' kimchi, '3305' shampoo) with live UN Comtrade imports. Optional; sets the product group for scenes and claims rules."
},
"tier": {
"enum": [
"draft",
"standard",
"premium"
],
"type": "string",
"description": "Model tier: draft (cheap 480p tests), standard (Hailuo 2.3 768P), premium (Veo 3.1 Fast 1080p)."
},
"preset": {
"enum": [
"auto",
"hero-orbit",
"texture-macro",
"unboxing-pov",
"routine-steps",
"lifestyle-local",
"ai-presenter"
],
"type": "string",
"description": "Video format; auto = three presets that suit the product group."
},
"country": {
"type": "string",
"description": "Target country as ISO 3166-1 alpha-2 (e.g. 'US', 'JP') or an English/Korean name."
},
"product": {
"type": "string",
"description": "The product in plain English as it looks, e.g. 'vegan sunscreen SPF50, 50 ml white tube with green cap'. Used in every prompt."
},
"platform": {
"enum": [
"auto",
"tiktok",
"reels",
"shorts",
"xiaohongshu",
"douyin",
"amazon",
"meta-feed"
],
"type": "string",
"description": "Where the video runs; auto = the market's first creator platform."
},
"variants": {
"type": "integer",
"default": 2,
"maximum": 5,
"minimum": 1,
"description": "Hook variants per preset (A/B test the first 2 seconds)."
},
"has_packshot": {
"type": "boolean",
"description": "Whether a real product photo exists (default true). Without one the plan asks for it first."
}
},
"additionalProperties": false
}