{% comment %} Request card. The thumbnail input was changed from a URL field to a multipart file upload because: - URL-based ingestion forced the server to fetch arbitrary URLs for content scoring, which is an SSRF surface unless every downstream consumer (Intelligence) sandboxes its fetches perfectly. Removing the URL field eliminates the class. - Server-side validation of an uploaded file is straightforward (size cap + Pillow magic-byte verification) and lets us guarantee Intelligence only ever sees real JPEG/PNG/WebP bytes with bounded size, neither true for an arbitrary URL. The form posts as multipart/form-data; the view base64-encodes the validated bytes server-side before forwarding to Intelligence. {% endcomment %}

Score packaging

1-3 credit

Score a YouTube packaging (title + thumbnail) for click-through potential. Provide one or both, combined is most accurate. Title-only is 1 credit, thumbnail-only is 2, combined is 3

{% csrf_token %}
{# accept= is UX only, server still revalidates with Pillow. #}

Accepts JPEG/PNG/WebP under 5 MB.

{% if is_preview %}

{% if can_manage_billing %}Activate Intelligence to score your own packaging.{% else %}Ask an admin to activate Intelligence to score your own packaging.{% endif %}

{% endif %}
{# Response card #}

Result

{% if is_preview %} {% include "intelligence/_preview_badge.html" %} {% include "intelligence/_score_packaging_result.html" with result=preview_results.score_packaging %} {% else %} {% include "intelligence/_panel_empty_state.html" with hint="Submit the form to see the predicted CTR + percentile." %} {% endif %}