{% extends "admin/base.html" %} {% block title %}AI Content | Admin{% endblock %} {% block content %}

Fireworks-first generation

AI Content

Generate listing descriptions after import using stored facts only. Prices, HST, financing, warranty, and invented specs are blocked by the prompt and cleanup layer.

AI Settings

Provider

{{ ai_status.provider|title }}

API Status

{{ "Ready" if ai_status.enabled and ai_status.active_configured else "Needs setup" }}

Needs AI description

{{ missing_count }}

Generated listings

{{ generated_count }}

Model Guidance

Bulk listing descriptions: Kimi K2.5

Important pages: Kimi K2.6 or GLM-4.6

Translations later: Kimi K2.5

Difficult cleanup: Kimi K2 Thinking

Selected model: {{ ai_status.fireworks_model if ai_status.provider == 'fireworks' else ai_status.openai_model }}

Bulk Generate

Use small batches on shared hosting. Selected rows define the pool; Missing description only then skips rows that already have successful AI content and continues to the next selected row.

Selected 0 of {{ listings|length }} listings

{% for listing in listings %} {% else %} {% endfor %}
Public RefInternal StockTitleCategoryMakeAI Status
{{ listing.public_stock_number or "No public ref" }} {{ listing.stock_number }} {{ listing.title_en }} {{ listing.category }} {{ listing.make }} {{ "Generated" if listing.id in generated_listing_ids else ("Has manual/imported description" if listing.description_html_en else "Missing") }}
No listings found.

Recent Generations

{% for row in recent_generations %} {% else %} {% endfor %}
TimeListingProviderModelStatusError
{{ row.created_at }}{{ row.public_stock_number or row.stock_number }} {{ row.title_en or '' }}{{ row.provider }}{{ row.model }}{{ row.status }}{{ row.error }}
No AI generations yet.
{% endblock %}