Książka kucharska

Za pomocą naszego interfejsu API możesz generować tytuły i opisy produktów na podstawie dostępnych informacji o produktach. Interfejs API akceptuje:

  • Opcjonalny słownik JSON zawierający atrybuty produktu, np.: {"brand": "MyBrand", "title": "White Tee", "size": "XL"}.
  • Opcjonalne zdjęcie produktu, np. {"uri": "https://my-store.com/img/1.png"}.
  • Opcje formatowania tytułu, np. attribute_separator, target_language, attribute_order.
  • Przykłady dodawania etykiet do danych. (widoczny poniżej)

Najpierw skonfiguruj wymagania wstępne.

import requests
API_KEY=""
API_ENDPOINT=""

Przyspiesz tworzenie produktów, korzystając z sugerowanych tytułów na podstawie samego obrazu.

my_product_image = 'https://cdn.shopify.com/s/files/1/0653/5879/0892/products/1672082339438_550x825.jpg?v=1672082415'

payload = {}
payload |= {'output_spec': {'workflow_id': 'title', 'attribute_separator': '-'}}
payload |= {'product_info':{}}
payload['product_info'] |= {'product_image':{'uri': my_product_image}}

response = requests.post(API_ENDPOINT, params={'key': API_KEY}, json=payload)
suggested_title = response.json()['title']['text']
print(suggested_title)
Rustic Ceramic & Leather Leaves Necklace

Przyspiesz tworzenie produktów dzięki sugestiom tytułów na podstawie opisu.

Jeśli proces tworzenia produktu wymaga od użytkownika podania obrazu i krótkiego opisu, możesz użyć tego wzorca, aby zaproponować mu tytuł produktu.

my_product_description = 'selling size 12 nike dunks. oh they are red by the way!'

payload = {}
payload |= {'output_spec': {'workflow_id': 'title'}}
payload |= {'product_info':{'product_attributes': {'description': my_product_description}}}

response = requests.post(API_ENDPOINT, params={'key': API_KEY}, json=payload)
print(response.json()['title']['text'])
Nike Dunks Red Size 12

Przyspiesz tworzenie produktu, korzystając z sugerowanych tytułów na podstawie tytułu i opisu.

W tym przykładzie wyraźnie oznaczamy atrybuty produktu, które chcemy, aby AI zidentyfikowała.

title = 'Volumizing & Lengthening Mascara - Dark Brown'
description = "This high-impact mascara delivers both voluptuous volume and dramatic length without clumping or smudging."

payload = {}
payload |= {'output_spec': {'workflow_id': 'title'}}
payload |= {'product_info':{'product_attributes': {'title': title, 'description': description, 'brand': 'Luxe Beauty'}}}
payload |= {
  "title_examples": [
    {
      "product_info": {
        "title": "Lash Paradise Volumizing & Lengthening Mascara - Waterproof - Blackest Black",
        "colour": "Black"
      },
      "title_format": "product",
      "category": "mascara",
      "final_product_info": {
        "product": "Mascara",
        "brand": "Lash Paradise",
        "mascara_type": "Volumizing & Lengthening",
        "colour": "Blackest Black",
        "waterproof": "Waterproof",
      }
    },
    {
      "product_info": {
        "title": "Hypnose Drama Instant Full Body Volume Mascara - Black",
        "colour": "Black"
      },
      "title_format": "product",
      "category": "mascara",
      "final_product_info": {
        "product": "Mascara",
        "brand": "Hypnose",
        "sub_brand": "Drama",
        "mascara_type": "Full Body Volume",
        "colour": "Black",
        "eye_lash_type": "All lash types"
      }
    }
  ]
}

response = requests.post(API_ENDPOINT, params={'key': API_KEY}, json=payload)
print(response.json())
{
  "title": {
    "text": "Luxe Beauty Dark Brown Volumizing & Lengthening Mascara"
  },
  "metadata": {
    "metadata": {
      "attributes": {
        "brand": "Luxe Beauty",
        "colour": "Dark Brown",
        "mascara_type": "Volumizing & Lengthening",
        "product": "Mascara"
      },
    }
  }
}

Przyspiesz tworzenie produktów dzięki sugestiom opisów na podstawie tytułu.

Jeśli proces tworzenia produktu wymaga od użytkownika podania obrazu i tytułu, możesz użyć tego wzorca, aby zaproponować mu opis produktu.

my_product_title = 'Rustic Ceramic & Leather Leaves Necklace'

payload = {}
payload |= {'output_spec': {'workflow_id': 'description'}}
payload |= {'product_info':{'product_attributes': {'title': my_product_title}}}

response = requests.post(API_ENDPOINT, params={'key': API_KEY}, json=payload)
print(response.json()['description']['text'])
Rustic Ceramic & Leather Leaves Necklace is a beautiful necklace made from high-quality ceramic and leather. It features a unique design that is sure to turn heads.

Przyspiesz tworzenie produktów, uzyskując tytuł i opis na podstawie marki i koloru.

Zwróć uwagę, że w tym przykładzie ustawiliśmy wartość workflow_id na "tide", aby uzyskać zarówno tytuł, jak i opis.

payload = {}
payload |= {'output_spec': {'workflow_id': 'tide'}}
payload |= {'product_info':{'product_attributes': {'brand': 'Mr. Beast', 'color': 'purple'}}}
payload['product_info'] |= {'product_image':{'uri':'https://mrbeast.store/cdn/shop/files/0015dlv_0000_327.jpg?v=1702754475&width=500'}}

response = requests.post(API_ENDPOINT, params={'key': API_KEY}, json=payload)
print(response.text)
{
  "title": {
    "text": "Pajamas - Mr. Beast | Purple"
  },
  "description": {
    "text": "Slip into the ultimate comfort and style with these Mr. Beast pajamas in a vibrant shade of purple. Crafted from the softest materials, these pajamas will envelop you in a cozy embrace, ensuring a restful night's sleep. The shorts feature a relaxed fit, allowing for easy movement, while the top boasts a classic design with a comfortable neckline. Whether you're lounging at home or drifting off to dreamland, these Mr. Beast pajamas are the perfect choice for a peaceful and stylish slumber."
  },
}

Obsługa języków docelowych

To pole określa język tekstu opisu wygenerowanego w odpowiedzi interfejsu API. Jest on dodawany w ramach parametrów output_spec.

{"output_spec": {"target_language": "language"}}

Przykładowe wartości:

"korean" (Korean)
"english" (English)
"spanish" (Spanish)
"french" (French)
"pirate" (Pirate)

Przykładowy JSON ładunku

title = "Granos de café negro"
description = "Los granos de café negro en California"

payload = {}
payload |= {"output_spec":
  {
    "workflow_id": "description",
    "target_language":"japanese", # specify language here
    "attribute_order": ["scent", "product"],
    "tone":"playful"}
}
payload |= {"product_info":{"product_attributes": {"description": description, "brand": "Parfums de Paris", "scent": "Floral"}}}

Przykładowe dane wyjściowe

{
  "description": {
    "text": "カリフォルニアの黒いコーヒー豆は、あなたの鼻をくすぐる、甘く、フローラルな香りです。この香りは、コーヒー豆の豊かな香りと、ジャスミンとバラの繊細な花の香りをブレンドしたものです。カリフォルニアの黒いコーヒー豆は、あなたの家を居心地の良いカフェに変え、あなたをリラックスした気分にさせてくれるでしょう。この香りは、コーヒー好きにも、フローラルな香り好きにも最適です。カリフォルニアの黒いコーヒー豆で、あなたの家を幸せな香りで満たしましょう!"
  }
}

Wpisanie nieprawidłowego kodu języka może spowodować błąd.

Jeśli język lub wartość nie są obsługiwane, tekst opisu zostanie domyślnie ustawiony na język angielski.

Personalizacja tonu głosu w przypadku generowania opisów

Aby wyróżnić swoją markę i odróżnić sklep internetowy od innych, możesz spersonalizować styl wygenerowanych opisów. Interfejs Text API oferuje 2 opcje:

Możesz wybrać z listy tonów, aby wygenerować nowe opisy. Lista zawiera te style tonu:

  • Domyślny
  • Zabawny
  • Oficjalny styl
  • Przekonujący
  • Konwersacyjny

Możesz podać istniejące opisy lub inne komponenty tekstowe w tonie głosu Twojej marki. Model LLM przeanalizuje ton tekstu i wygeneruje „opis stylu pisania” na podstawie tych aspektów:

  • Stopień formalności (np. formalny, nieformalny)
  • Szczegółowość (np. zwięzły, bardzo szczegółowy)
  • ton (np. profesjonalny, informacyjny, pozytywny, perswazyjny);
  • struktura zdania (np. „proste zdanie z niewielką liczbą spójników”)
  • Najczęściej używane słowa i wyrażenia