Communitygithub.com

funi-ai/ads

Werbeproduktion für echte Produkte des Nutzers: UGC- und polierte Werbevideos (Moderator, Unboxing, Präsentation, Erfahrungsbericht, TV-Spot) sowie statische Anzeigen mit Werbetext. Für physische Produkte und Apps/SaaS.

Was ist ads?

Dieses Skill ermöglicht eine skalierte, qualitätsgesicherte Werbeproduktion, die auf echten Produktfotos und Bildschirmaufnahmen des Nutzers basiert. Es folgt zwei strengen Regeln: **Produkttreue** (jeder Frame mit einem physischen Produkt wird aus dem Nutzerfoto bearbeitet, nie aus Text neu generiert; Software wird nur durch echte Aufnahmen und Bildschirmaufnahmen gezeigt) und **Anspruchskontrolle** (jede Behauptung, jedes Zitat, jede Zahl und jeder Preis stammt aus Nutzerangaben, nichts wird erfunden). Der Workflow umfasst Preflight, ein rigides Frage-Antwort-Budget (maximal 3 Fragen vor dem Plan), die Auswahl von Präsentator, Stimme, Format und Plattform, die Generierung von Keyframes, Clips und Voice-Over sowie die Endmontage mit Untertiteln und Musik. Es unterstützt sowohl Videoformate (UGC, TV-Spot, Showcase, etc.) als auch statische Anzeigen und ist für Claude Code, Codex und Cursor konzipiert. Kostenkontrolle, Reparaturversuche und Sicherheitsrichtlinien sind integriert, um eine professionelle, ethisch korrekte Werbung zu gewährleisten.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/funi-ai/claude-plugins/tree/main/plugins/genmedia-skills/skills/ads

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Anzeigen

Eine inszenierte Werbeproduktion für ein Produkt, das der Nutzer bereits besitzt: Fakten, Drehbuch, Aufnahmeliste, genehmigte Keyframes, Clips, Stimme, Montage, Qualitätskontrolle. Zwei grundlegende Regeln. Produkttreue: Jeder Frame, der ein physisches Produkt zeigt, beginnt mit dem Foto des Nutzers über einen Bearbeitungs-Endpunkt, nichts wird aus Text neu interpretiert; Software wird nur durch echte Aufnahmen und Bildschirmaufnahmen des Nutzers gezeigt, zusammengesetzt und niemals durch ein generatives Modell geleitet (references/software-route.md). Anspruchskontrolle: Jede Behauptung, jedes Zitat, jede Zahl und jeder Preis im Drehbuch oder auf dem Bildschirm stammt aus den Angaben des Nutzers; nichts wird erfunden.

Schritt 0 – Preflight

command -v genmedia
python3 "${CLAUDE_SKILL_DIR}/scripts/gm.py" preflight
  • blockers nicht leer, CLI fehlt oder älter als 0.7.0 → /genmedia-skills:setup. Schlüssel fehlt → der Nutzer führt genmedia setup aus oder exportiert FAL_KEY selbst; warten. Niemals einen Schlüssel lesen, ausdrucken, anfordern oder eingeben.
  • config.announce_above_usd und config.confirm_above_usd (Standardwerte 0,50 und 2) für die Kostenbegrenzung und ffmpeg.found für den Montagepfad behalten.
  • Zuerst fortsetzen: .genmedia/projects/*/plan.md durchsuchen. Ein Plan für diese Anzeige existiert → lesen, python3 "${CLAUDE_SKILL_DIR}/scripts/pipeline.py" urls --label <slug> ausführen, am ersten unvollendeten Schritt fortsetzen. Niemals ein Projekt mit Ledger-Einträgen neu starten. Ein product-photoshoot-Plan für dasselbe Produkt → dessen PRODUKT-SPERRE und genehmigte Standbilder als Keyframe-Referenzen wiederverwenden.

UX-Regeln

  1. In der Sprache des Nutzers antworten (Türkisch rein → Türkisch raus). Modell-Prompts sind Englisch; gesprochene Zeilen, Untertitel und On-Image-Text bleiben in der Sprache des Publikums, in Anführungszeichen, genau wie genehmigt.
  2. Kein JSON, keine Anfrage-IDs oder Tool-Erzählungen im Chat. Still warten; höchstens eine Statuszeile pro Batch.
  3. Fragen-Budget: 3 vor dem Plan, eine nach der anderen, als beschriftete Optionen (AskUserQuestion, falls verfügbar), jede mit einem Standardwert, den du verwendest, wenn der Nutzer überspringt. Reihenfolge:
    • Produkt: Foto(s), oder für Software die echten Aufnahmen und eine Bildschirmaufnahme, plus was es ist und was darüber wahr ist. Nichts angehängt → danach fragen; dies ist die einzige Frage ohne Standardwert. Foto, aber keine Fakten → nur verwenden, was auf der Verpackung steht und auf dem Foto sichtbar ist, und den Rest unter "Ausgelassen" auflisten.
    • Moderator und Stimme. Standardwert: ein generierter synthetischer Moderator, der zum Publikum passt, Stimme in der Sprache des Publikums (der Sprache, in der der Nutzer schreibt, sofern nichts anderes angegeben). Optionen: generiert · ein @handle · mein eigenes Foto (Einwilligung) · kein Moderator.
    • Modus und Plattform. Standardwert: sprechender Moderator UGC, 15 s, 9:16 für Kurzform-Feeds. "Statisch" → Überschriftenformat, 4:5 plus 1:1. Jede Frage überspringen, die die Anfrage bereits beantwortet. Vage Anfrage ("Mach eine Anzeige dafür") → alle Standardwerte, unter Annahmen in der Plankarte aufgeführt. Einwilligung, Planfreigabe und die Kontrollpunkte sind nicht Teil des Budgets.
  4. Harte Stopps: die Plankarte (immer bei Video; bei statischen, wenn die Kostenbegrenzung eine Bestätigung verlangt), Keyframes vor jedem Clip, Clips und Stimme vor Musik, Untertitel und Montage. Stille oder ein erfolgreicher Auftrag ist niemals eine Genehmigung. Kreative Entscheidungen (Hook, Moderator, Take) gehören dem Nutzer.
  5. Kostenbegrenzung für den gesamten Plan einschließlich jeder Variante: unter dem Ankündigungswert → ausführen; dazwischen → einzeilige Schätzung und ausführen; bei oder über Bestätigungswert → auf ein Ja warten. Niemals ein Modell austauschen, das der Nutzer genannt hat; die günstigere Route als Zeile in der Plankarte anbieten.
  6. Begrenzte Reparatur: 3 Versuche pro Schritt, jedes Mal etwas ändern, niemals eine abgelehnte Richtlinie unverändert erneut senden. Ein Auftrag mit einer Anfrage-ID wird fortgesetzt, niemals erneut eingereicht. Eine Reparatur oder Wiederholung, die selbst den Bestätigungswert oder mehr kostet (ein Seedance-Sprech-Take tut das), benötigt ein neues Ja mit der laufenden Summe; ein fehlgeschlagener Auftrag wurde möglicherweise bereits abgerechnet.
  7. Sicherheit, nicht verhandelbar: keine erfundenen Erfahrungsberichte, Kunden, Bewertungen, Bewertungen, Benutzerzahlen, Auszeichnungen, medizinischen, finanziellen oder Einkommensbehauptungen, keine falsche Dringlichkeit oder erfundene Preise. Das Gesicht oder die Stimme einer echten Person benötigt die Bestätigung der Einwilligung des Nutzers. Ein generierter Moderator ist eine synthetische Person: dies bei der Auslieferung sagen und den Nutzer darauf hinweisen, dass Plattformen und einige Gesetze eine Offenlegung verlangen; niemals als Kunden bezeichnen. Keine Konkurrenznamen, Logos oder Verpackungen. Uploads und Ergebnisse befinden sich auf öffentlichen URLs: dies einmal sagen, bevor unveröffentlichte Produkte oder Fotos von Personen hochgeladen werden. Regeln und Formulierungen: references/scripts-and-claims.md.

Discovery-Schutz

references/routing-video.md, references/routing-audio.md, references/routing-image.md und references/routing-utility.md sind datierte Caches (überprüft 2026-09-19). Jeder einzelne Endpunkt im Plan wird vor dem Anzeigen der Plankarte bestätigt:

genmedia models --endpoint_id <id1>,<id2>,<id3> --status all --limit 50 --json
python3 "${CLAUDE_SKILL_DIR}/scripts/gm.py" schema <endpoint_id>
  • Jede ID muss zurückkommen und active sein (ohne --limit gibt der Aufruf höchstens 20 Zeilen zurück: eine fehlende Zeile ist kein Beweis für eine tote ID, noch einmal allein danach fragen); ansonsten die nächste Stufe dieser Aufgabe in der Routing-Referenz nehmen, sonst genmedia models "<name>" --no-classify --limit 10 --json, den neuesten aktiven Treffer nehmen und sagen, welches Modell lief.
  • Feldnamen, Enums und Limits stammen aus dem Schema, niemals aus dem Gedächtnis; sie übertragen sich nicht zwischen Familien (prompt vs text, image_url vs start_image_url, "5" vs 5).
  • Niemals IDs oder Felder erfinden. Niemals genmedia run ohne Endpunkt-ID ausführen. Neue Veröffentlichungen liegen unter Anbieter-Namespaces (bytedance/, creatify/, openai/, minimax/, veed/), nicht nur fal-ai/.

Routing

Produkttyp. Eine App, SaaS, Entwickler-Tool, Erweiterung oder alles, dessen Produkt eine Schnittstelle ist → die Software-Route: references/software-route.md vor der Planung lesen. Sie ersetzt die Keyframe- und statischen Regeln unten (keine Bearbeitung einer Aufnahme, kein von einem Modell eingebrannter Text); Drehbuch, Behauptungen, Stimme, Musik, Untertitel, Montage, Kostenbegrenzung und Kontrollpunkte bleiben wie hier beschrieben.

Liefergegenstand. Statische Wörter ("görsel", "Banner", "statisch", "Karussell", eine angegebene Überschrift) → statisches Format, references/static-formats.md. Bewegtbild- oder Sprachwörter, oder nichts gesagt → Video, Modus aus references/ad-modes.md: presenter (Standard), how-to, unboxing, showcase, problem-solution, testimonial (nur mit einem echten Zitat, das der Nutzer liefert), tv-spot.

Produktionsroute für Video (erster Treffer gewinnt):

SituationRoute
Keine On-Kamera-Sprache: Showcase, TV-Spot oder How-to mit Voice-OverB ohne den sprechenden Kopf: B-Roll + Voice-Over + Musik
Gesprochene Sprache ist nicht EnglischB. Türkisch auf Route A nur auf Wan 3.0, niemals Seedance: in einem nativen Hörtest (references/platform.md Abschnitt 10) war Wan richtig, während jede Seedance-Version falsch aussprach (ş als s, "merhala"); Veo 3.1 Lite, dort einwandfrei, wird nicht mehr auf fal gelistet. A nur, nachdem ein Testclip die Hörprüfung des Nutzers bestanden hat
Formulierung muss exakt sein (Markenname, Preis, rechtlicher Hinweis), eine feste Markenstimme oder dieselbe Stimme über Varianten hinwegB: TTS sagt den Text genau; native-audio-Modelle paraphrasieren und sprechen falsch aus
Länger als 15 s, oder Moderator plus B-Roll-CutawaysB
Englisch, ein kontinuierlicher Take von 6 bis 15 s, Moderator spricht zur KameraA
  • Route A: Eine Generation spricht die Zeile. Genehmigter Keyframe (Moderator mit dem echten Produkt) → native-audio image-to-video.
  • Route B: TTS pro Block (On-Kamera-Blöcke, Voice-Over-Blöcke) → sprechender Kopf nur für die On-Kamera-Blöcke → B-Roll aus genehmigten Keyframes → zusammenbauen. Stimme zuerst: ihre gemessene Länge bestimmt jede Clip-Dauer.

Rollen-Standards (aktiv 2026-09-19; Preisangaben sind datierte Hinweise, gm.py price entscheidet)

RolleEndpunktWarumPreis-Hinweis
Keyframe, Moderator oder Szene mit dem Produktbytedance/seedream/v5/pro/editbis zu 10 Referenzen halten Produkt und Moderator~USD 0,07/Bild + USD 0,0045 pro zusätzlicher Referenz
Endkarte, statische Anzeige, jeder Frame mit exaktem Textopenai/gpt-image-2.5/flare/editstärkste Texttreue, bis zu 16 Referenzen~USD 0,06/Bild bei quality: "high"
Generierte Moderator-Platte (nur eine Person, niemals das Produkt)bytedance/seedream/v5/pro/text-to-imageQualitätsstandard für Personen~USD 0,07/Bild
A: Sprechclip, Qualitätbytedance/seedance-2.5/us/image-to-videoArena #1 für synchronisierte Muttersprache; 4 bis 30 s~USD 0,57/s bei 720p, ~USD 0,26/s bei 480p
A: Sprechclip, Türkischalibaba/wan-3.0/image-to-video (start_image_url)das einzige gelistete native-audio-Modell, dessen Türkisch einen Muttersprachler-Hörtest bestanden hat (2026-09-21); ganzzahliges duration, resolution setzen~USD 0,05/s bei 480p, ~USD 0,10/s bei 720p
A: Sprechclip, Entwurf oder Budget, Englischcreatify/borealfür Anzeigen entwickelt; [VISUAL] [SPEECH] [SOUNDS] Prompt; seine Modellseite nennt Englisch als validierte Sprache; optionales sichtbares KI-Label~USD 0,01/s bei 720p
B: Stimme, Englischfal-ai/elevenlabs/tts/eleven-v3Standard-TTS~USD 0,10 pro 1000 Zeichen
B: Stimme, Türkisch und andere gelistete Sprachenfal-ai/gemini-3.1-flash-ttslanguage_code Enum enthält "Türkisch (Türkei)"; style_instructions~USD 0,05 pro 1000 Zeichen
B: sprechender Kopffal-ai/bytedance/omnihuman/v1.5Bild + Audio; unter 60 s bei 720p~USD 0,16/s Audio
B: sprechender Kopf, Entwurfveed/fabric-1.0 bei 480phalber Preis; resolution ist erforderlich~USD 0,08/s
B-Roll, Qualitätbytedance/seedance-2.5/us/image-to-videooptionales end_image_url für Enthüllungen~USD 0,57/s bei 720p
B-Roll, Entwurf oder Budgetminimax/h3-max-turbo/image-to-videoCent pro Clip~USD 0,04/s bei 768P (Einführungsrabatt endete 2026-09-30)
Musikbettelevenlabs/music/v2.5exakte Länge über music_length_ms~USD 0,60 pro angefangener Minute
Untertitelfal-ai/workflow-utilities/auto-subtitle; exakter Text (beliebige Sprache): veed/subtitleseingebrannt ohne lokales drawtext~USD 0,03/min; veed ~USD 0,10/min, 1 min Minimum
Concat, Mux, Skalierung, Endkartencliplokales ffmpeg, sonst references/routing-utility.mdkostenlos und exakt, wenn ffmpeg.foundCent

Tie-Breaker:

  1. Der Nutzer hat ein Modell genannt → nach der Live-Überprüfung verwenden; das Standardmodell in einer Zeile erwähnen, niemals stillschweigend austauschen.
  2. Qualitätsroute überschreitet den Bestätigungsschwellenwert (ein 15 s Seedance 2.5 Take bei 720p kostet etwa USD 8,50) → die Plankarte zeigt den Qualitätspreis und den Entwurfspreis nebeneinander an; der Nutzer wählt. Niemals stillschweigend das günstige wählen.
  3. @handle → /genmedia-skills:character löst es in Referenz-URLs und Ankertext auf; diese als Moderator-Referenzen im Keyframe-Auftrag verwenden. Niemals @handle in einem Prompt belassen.
  4. Kein Produktfoto → danach fragen (Software: Aufnahmen). Keines vorhanden → nur Konzept: an /genmedia-skills:image übergeben und sagen, dass es nicht das echte Produkt sein wird. Software ohne Aufnahmen erhält ein Drehbuch und eine Aufnahmeliste, niemals eine erfundene Schnittstelle.
  5. Store-Listing-Screenshots, Link-Karten oder Product Hunt-Bilder und alle Apple Ads "Kreative" (Apple baut seine Anzeigen aus der Produktseite) → /genmedia-skills:launch-graphics. Nur textfreie Produkt-Standbilder gewünscht → /genmedia-skills:product-photoshoot. Ein einzelner Clip ohne Drehbuch → /genmedia-skills:video. Ein organischer Kurzfilm ohne Werbeabsicht → /genmedia-skills:short-video. Ein erzählerischer Erklärfilm → /genmedia-skills:video-explainer. Marketplace-Listing-Karten → /genmedia-skills:marketplace-cards. Ein Thumbnail oder Cover → /genmedia-skills:youtube-thumbnail.

Benannte Fallen:

  • Neu interpretiertes Produkt. Text-to-Video oder Text-to-Image erzeugt ein ähnliches Aussehen. Jeder Produkt-Frame ist eine Bearbeitung des Nutzerfotos, und jeder Produkt-Clip beginnt mit einem genehmigten Keyframe.
  • Generierte Schnittstelle. Eine Bearbeitung, ein Text-to-Image oder ein Video-Auftrag, der eine Aufnahme berührt, gibt falsch geschriebene, erfundene UI zurück, und Plattformen lehnen Anzeigen ab, die eine Funktionalität zeigen, die der App fehlt. UI-Pixel stammen aus launch-graphics-Seiten und der Aufnahme; Bewegung stammt aus der Aufnahme oder einem lokalen Push.
  • Text aus einem Videomodell. Überschriften, Preise, Logos, Untertitel und rechtliche Hinweise aus einem Videomodell kommen verstümmelt heraus. Negativen Raum im Keyframe lassen; Text kommt auf der Endkarte (Typografie-Modell), als eingebrannte Untertitel oder im Editor des Nutzers.
  • Kling-Sprache. Kling v3 spricht nur Chinesisch oder Englisch und übersetzt alles andere automatisch ins Englische. Niemals türkischen Dialog dorthin leiten.
  • Flashtalk-Leinwand. Das Schema von fal-ai/flashtalk dokumentiert eine feste 768x448 Querformat-Ausgabe: keine Verwendung für eine 9:16-Anzeige. Entwurfsköpfe gehen zu veed/fabric-1.0.
  • Mux schneidet auf den kürzeren Input. fal-ai/ffmpeg-api/merge-audio-video ist so lang wie der kürzere von Bild und Ton (eine lange Stimme verliert ihr Ende, eine kurze schneidet das Bild) und ersetzt die eigene Audiospur des Clips. Immer gleiche Länge für beide.
  • duration: "auto" auf Seedance macht die Kosten unkalkulierbar. Immer setzen. Boreal und MiniMax nehmen eine Zahl, Seedance einen String.
  • OmniHuman-Standard. resolution ist standardmäßig 1080p (Audio unter 30 s). "720p" senden, es sei denn, der Nutzer hat nach 1080p gefragt.
  • Synthetischer Kunde. Ein generiertes Gesicht, das sagt "Ich habe 8 Kilo abgenommen", ist ein erfundener Erfahrungsbericht, egal wie der Prompt es nennt. Siehe references/scripts-and-claims.md.

Arbeitsablauf

  1. Aufnahme innerhalb des Fragen-Budgets. Einen Slug wählen (serum-ugc): es ist der Batch label, der Ledger-Filter, genmedia-output/<slug>/ und .genmedia/projects/<slug>/. Jede natürlichsprachliche Bezeichnung funktioniert; Helfer transliterieren türkische Buchstaben. Plattform → Seitenverhältnis und Länge: references/ad-modes.md (Plattformtabelle; die aktuellen Anzeigenspezifikationen der Plattform prüfen).
  2. Jedes Produktfoto mit dem Read-Tool ansehen. HEIC, AVIF, TIFF oder CMYK → zuerst in PNG oder sRGB JPEG konvertieren (references/troubleshooting-ads.md). Die PRODUKT-SPERRE in .genmedia/projects/<slug>/plan.md schreiben: Form, Proportionen, Materialien, Farben, Etikettentext wörtlich, was sich niemals ändern darf, welche Seiten nicht sichtbar sind.
  3. Faktenblatt. Auflisten, was über das Produkt wahr ist und woher jede Tatsache stammt: die Nachricht des Nutzers, Markennotizen, die Verpackung selbst oder eine Produktseite. Niemals Behauptungen hinzufügen, die nicht verifiziert sind. Ausgelassene Annahmen auflisten.
  4. Drehbuch (references/scripts-and-claims.md). Hook, Aufbau, Call-to-Action. Jede Behauptung mit einer Quellenangabe kennzeichnen. Geänderte Versionen des Nutzers immer in Anführungszeichen und genau einhalten; niemals paraphrasieren.
  5. Keyframes. Jeden Keyframe als Aufgabe vom Typ edit auf dem Produktfoto (edit endpoint, 4+ Referenzen) oder als text-to-image nur für das Moderatorporträt (text, aber niemals mit dem Produkt) modellieren. Negativen Raum für Titel lassen. Die Endkarte (gpt-image-2.5/flare/edit) enthält den Call-to-Action, die URL, das Logo, den Preis und den rechtlichen Hinweis – immer als letztes Element. Unterkarten sind optional.
  6. Route auswählen (A oder B), aus der Tabelle oben.
    • Route A → Clip generieren. Die Keyframe-URL als start_image_url senden, den Text im Prompt als wörtliche Rede setzen. Wenn Seedance die Ziffern nicht richtig ausspricht ("two nine ninety-nine" für "29,99") → zu Route B wechseln, es sei denn, das Ergebnis wurde genehmigt.
    • Route B → TTS generieren. voice aus den Optionen des Nutzers oder dem Standard wählen. Die Audiolänge messen. Dann den sprechenden Kopf (OmniHuman oder Fabric) und die B-Roll generieren. Die B-Roll-Länge an den Sprechblock anpassen.
  7. Musik (elevenlabs/music/v2.5). music_length_ms auf die Gesamtvideolänge setzen. Stimmung und Genre basierend auf dem Anzeigentyp.
  8. Montage. Zuerst locale Prüfung auf ffmpeg.found. Wenn gefunden: lokale ffmpeg-Befehle zum Zusammenführen und Muxen verwenden (references/routing-utility.md). Wenn nicht gefunden: fal-ai/ffmpeg-api/merge-audio-video oder fal-ai/ffmpeg-api/concat (aber auf gleiche Längen achten). Untertitel mit auto-subtitle oder veed/subtitles nach der Montage als separate Spur einbrennen.
  9. Qualitätskontrolle. Das Video mit dem Tool abspielen (read oder media Befehl). Auf Synchronisation, Tonqualität, Lesbarkeit des Textes und Einhaltung der Markenrichtlinien prüfen. Splits, falsche Takes oder fehlerhafte Einblendungen als Reparatur markieren.
  10. Auslieferung. Das Video oder statische Bild zusammen mit einer Manifest-Datei (manifest.json) und einer Plankarte im Chat bereitstellen. Die Plankarte enthält: Produktname, Plattform, Dauer, Kosten, Überraschungen und eine Liste aller generierten Assets.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

funi-ai/demo-video

Product demos, store previews, App Store header/search videos and loops cut from the user's REAL screen recording: trimmed, sped, zoomed, framed, captioned, voiced with local ffmpeg. Models add only what is not the product: narration (Eleven v3, Gemini TTS for Turkish), music and UI sound. Use when: "make a demo video of my app", "App Store preview video", "App Store header video", "Google Play promo video", "turn this screen recording into a demo", "GIF loop for my changelog", "Product Hunt launch video", "ekran kaydımdan tanıtım videosu yap", "changelog için GIF döngüsü". Chain: takes recordings, device frames (`layers`) and end cards from `launch-graphics`; produces MP4, WebM, GIF, SRT/VTT and posters. NOT for: generated b-roll shorts (use `short-video`); explainers with generated pictures (use `video-explainer`); paid ads (use `ads`); store screenshots, link cards (use `launch-graphics`); one generated clip (use `video`); voice or music alone (use `audio`); joining finished files (use `pipelines`).

funi-ai/youtube-thumbnail

Thumbnails and covers that survive at small size: YouTube thumbnails (16:9), Shorts, Reels and TikTok covers (9:16), podcast and course covers (1:1), from a title plus an optional face photo, @handle character, brand colours or a frame of the user's own video. Text baked in by GPT Image 2.5; faces locked through reference edits. Use when: "make a thumbnail for my video", "YouTube thumbnail with my face", "Shorts cover", "podcast cover art", "thumbnail from this frame", "change only the text on the thumbnail", "videoma thumbnail yap", "kapak görseli hazırla", "küçük resimdeki yazıyı değiştir". Chain: consumes an @handle from `character` and stills or frames from `image` and `video`; produces sized PNG and JPEG. NOT for: posters, photo edits (use `image`); logos (use `brandkit`); link cards, OG images (use `launch-graphics`); ad creatives (use `ads`); the video (use `video`, `short-video`); new characters (use `character`); batches (use `pipelines`); model choice (use `models`); setup problems (use `setup`).

Verwandte Skills