Skills Plugins MCP Prompt Model 博客 我的中心
コンテンツ制作 #image #video #api #ai

pixar-ad

Builds a stylized 3D animated ad on the Novoads REST API as a STORYBOARD: four to six beats, each rendered from its own key frame, narration laid into the gaps, a music bed, captions burned on, assembled locally with ffmpeg. Carries the genre's beat formulas (anthropomorphized problem character, protagonist reveal, mascot mechanism scene, composited end card). Use for ANY Pixar-style, Disney-style, 3D animated or animated-film-look ad at ANY length: "Pixar style ad", "3D animated ad", "animated movie look", "cute 3D character ad", "a quick animated ad", "15 second animated ad", "30 second animated ad", "storyboard ad", "several scenes", "animated ad with a voice-over", "little mascots", or a product URL or photo for an emotional animated spot. No one-call tier, so ffmpeg is required. Not for stop-motion clay (use claymation-ad), talking-head UGC (novoads-api), video cloning, or static image ads.

DeepseekModel キュレーション済みスキル 品質 良好 · 64 v1.0.0

取得

https://deepseekmodel.com/api/download.php?id=novoads-agent-skills-skills-pixar-ad-skill-md&format=skill
ダウンロード .skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name pixar-ad metadata {"packVersion":"1.2.0"} description Builds a stylized 3D animated ad on the Novoads REST API as a STORYBOARD: four to six beats, each rendered from its own key frame, narration laid into the gaps, a music bed, captions burned on, assembled locally with ffmpeg. Carries the genre's beat formulas (anthropomorphized problem character, protagonist reveal, mascot mechanism scene, composited end card). Use for ANY Pixar-style, Disney-style, 3D animated or animated-film-look ad at ANY length: "Pixar style ad", "3D animated ad", "animated movie look", "cute 3D character ad", "a quick animated ad", "15 second animated ad", "30 second animated ad", "storyboard ad", "several scenes", "animated ad with a voice-over", "little mascots", or a product URL or photo for an emotional animated spot. No one-call tier, so ffmpeg is required. Not for stop-motion clay (use claymation-ad), talking-head UGC (novoads-api), video cloning, or static image ads. Novoads Pixar Ad One product in. A 30 to 60 second stylized 3D animated ad out, cut from four to six separately rendered beats, with narration, music and captions. Every animated ask lands here, including the short ones. There is no one-call 15-second tier in this repo. A request for "a quick animated ad" is a request for a four-beat board rendered beat by beat and assembled locally: longer to make, more calls, more credits, and it needs ffmpeg. Say that in one clause before you start, then start. If the story genuinely fits in a single shot, make it a four-beat board with short beats rather than pretending there is a cheaper door. The beat formulas live in references/formulas.md . That file is the craft: the four genre roles, the variable tables, and a worked still prompt and a worked clip prompt for each. This file is the pipeline. Read the formulas before you write the board, because the board is where the roles are assigned and it is the last cheap place to get them wrong. Every HTTP mechanic here belongs to the pack, not to this skill. Auth, strict bodies, status codes, the poll loop, rate limits and error envelopes are written out once in skills/novoads-api/SKILL.md and its reference.md . Read those for mechanics; this file names the endpoint and the fields that matter to a beat. Before anything: this runs on a Novoads account A Novoads account with credits. https://novoads.ai — the entry offer is a $1 trial , never call it free. An API key in .env at the repo root , as NOVOADS_API_KEY=novo_… . Check it with ./scripts/check-novoads-env.sh ; if it is missing, run ./scripts/setup.sh . That is the whole setup: curl and jq , one key, no connector to add and no session to restart. ffmpeg on your machine. This is the one hard local dependency: the assembly happens here, not on the server. ffmpeg -version before you start. REST key required. A Novoads MCP connector is not a substitute. If NOVOADS_API_KEY is missing or still the placeholder, stop before any generation work and tell the user: "Before continuing, create an API key at https://novoads.ai/dashboard/settings?tab=api and paste it into .env ." That holds even when mcp__novoads__* tools are connected and authenticated in the session. Never call mcp__novoads__* tools from this repo's workflows: they are a different surface with different behavior, including the units they quote costs in. Repo installs verify with ./scripts/check-novoads-env.sh ; a solo install checks NOVOADS_API_KEY in the environment. Pack version. Every /v1 response carries X-Novoads-Pack-Version ; mention a newer pack at https://github.com/novoads/agent-skills only when that header names a version NEWER than this file's metadata.packVersion — equal or older is nothing to say, and it is never a reason to stop. A 401 is a bad or revoked key. A 403 carrying error.details.reason of plan_required or subscription_inactive is a good key on an account with no live subscription. Say which one it is rather than "auth failed". What one run costs There is no rate table here, on purpose. Every credit number this run shows a user comes from POST /v1/estimates , in this session, before anything is charged: a price written into a skill file goes on being quoted long after it has moved. What Gate 2 prices, for a five-beat board: 1 cast sheet image · 1 still per beat · 1 clip per beat · 1 voice-over line per VO beat · 1 music bed · 1 transcript of the master · 1 caption pass. Four calls cover all of it, because the arms repeat — price each KIND once ( image , video , voiceover , music ), multiply by those counts, and quote what came back. The one shape worth holding is an ordering rather than a number: the clips are most of the bill, and a still is a small fraction of the clip it seeds. That is the whole economic argument for the still gate, and for never re-rendering a beat you have not first tried to fix in its still. Hard constraints Four to six beats. Fewer than four and there is no arc to assemble; more than six and the seams outnumber the story. A 15-second ask is four short beats, not one long call. Each beat is its own POST /v1/videos call from its own start frame. Never ask one call for multiple scenes. 4 to 15 seconds per beat , and in practice 4 to 6. A beat is one action. 9:16 unless the operator says otherwise. audioEnabled: true on every beat. The clip's own audio is the SFX bed and the in-scene voices; there is no SFX endpoint and none is needed. A narrator line goes in the PROMPT or in the VO track. Never both. Getting this wrong is silent: Seedance renders any NARRATOR: "…" line in the prompt into the clip's own audio, so laying a POST /v1/voiceovers take of the same words on top plays every line twice. Measured — a raw beat clip transcribed on its own came back saying the narrator's line, and the finished mix said it twice. Decide per beat: Narration from the VO track (the default here, because it is the only way to get ONE voice across five separate renders): the prompt carries in-scene dialogue only, or states that the shot has no speech. Keep audioEnabled: true for ambience. Narration native to the clip : put NARRATOR: "…" in the prompt and generate NO voice-over for that beat. Its voice will not match the others. At least one beat must be SYNC. The rule above is a warning against doubling a line, and it is easy to over-obey: make every beat a VO beat and the ad becomes a slideshow with a voice talking over it. Measured — T12 shipped three beats, all VO, no character ever spoke, and it lost to the reference ad on exactly that. The genre's opening move is a problem character saying its own complaint out loud, and it only lands when the voice comes out of the face. The product appears in its own beats and on the end card. Nowhere else. A product held in every shot reads as a catalogue. Roles B and D show it; the hook and the mechanism scene do not. See references/formulas.md . One continuous voice. Pick the narrator voice ONCE, from GET /v1/voices , and use that same voiceId for every line. A voice that changes between beats reads as a different ad — which is also why native per-beat narration does not work across a storyboard: each render casts its own. There is no styleFamily field. It was deleted from the whole API, and the /v1 request bodies are strict, so sending it is a 400 Unrecognized key . Nothing on the generation path refuses a prompt on style grounds any more; the only prompt refusal left is content moderation. The gates run in order. Do not skip to the render. Gate 0 — is this product right for this style? Stylized 3D animation is good at exactly one thing, and it is not explaining features. What it can do: interiority (large expressive eyes playing a private state — shame, worry, relief); anthropomorphised objects that hold intent without a face; warm aspirational realism that reads premium rather than novelty; caricatured physics (squash, stretch, anticipation). What it is bad at: technical explanation, spec comparison, cutaway logic, and any pitch whose core is a number. The filter. All four must pass: Is the pain emotional or relational rather than technical? A styled character can act "I can't read to my grandson." It cannot act "the field of view is 110 degrees." Is the pain visible on a face (or on a mechanism, under Doctrine D)? Is there a relationship ? Two characters beat one. The strongest ads here are about someone else, not about the buyer alone. Is it impulse-priced ? Warm animation converts at 15 dollars. At 900 it creates trust dissonance. If the product fails, say so plainly and name what would suit it instead. Do not build a charming ad for a product that needs a demo. One addition at this length: an arc needs a turn. If the product read produces one feeling and one feature, say so — the honest answer is four short beats and a tight script, not a padded 60 seconds. Gate 1 — product read, then summarise in under 200 words A product photo alone is not a sufficient input. Price, specs, rating, rating count and buyer language are what this gate asks for, and a photograph carries none of them. If you have only an image, ask once for a URL or the listing text and say why in one clause. That is the single question this skill opens with, and it costs nothing. If the operator says there is no listing, proceed on the photo and state plainly that price and reviews were unavailable rather than implying they were checked. Source from the product URL or listing text, with the photo as corroboration. Then state: Verified facts: name, price, key specs, rating and rating count. Quote only what the source says. Buyer language: recurring phrases from real reviews, in the buyer's words. Who actually buys. Reviews often reveal the purchaser is not the user — an adult child buying for a parent, a spouse for a partner. If so, put the product into the purchaser's hand on screen. This is usually worth more than any feature beat. What you will NOT claim, and why. Check negative reviews and the fine print. If reviews contradict durability, the ad does not say "built to last." Anything unbuyable. No buy box, out of stock, region-locked, or a newer model at the same price. A perfect ad pointed at a dead listing converts at zero. Gate 2 — price the whole board, then announce it Price each KIND once and multiply. POST /v1/estimates is discriminated on kind and takes one at a time, so four calls describe the whole run: E=https://api.novoads.ai/v1/estimates H= "Authorization: Bearer $NOVOADS_API_KEY " J= 'Content-Type: application/json' curl -sS -X POST $E -H " $H " -H " $J " \ -d '{"kind":"image","model":"gpt-image-2","prompt":"<a beat still prompt>"}' curl -sS -X POST $E -H " $H " -H " $J " \ -d '{"kind":"video","model":"seedance-2.0","durationSeconds":5,"prompt":"<a beat prompt>"}' curl -sS -X POST $E -H " $H " -H " $J " \ -d '{"kind":"voiceover","script":"<the longest VO line>"}' curl -sS -X POST $E -H " $H " -H " $J " \ -d '{"kind":"music"}' Each arm is strict and takes only what moves the price. The music arm takes kind and nothing else — sending it a prompt is a 400 . The video arm never sees aspectRatio , startImageAssetId , referenceAssetIds or audioEnabled , and rejects all four. Send the model you will actually render, or you are pricing a different ad. Then announce in one line and proceed: Cast sheet + 5 stills + 5 clips + 5 VO lines + music + captions ≈ credits (balance: ). Starting. This is an announcement, not a question. Two cases change it: sufficient: false on any kind — stop. Name what is short and give the topUpUrl . That is a blocker. The balance covers the run and no retry. Say so in one clause before firing: "this covers one pass, not a re-render." At this length a re-render is a beat, not the whole ad — which is worth saying too, because it is the good news: a bad beat is one still and one clip to redo, not the whole board. The warnings array is advice. POST /v1/estimates is the only call that lints a prompt — POST /v1/videos and POST /v1/images return no such field — and it lints against the UGC talking-head rules; nothing here refuses anything. A prompt written the way this file says comes back clean; a warning usually means you drifted, not that the lint is confused. Two clauses are what make it come back clean, and both are in the style lock and the worked prompt for this reason. Measured on a beat prompt without them: the VOICE STYLE casting line answers missing_actor_descriptor (the rule looks for an age or gender token anywhere in the prompt), and the labelHold clause answers label_without_hold , which fires on the word "bottle" alone. Drop either and the same beat comes back with a warning that is telling you the truth. The one warning to ignore: missing_actor_descriptor on a beat with no human in it. The lint reads prompts as talking-head UGC, where a shot without an age or gender token gets a randomly cast person. A role-A beat is a hair clump with eyes, or a blob of congestion, and it has no age and no gender to state. The rule is answering a question the beat does not ask. This is the only lint output this skill tells you to overrule, and only on a beat whose subject is genuinely not a person — a beat that merely FORGOT to describe its human is the case the rule exists for, and it looks identical from here. Check which one you wrote. Product treatment — pick one and say why Doctrine C: in-world product, real hero card. The default. The product is recreated exactly in design but rendered in the animated look, so the character can physically use it. The real photograph appears only in the final beat as a hero card, outside the styled world. Recognition comes from design fidelity, not from material. Always include the lock line, and name specific identifying details — a rivet, a hinge, a lens shape. Generic descriptions produce generic props. The product is exactly as shown in the reference: same shape, same colour, same proportions, same finish. Do not redesign or restyle it. Doctrine D: product as character. Available only when the product's real articulation is expressive — a pan-tilt head, a hinged lid, a swivelling arm. The product performs using only movements the real product makes . No eyes, no mouth, no eyebrows, no limbs, no hopping. Head angle and existing mechanisms only. That constraint is the whole point: every expressive beat doubles as a real feature demo. State the negatives explicitly, because the model will happily bolt on eyes and turn the product into a mascot. A real product, always. Use the actual brand and the actual packaging from the photo. Never invent a brand, and never blank-label the product to avoid the question. The board Before a single call, write the board. It is the artifact the operator approves, and it is cheaper to argue with than any render. Cast sheet — one image, referenced by every still POST /v1/images on gpt-image-2 , aspectRatio: "1:1" , the product photo in referenceAssetIds . On one canvas: the lead in three emotional states readable in the eyes, any secondary character, the product in 2 to 3 views, and a scale line-up at true relative size. This single image is what makes five separately-rendered beats look like one film. Every beat still references it. Skipping it is the most expensive shortcut available here — five beats with five differently-imagined characters is not an ad, and no amount of prompt discipline recovers it afterwards. Write the cast sheet TEXT first, from the template in references/formulas.md , and render the image from it. The template has the slots that matter — including the terse tag , the 11 to 30 character wardrobe-anchored phrase repeated verbatim in every later beat. Our renders re-cast on every cut, so "the same woman" names nobody; one measured run came back with three visibly different women across five beats. If the ad has a mascot scene, the cast sheet carries the mascots too: one canvas with the lead, the problem character and the mascot trio settles all three designs for the price of one image. Style lock — one paragraph, pasted verbatim into every prompt Write it once. Location palette, one named practical light source, lens and camera height, the finish of the world. Paste it into every still prompt and every beat prompt, unchanged, character for character. Rewording it between beats is how the grade drifts. Never name a studio or a franchise. Write "stylized 3D animated feature film look." The trademark risk is higher for this aesthetic than for any other, because it belongs to specific studios and the models will hand you near-copies of their characters if invited. This is the genre default. Change the palette and the light source to the product's world; keep the structure and the render vocabulary. Stylized 3D animated feature film look. Soft volumetric golden-hour lighting from a large window, warm cosy palette of cream, butter yellow, dusty pink and soft sage. Subsurface scattering on skin, painterly background, shallow depth of field with creamy bokeh. Characters have large expressive eyes with multiple specular catchlights, stylized but believable proportions, smooth simplified hands, soft hair strands with subsurface glow. Rich material detail: waffle-knit fabric weave, ceramic glaze, glass refraction. Slightly desaturated colour grade. Every character reads mid-emotion, caught a moment before a smile or a sigh, never blank-staring. Vertical 9:16 composition. The mid-emotion line is the genre's oldest craft rule and the easiest to lose. A character rendered at rest reads as a mannequin however good the lighting is; the whole look depends on faces caught between expressions. It sits in the style lock rather than in prose because that is the block that actually reaches every prompt. And the negative block, pasted at the end of every prompt, still and clip alike: no live-action footage, no photorealistic humans, no uncanny faces, no dead eyes, no anime style, no 2D cel-shaded look, no flat illustration, no named or copyrighted animated film characters, no harsh fluorescent lighting, no extra fingers, no melted features, no morphing between frames, no warped product labels, no on-screen text, no subtitles, no captions no named or copyrighted animated film characters is the IP line and it is not optional. no on-screen text, no subtitles, no captions is what stops the render inventing its own captions, which it does unprompted and which then collide with the ones burned on in Gate 8. VOICE STYLE block — required in every prompt that carries a voice Cast the narrator as concretely as the style lock casts the look: age, gender, register, pace, and what it must NOT sound like. The NARRATOR is a warm, low, unhurried woman in her forties, close and confessional, the tone of someone telling you something true rather than selling. Never bright, never announcer-like. The IN-SCENE voices are ordinary and unperformed. Always include the negative no upbeat announcer voice . Models drift toward radio-ad delivery, and that single drift kills the emotional register. On a beat whose narration comes from the VO track rather than from the render, this block describes the in-scene voices only — the narrator is cast once, at Gate 5. Beat board — the table you get approved Two things are decided here: what happens (the skeleton) and how the genre says to shoot it (the role). The roles are in references/formulas.md ; this is where they are assigned. # Beat Genre role Seconds Track Visual 1 Hook — the want, stated out loud A. anthropomorphized problem 5 SYNC … 2 Problem — the attempt fails A. second problem character, or the human low 5 VO … 3 Low point — the private defeat B. protagonist reveal 4 SYNC … 4 Turn — the product arrives and is used C. mascot mechanism 6 VO … 5 Payoff — warmth, then the hero card D. CTA and end card 5 VO closes … That mapping is the default, not the only one. Role A can hold two beats as a montage; role B can take the SYNC beat as a first-person testimonial. What does not move: role A opens and role D closes , and at least one of them is SYNC. Rules for the board: One action per beat. Two actions in one prompt is the single most reliable way to get glitched physics. Splitting them is what a storyboard is FOR. Give each beat its own setup. Five beats in one location at one shot size reads as boring no matter how clean the arc is. Change location at least once; vary shot size (medium → close → wide). Measured against the reference ad this skill was rebuilt to match: its beats each had their own world — a macro problem shot, a lit interior, a stylized interior cross-section, a card — and T12's three all shared one. That is the difference a viewer names first. The low point is the shortest beat and the most important one. Everything rides on that face. Word budget is per beat, not per ad. Two spoken lines per 5-second beat is the ceiling: at the measured 2.0 words/sec that is ~10 words a beat, so five beats make a 45–50 word script for 25s (60 needs 30s). Count before you write. VO and SYNC never overlap in the same beat. Write the SYNC lines first; fit the narration into beats that have none. And keep the narrator's words out of the prompt for any beat you are giving a VO line — see the hard constraint above. The board's Track column is what records that decision per beat. The two tracks own different things. VO owns the problem, the mechanism, the offer and the brand: that track carries the selling. SYNC owns proof that the feeling is real. Never give SYNC the offer. Sign-off under 6 words (~3s at the measured rate — read it against its gap), hero card at least 2 seconds. Prefer escalating specifics over comparisons. "Four times. Four and a half. Five. All the way to six" argues the same point as "most stop at three" without asserting a competitor fact you cannot verify. No em dashes in ad copy. Never say "free" — the entry offer is the $1 trial. Gate 3 — stills first, all of them, then STOP Render every beat still BEFORE any clip. Sequentially, each referencing the cast sheet and the previous still: POST /v1/uploads (product photo) → PUT the bytes with the returned `headers` VERBATIM │ ▼ POST /v1/images cast sheet 1:1 ref [product]
このスキルを起動するキーワード。クリックでコピーできます。

このスキルにはトリガーワードがありません。

ダウンロードした .skill に含まれるフィールド。
フィールド 説明
formatフォーマット識別子(skill/v1)
skill_idスキル固有 ID
nameスキル名
versionバージョン
description説明
categoryカテゴリ(配列)
trigger_wordsトリガーワード
tagsタグ
sourceソース
source_urlソース URL(本ページ)
exported_atエクスポート日時(ダウンロード毎)
system_promptシステムプロンプト本文
model_configモデル設定:provider / model / temperature / max_tokens / top_p
examplesサンプル
install_guide各プラットフォームの導入説明(Coze / Dify / Claude / カスタム)
同じスキルを各プラットフォーム形式で出力できます。
.skill 標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能 ダウンロード
.skillpro 拡張形式。scripts / tools / dependencies / hooks を含む ダウンロード
.json 純粋な JSON 出力。system_prompt とモデル設定のみ ダウンロード
Coze frontmatter 付き Markdown。Coze へのインポート用 ダウンロード
Dify Dify DSL。アプリ作成後にそのままインポート ダウンロード

每日精选 Skill 推荐,免费送到你邮箱

输入邮箱,每天接收一个精选 AI Agent 技能推荐。完全免费,持续更新。

提交后我们会发送一封确认邮件,点击邮件里的链接才会开始收信。

完全免费,取消任意时间。我们不会发送垃圾邮件。