Automate product descriptions with smart personalization, saving you time and cutting costs.
Already have an account? Log in

API Documentation

Integrate The Gendai's AI-powered product description generation directly into your applications and workflows. Get your API key

Integrate The Gendai into your workflow

Our REST API allows you to generate professional product descriptions programmatically, making it easy to automate your content creation process at scale.

Whether you're building an e-commerce platform, managing a large product catalog, or creating automated workflows, our API provides the same powerful AI capabilities available in our web interface. Sign up for free

API Key Required

You need an API key to use our service. Create a free account to get your API key and start generating descriptions.

API Overview

The Gendai API is a RESTful service that accepts JSON requests and returns JSON responses. All requests must be authenticated with your API key.

Base URL

https://thegendai.com/api/v1

Authentication

Include your API key in the request header:

X-API-Key: your_api_key_here

Generate Product Description

Endpoint: POST /api/v1/generate-description

Request Body

Send a POST request with your product information and generation preferences:

Option 1: Using Image URL
{
  "brand_description": "We create premium eco-friendly products that combine sustainability with style",
  "audience": "Environmentally conscious consumers who value quality and sustainability",
  "tone_voice": "Professional yet approachable, emphasizing quality and environmental benefits",
  "specific_guidelines": "Always mention eco-friendly materials and sustainability benefits",
  "languages": ["english", "spanish", "french"],
  "product": {
    "id": "prod_123",
    "name": "Bamboo Water Bottle",
    "description": "Reusable water bottle made from sustainable bamboo",
    "category": "Eco-friendly",
    "price": "24.99",
    "image_url": "https://example.com/product-image.jpg"
  }
}
Option 2: Using Base64 Image
{
  "brand_description": "We create premium eco-friendly products that combine sustainability with style",
  "audience": "Environmentally conscious consumers who value quality and sustainability",
  "tone_voice": "Professional yet approachable, emphasizing quality and environmental benefits",
  "languages": ["english", "spanish"],
  "product": {
    "id": "prod_123",
    "name": "Bamboo Water Bottle",
    "category": "Eco-friendly",
    "price": "24.99",
    "image_b64": "/9j/4AAQSkZJRgABAQAAAQABAAD..."
  }
}

Supported Languages

The API supports generation in 39+ languages. Use the language codes in your request:

  • • english
  • • spanish
  • • french
  • • catalan
  • • german
  • • italian
  • • portuguese
  • • dutch
  • • swedish
  • • norwegian
  • • danish
  • • finnish
  • • romanian
  • • polish
  • • russian
  • • czech
  • • slovak
  • • hungarian
  • • greek
  • • turkish
  • • bulgarian
  • • croatian
  • • serbian
  • • slovenian
  • • ukrainian
  • • vietnamese
  • • indonesian
  • • tagalog
  • • chinese
  • • japanese
  • • korean
  • • arabic
  • • hindi
  • • thai
  • • hebrew
  • • basque
  • • galician
  • • welsh
  • • scottish_gaelic
Total: 39+ languages supported

Response Format

Successful requests return a JSON object with generated descriptions:

{
  "success": true,
  "data": {
    "product_id": "prod_123",
    "product_name": "Bamboo Water Bottle",
    "descriptions": {
      "english": "Discover sustainable hydration with our premium Bamboo Water Bottle...",
      "spanish": "Descubre la hidratación sostenible con nuestra Botella de Agua de Bambú premium...",
      "french": "Découvrez l'hydratation durable avec notre Bouteille d'Eau en Bambou premium..."
    },
    "original_product": {
      "id": "prod_123",
      "name": "Bamboo Water Bottle",
      "description": "Reusable water bottle made from sustainable bamboo",
      "category": "Eco-friendly",
      "price": "24.99",
      "image_url": "https://example.com/product-image.jpg"
    },
    "generation_settings": {
      "brand_description": "We create premium eco-friendly products that combine sustainability with style",
      "audience": "Environmentally conscious consumers who value quality and sustainability",
      "tone_voice": "Professional yet approachable, emphasizing quality and environmental benefits",
      "specific_guidelines": "Always mention eco-friendly materials and sustainability benefits",
      "languages": ["english", "spanish", "french"]
    },
    "generated_at": "2025-10-17 14:30:00"
  }
}

Code Examples

Here are examples in popular programming languages:

Option 1: Using Image URL
curl -X POST "https://thegendai.com/api/v1/generate-description" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key_here" \
  -d '{
    "brand_description": "We create premium eco-friendly products that combine sustainability with style",
    "audience": "Environmentally conscious consumers who value quality and sustainability",
    "tone_voice": "Professional yet approachable, emphasizing quality and environmental benefits",
    "languages": ["english", "spanish"],
    "product": {
      "name": "Bamboo Water Bottle",
      "category": "Eco-friendly",
      "price": "24.99",
      "image_url": "https://example.com/product-image.jpg"
    }
  }'
Option 2: Using Base64 Image
curl -X POST "https://thegendai.com/api/v1/generate-description" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key_here" \
  -d '{
    "brand_description": "We create premium eco-friendly products that combine sustainability with style",
    "audience": "Environmentally conscious consumers who value quality and sustainability",
    "tone_voice": "Professional yet approachable, emphasizing quality and environmental benefits",
    "languages": ["english", "spanish"],
    "product": {
      "name": "Bamboo Water Bottle",
      "category": "Eco-friendly",
      "price": "24.99",
      "image_b64": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="
    }
  }'
Option 1: Using Image URL
const response = await fetch('https://thegendai.com/api/v1/generate-description', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'your_api_key_here'
  },
  body: JSON.stringify({
    brand_description: 'We create premium eco-friendly products that combine sustainability with style',
    audience: 'Environmentally conscious consumers who value quality and sustainability',
    tone_voice: 'Professional yet approachable, emphasizing quality and environmental benefits',
    languages: ['english', 'spanish'],
    product: {
      name: 'Bamboo Water Bottle',
      category: 'Eco-friendly',
      price: '24.99',
      image_url: 'https://example.com/product-image.jpg'
    }
  })
});

const data = await response.json();
console.log(data);
Option 2: Using Base64 Image
// Convert file to base64
function fileToBase64(file) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onload = () => resolve(reader.result.split(',')[1]);
    reader.onerror = error => reject(error);
  });
}

// Usage with file input
const fileInput = document.getElementById('imageFile');
const file = fileInput.files[0];
const base64Image = await fileToBase64(file);

const response = await fetch('https://thegendai.com/api/v1/generate-description', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-Key': 'your_api_key_here'
  },
  body: JSON.stringify({
    brand_description: 'We create premium eco-friendly products that combine sustainability with style',
    audience: 'Environmentally conscious consumers who value quality and sustainability',
    tone_voice: 'Professional yet approachable, emphasizing quality and environmental benefits',
    languages: ['english', 'spanish'],
    product: {
      name: 'Bamboo Water Bottle',
      category: 'Eco-friendly',
      price: '24.99',
      image_b64: base64Image
    }
  })
});

const data = await response.json();
console.log(data);
Option 1: Using Image URL
import requests

url = "https://thegendai.com/api/v1/generate-description"
headers = {
    "Content-Type": "application/json",
    "X-API-Key": "your_api_key_here"
}
data = {
    "brand_description": "We create premium eco-friendly products that combine sustainability with style",
    "audience": "Environmentally conscious consumers who value quality and sustainability",
    "tone_voice": "Professional yet approachable, emphasizing quality and environmental benefits",
    "languages": ["english", "spanish"],
    "product": {
        "name": "Bamboo Water Bottle",
        "category": "Eco-friendly",
        "price": "24.99",
        "image_url": "https://example.com/product-image.jpg"
    }
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)
Option 2: Using Base64 Image
import requests
import base64

# Read and encode image file
def encode_image_to_base64(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

url = "https://thegendai.com/api/v1/generate-description"
headers = {
    "Content-Type": "application/json",
    "X-API-Key": "your_api_key_here"
}

# Encode the image
image_b64 = encode_image_to_base64("path/to/your/image.jpg")

data = {
    "brand_description": "We create premium eco-friendly products that combine sustainability with style",
    "audience": "Environmentally conscious consumers who value quality and sustainability",
    "tone_voice": "Professional yet approachable, emphasizing quality and environmental benefits",
    "languages": ["english", "spanish"],
    "product": {
        "name": "Bamboo Water Bottle",
        "category": "Eco-friendly",
        "price": "24.99",
        "image_b64": image_b64
    }
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
print(result)
<?php

$url = "https://thegendai.com/api/v1/generate-description";
$headers = [
    'Content-Type: application/json',
    'X-API-Key: your_api_key_here'
];

$data = [
    'brand_description' => 'We create premium eco-friendly products that combine sustainability with style',
    'audience' => 'Environmentally conscious consumers who value quality and sustainability',
    'tone_voice' => 'Professional yet approachable, emphasizing quality and environmental benefits',
    'languages' => ['english', 'spanish'],
    'product' => [
        'name' => 'Bamboo Water Bottle',
        'category' => 'Eco-friendly',
        'price' => '24.99',
        'image_url' => 'https://example.com/product-image.jpg'
    ]
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($httpCode === 200) {
    $result = json_decode($response, true);
    print_r($result);
} else {
    echo "Error: " . $response;
}

?>
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.node.ArrayNode;

public class TheGendaiAPIClient {
    private static final String API_URL = "https://thegendai.com/api/v1/generate-description";
    private static final String API_KEY = "your_api_key_here";

    public static void main(String[] args) throws IOException, InterruptedException {
        HttpClient client = HttpClient.newHttpClient();
        ObjectMapper mapper = new ObjectMapper();

        // Create request payload
        ObjectNode payload = mapper.createObjectNode();
        payload.put("brand_description", "We create premium eco-friendly products that combine sustainability with style");
        payload.put("audience", "Environmentally conscious consumers who value quality and sustainability");
        payload.put("tone_voice", "Professional yet approachable, emphasizing quality and environmental benefits");

        ArrayNode languages = mapper.createArrayNode();
        languages.add("english");
        languages.add("spanish");
        payload.set("languages", languages);

        ObjectNode product = mapper.createObjectNode();
        product.put("name", "Bamboo Water Bottle");
        product.put("category", "Eco-friendly");
        product.put("price", "24.99");
        product.put("image_url", "https://example.com/product-image.jpg");
        payload.set("product", product);

        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create(API_URL))
                .header("Content-Type", "application/json")
                .header("X-API-Key", API_KEY)
                .POST(HttpRequest.BodyPublishers.ofString(mapper.writeValueAsString(payload)))
                .build();

        HttpResponse<String> response = client.send(request,
                HttpResponse.BodyHandlers.ofString());

        if (response.statusCode() == 200) {
            System.out.println("Success: " + response.body());
        } else {
            System.err.println("Error: " + response.body());
        }
    }
}
#!/bin/bash

# Configuration
API_URL="https://thegendai.com/api/v1/generate-description"
API_KEY="your_api_key_here"

# JSON payload
PAYLOAD='{
  "brand_description": "We create premium eco-friendly products that combine sustainability with style",
  "audience": "Environmentally conscious consumers who value quality and sustainability",
  "tone_voice": "Professional yet approachable, emphasizing quality and environmental benefits",
  "languages": ["english", "spanish"],
  "product": {
    "name": "Bamboo Water Bottle",
    "category": "Eco-friendly",
    "price": "24.99",
    "image_url": "https://example.com/product-image.jpg"
  }
}'

# Make the API request
response=$(curl -s -w "HTTPSTATUS:%{http_code}" \
  -X POST "$API_URL" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $API_KEY" \
  -d "$PAYLOAD")

# Extract HTTP status code and body
http_code=$(echo "$response" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://')
body=$(echo "$response" | sed -e 's/HTTPSTATUS\:.*//g')

# Check response
if [ "$http_code" -eq 200 ]; then
    echo "Success:"
    echo "$body" | jq '.'
else
    echo "Error (HTTP $http_code):"
    echo "$body"
fi
require 'net/http'
require 'json'
require 'uri'

class TheGendaiAPIClient
  API_URL = "https://thegendai.com/api/v1/generate-description"

  def initialize(api_key)
    @api_key = api_key
  end

  def generate_description(brand_description:, audience:, tone_voice:, languages:, product:)
    uri = URI(API_URL)
    http = Net::HTTP.new(uri.host, uri.port)
    http.use_ssl = true if uri.scheme == 'https'

    request = Net::HTTP::Post.new(uri)
    request['Content-Type'] = 'application/json'
    request['X-API-Key'] = @api_key

    payload = {
      brand_description: brand_description,
      audience: audience,
      tone_voice: tone_voice,
      languages: languages,
      product: product
    }

    request.body = payload.to_json

    response = http.request(request)

    case response.code.to_i
    when 200
      JSON.parse(response.body)
    else
      raise "API Error (#{response.code}): #{response.body}"
    end
  end
end

# Usage example
client = TheGendaiAPIClient.new('your_api_key_here')

begin
  result = client.generate_description(
    brand_description: 'We create premium eco-friendly products that combine sustainability with style',
    audience: 'Environmentally conscious consumers who value quality and sustainability',
    tone_voice: 'Professional yet approachable, emphasizing quality and environmental benefits',
    languages: ['english', 'spanish'],
    product: {
      name: 'Bamboo Water Bottle',
      category: 'Eco-friendly',
      price: '24.99',
      image_url: 'https://example.com/product-image.jpg'
    }
  )

  puts "Success: #{result}"
rescue => e
  puts "Error: #{e.message}"
end
using System;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;

public class TheGendaiApiClient
{
    private readonly HttpClient _httpClient;
    private readonly string _apiKey;
    private const string ApiUrl = "https://thegendai.com/api/v1/generate-description";

    public TheGendaiApiClient(string apiKey)
    {
        _apiKey = apiKey;
        _httpClient = new HttpClient();
        _httpClient.DefaultRequestHeaders.Add("X-API-Key", _apiKey);
    }

    public async Task<string> GenerateDescriptionAsync()
    {
        var payload = new
        {
            brand_description = "We create premium eco-friendly products that combine sustainability with style",
            audience = "Environmentally conscious consumers who value quality and sustainability",
            tone_voice = "Professional yet approachable, emphasizing quality and environmental benefits",
            languages = new[] { "english", "spanish" },
            product = new
            {
                name = "Bamboo Water Bottle",
                category = "Eco-friendly",
                price = "24.99",
                image_url = "https://example.com/product-image.jpg"
            }
        };

        var jsonContent = JsonSerializer.Serialize(payload);
        var content = new StringContent(jsonContent, Encoding.UTF8, "application/json");

        try
        {
            var response = await _httpClient.PostAsync(ApiUrl, content);

            if (response.IsSuccessStatusCode)
            {
                return await response.Content.ReadAsStringAsync();
            }
            else
            {
                var errorContent = await response.Content.ReadAsStringAsync();
                throw new Exception($"API Error ({response.StatusCode}): {errorContent}");
            }
        }
        catch (HttpRequestException ex)
        {
            throw new Exception($"Request failed: {ex.Message}");
        }
    }

    public void Dispose()
    {
        _httpClient?.Dispose();
    }
}

// Usage example
class Program
{
    static async Task Main(string[] args)
    {
        var client = new TheGendaiApiClient("your_api_key_here");

        try
        {
            string result = await client.GenerateDescriptionAsync();
            Console.WriteLine($"Success: {result}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
        finally
        {
            client.Dispose();
        }
    }
}
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io"
    "net/http"
)

type Product struct {
    Name     string `json:"name"`
    Category string `json:"category"`
    Price    string `json:"price"`
    ImageURL string `json:"image_url"`
}

type APIRequest struct {
    BrandDescription     string   `json:"brand_description"`
    Audience            string   `json:"audience"`
    ToneVoice           string   `json:"tone_voice"`
    Languages           []string `json:"languages"`
    Product             Product  `json:"product"`
}

type APIResponse struct {
    Success bool        `json:"success"`
    Data    interface{} `json:"data"`
    Error   string      `json:"error,omitempty"`
}

func generateDescription(apiKey string) (*APIResponse, error) {
    const apiURL = "https://thegendai.com/api/v1/generate-description"

    // Create request payload
    reqData := APIRequest{
        BrandDescription: "We create premium eco-friendly products that combine sustainability with style",
        Audience:        "Environmentally conscious consumers who value quality and sustainability",
        ToneVoice:       "Professional yet approachable, emphasizing quality and environmental benefits",
        Languages:       []string{"english", "spanish"},
        Product: Product{
            Name:     "Bamboo Water Bottle",
            Category: "Eco-friendly",
            Price:    "24.99",
            ImageURL: "https://example.com/product-image.jpg",
        },
    }

    // Marshal to JSON
    jsonData, err := json.Marshal(reqData)
    if err != nil {
        return nil, fmt.Errorf("failed to marshal request: %w", err)
    }

    // Create HTTP request
    req, err := http.NewRequest("POST", apiURL, bytes.NewBuffer(jsonData))
    if err != nil {
        return nil, fmt.Errorf("failed to create request: %w", err)
    }

    // Set headers
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("X-API-Key", apiKey)

    // Make request
    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        return nil, fmt.Errorf("failed to make request: %w", err)
    }
    defer resp.Body.Close()

    // Read response
    body, err := io.ReadAll(resp.Body)
    if err != nil {
        return nil, fmt.Errorf("failed to read response: %w", err)
    }

    // Parse response
    var apiResp APIResponse
    if err := json.Unmarshal(body, &apiResp); err != nil {
        return nil, fmt.Errorf("failed to parse response: %w", err)
    }

    if resp.StatusCode != 200 {
        return nil, fmt.Errorf("API error (%d): %s", resp.StatusCode, apiResp.Error)
    }

    return &apiResp, nil
}

func main() {
    apiKey := "your_api_key_here"

    result, err := generateDescription(apiKey)
    if err != nil {
        fmt.Printf("Error: %v\n", err)
        return
    }

    fmt.Printf("Success: %+v\n", result)
}
N8N Workflow Integration

This N8N workflow demonstrates how to integrate The Gendai API into your automation workflows.

Requirements
  • N8N installed or access to N8N cloud
  • The Gendai API key
  • Basic understanding of N8N workflows
N8N Workflow JSON

Copy this JSON and paste it into N8N using "Import from Clipboard":

@__raw_block_0__{{ url('/') }}/api/v1/generate-description",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "X-API-Key",
              "value": "YOUR_API_KEY_HERE"
            }
          ]
        },
        "sendBody": true,
        "jsonBody": "={{ $json.api_payload }}",
        "options": {}
      },
      "id": "api-call",
      "name": "Generate Descriptions",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [900, 300]
    }
  ],
  "connections": {
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "Set Brand Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Brand Info": {
      "main": [
        [
          {
            "node": "Prepare API Call",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Prepare API Call": {
      "main": [
        [
          {
            "node": "Generate Descriptions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "pinData": {}
}
Setup Instructions
  1. Copy the JSON workflow below
  2. In N8N, click "Import from Clipboard"
  3. Paste the JSON and import
  4. Replace "YOUR_API_KEY_HERE" with your actual API key
  5. Customize the brand information in the "Set Brand Info" node
  6. Test the workflow with the manual trigger

Getting Started

  1. Create a free account
  2. Generate your API key from your account dashboard
  3. Make your first API request using the examples above
  4. Start integrating into your applications and workflows
Rate Limits

API requests are subject to rate limits based on your account plan. Free accounts can make up to 10 requests per day.

Start building with our API today

Works with any CSV — Any structure, any platform, fully compatible.

Upload CSV files directly from Shopify, PrestaShop, Magento, VTEX, WooCommerce, or any system. No formatting required, no technical setup—just instant results.

#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#

Common questions about boosting conversions with AI

Learn how The gendai transforms your product catalog into a sales-driving machine that consistently outperforms manual descriptions. See our process in action.

Most clients report measurable improvements within 2-3 weeks. Our AI creates descriptions that immediately address buyer psychology and overcome common purchase objections. The sales impact becomes visible as soon as you replace your existing descriptions with our conversion-optimized copy.

Start your free trial today and monitor your analytics—you'll see the difference in visitor behavior almost immediately.

ChatGPT creates generic content. The gendai creates sales-focused copy. Our AI is trained specifically on high-converting eCommerce descriptions and understands buyer psychology, SEO requirements, and conversion optimization. We analyze your product images and specifications to highlight selling points that generic AI tools miss.

Compare for yourself—upload your CSV and see descriptions that actually persuade customers to buy.

Absolutely. Our AI maintains your brand voice while applying proven conversion principles. Every description is crafted to reflect your product's unique value proposition and appeal to your target customer's emotions and needs. Quality is consistent across your entire catalog.

Test our quality risk-free—generate sample descriptions and see how they align with your brand standards.

Your free trial includes 10 complete product descriptions in your choice of languages, full SEO optimization, and conversion-focused copy. No credit card required, no time limits on testing the results. You can measure the performance against your current descriptions before committing.

Start immediately—upload your CSV and get 10 descriptions that you can A/B test against your current copy.

Our AI analyzes thousands of high-converting descriptions and applies proven psychological triggers that manual writers often miss. We combine visual analysis of your products with conversion-optimized language patterns. The result is copy that consistently outperforms both manual writing and generic AI tools in conversion testing.

See the difference yourself—try our free trial and compare conversion rates with your existing descriptions.

Ready to see measurable improvements in your conversion rates?

Join hundreds of successful stores already converting more visitors into customers with AI-powered descriptions that actually sell.
Start free, see results immediately, scale when ready.

Transform your conversions—upload your CSV and start free now!

Loading...
Loading...