bilibili-thumbnail-maker · git:20260820.c4aa600 · 2026-08-20 · sha256 1f45fa65e1fd259d
bilibili-thumbnail-maker git:20260820.c4aa600A
Immutable. This exact content never changes and is served at /api/v1/blob/1f45fa65e1fd259d.
--- name: "bilibili-thumbnail-maker" description: "Create a Bilibili video cover or Bilibili thumbnail from a topic, title, script, key frame, portrait, product photo, or reference image. This AI thumbnail maker builds a strong focal visual, readable hierarchy, and headline-safe space for Bilibili creators, explainers, tech reviews, lifestyle vlogs, games, food, and entertainment videos, then refines an accepted draft into a repeatable channel look." --- # Bilibili Thumbnail Maker Create one Bilibili video thumbnail from a topic, title, script, key-frame screenshot, portrait, product image, visual reference, or accepted draft. Reuse known channel style and viewer context, then complete the shortest route to one clear thumbnail. ## Choose the route - **Generate a cover:** use `beatra.images.generate` from the video topic, title, hook, or script when no source image is required. - **Compose from images:** upload an exported key frame, portrait, product, or ordered references and use `beatra.images.transform`. If the user only has a video file, ask for one exported key frame or screenshot; this image workflow does not extract frames from video. - **Refine an accepted thumbnail:** use `beatra.images.edit` with the accepted image as `images[0]` and no more than two normalized local edit regions. This Skill creates a new visual asset; use `cover-performance-preflight` to review an existing cover without making it, and use `product-video-studio` when the requested outcome is the video itself. ## Shape the thumbnail brief Reuse the topic, title, channel series style, intended viewer, visual references, and must-keep details. Select the canvas from the user-stated destination, source frame, or current publishing requirement; propose a landscape video-thumbnail canvas only when that is the user's intended destination, and freeze the exact canvas before the paid call. Plan one bold focal subject, clear small-size hierarchy, one visual hook, headline-safe space, and ordered image roles. Prefer a text-safe area rather than promising exact rendered Chinese words or logos. When the user requires in-image text, include the exact short text in the paid confirmation and check it character by character only if it is actually visible. ## Prepare and confirm one paid request Use only this Skill's bundled `scripts/mcp_client.py` for every remote Beatra operation. Do not configure or call a host Beatra Connector, and do not use REST/OpenAPI as a fallback. Upload local images through the bundled client and label each artifact's role in its preserved input order. Uploading does not inspect media; make visual claims only from accessible images and results. Keep `model: "auto"` and `count: 1` unless the user chooses otherwise. Call `beatra.models.list` only when availability, controls, compatibility, or price needs a real decision. Before generation, show and freeze the prompt, exact canvas, image roles and order, headline treatment, model, controls, and count. Planning is free; the generation request is paid work. After approval, create one opaque stable `client_request_id` without user content and submit once. A changed prompt, images or order, canvas, model, count, or control starts new paid work and requires a fresh confirmation and request ID. See [workflow](references/workflow.md) for payload shapes. ## Track, review, and deliver Save the returned `task_id` and poll only that task with `beatra.tasks.get`. When its ID is lost, find candidates through `beatra.tasks.list` and verify the selected task with `tasks.get`. Replay an identical payload with the same ID only when the original creation response is genuinely unknown. Slow polling, connection, update, or authorization errors never justify a replacement paid request. Use `beatra.tasks.cancel` only at the user's request. A `409` means the original task still runs, so continue tracking it. When the result is visible, review small-size recognition, focal hierarchy, safe-area contrast, crop risk, the confirmed canvas, and must-keep details. Deliver artifact links, observed dimensions, task ID, resolved model, and returned `billing.net_charged_credits`. Offer at most one focused, unexecuted refinement. ## References by task - Payloads, source-image ordering, and editing: [workflow](references/workflow.md) - First install or expired authorization: [installation and authentication](references/installation-and-auth.md) - Bundled client diagnostics: [Bundled MCP Client diagnostics](references/mcp-connection.md) - Registration: [installation registration](references/installation-registration.md) - Polling and output fields: [tasks and results](references/tasks-and-results.md) - Billing and recovery: [billing, errors, and recovery](references/billing-errors-and-recovery.md) - Disconnecting: [uninstall and disconnect](references/uninstall-and-disconnect.md) - Update behavior and integrity: [automatic updates and safety](references/automatic-updates-and-safety.md) ## Runtime and safe automatic updates The bundled client silently checks for a newer release at most once every 24 hours while a public command runs. When a newer version is available, the client installs it automatically without separate confirmation only from fixed official Beatra discovery and immutable CDN paths, verifies the archive, manifest, and every package-owned file, and replaces only files owned by this package. If any update step fails, the current installation remains usable and the original command continues. This choice persists per install. ```text python3 scripts/mcp_client.py update --auto off python3 scripts/mcp_client.py update --auto on python3 scripts/mcp_client.py update --check ```