商品画像 → 9:16の 広告
写真を確認し、縦長のフレームへの拡張を提案し、2〜3種類のカメラワークで試作してから、選んだものをFastで生成し直します。
こう頼んでみてください“この商品写真から9:16の広告を作って。先に見積もりを出して。”
1つのスキルで、エージェントがPershotの3つのワークフローを使えるようになります:商品画像から9:16の広告、UGC風のトーク広告、スプレッドシートからの一括生成。すべてのジョブで見積もりを提示し、クレジットを使う前にあなたの承認を待ちます。
ご自身のAIエージェントの接続はすべてのアカウントで使え、キーは要りません。コードで作業を自動化するための開発者APIキーは申請制です。
どのワークフローも、Miniの480pで低コストに試作し、選んだバージョンだけをFastの720pで実行します。
写真を確認し、縦長のフレームへの拡張を提案し、2〜3種類のカメラワークで試作してから、選んだものをFastで生成し直します。
こう頼んでみてください“この商品写真から9:16の広告を作って。先に見積もりを出して。”
実在の人物ではない一般的な人物が商品を手に持ち、あなたのセリフを自分の声で話します。スマートフォンで撮った動画のような仕上がりです。
こう頼んでみてください“うちの美容液の10秒のトーク広告を作って。セリフは「すぐになじむ」。”
すべての行を確認し、シート全体の価格を算出して、合計の上限付きで一括生成として送信し、結果をSKUごとに書き出します。
こう頼んでみてください“products.csvを渡すね。1行につき5秒のクリップを1本、まずは試作から。”
どのワークフローでも、見積もり、確認、生成の順に進みます。スキルは実行する内容のクレジットとドル金額を正確に示し、あなたの承認を待ってから、各ジョブを価格上限とべき等キー付きで送信します。そのため、再試行で二重に課金されることはありません。
同じzipがどこでも使えます:中身は、ルートにSKILL.mdがあるスキルフォルダ1つです。
zipをダウンロードして、個人用のスキルフォルダに展開します。チームで共有する場合は、リポジトリの.claude/skillsに展開します。
mkdir -p ~/.claude/skills
unzip ~/Downloads/pershot-video.zip -d ~/.claude/skills/MCPサーバーを接続し、Claude Codeで /mcp と入力してログインします。クリエイティブ残高を使います。
claude mcp add --transport http pershot https://mcp.pershot.app/mcp動画を依頼します。Claudeが依頼内容からスキルを選びます。名前を指定して実行することもできます。
/pershot-video ./product.pngから9:16の広告を作って。先に見積もりを出して「設定」の「機能」で「コード実行とファイル作成」をオンにします。
「カスタマイズ」を開き、「スキル」を選択します。「+」、「スキルを作成」、「スキルをアップロード」の順に選び、zipを選択します。
MCPサーバーをカスタムコネクタとして追加します。アップロードしたスキルは、同じアカウントでログインすればClaude Codeでも使えます。
zipを~/.agents/skills、またはリポジトリの.agents/skillsに展開します。
mkdir -p ~/.agents/skills
unzip ~/Downloads/pershot-video.zip -d ~/.agents/skills/MCPサーバーを接続し、codex mcp login でログインします。クリエイティブ残高を使います。
codex mcp add pershot --url https://mcp.pershot.app/mcp
codex mcp login pershotスキルが表示されない場合はCodexを再起動し、$とスキル名を入力して呼び出します。AGENTS.mdを使いたい場合は、zipに含まれているものを自分のファイルに貼り付けてください。
$pershot-video product.pngから9:16の広告を作って。先に見積もりを出して読んで編集できるプレーンなMarkdownです。自社ブランドのプロンプトルールは、SKILL.mdに直接追加できます。
pershot-video/SKILL.mdpershot-video/AGENTS.mdpershot-video/LICENSEpershot-video/agents/openai.yamlpershot-video/reference/api.mdpershot-video/reference/mcp.mdpershot-video/workflows/product-to-ad.mdpershot-video/workflows/spreadsheet-batch.mdpershot-video/workflows/ugc-talking-ad.md---
name: pershot-video
description: Make short videos with Pershot (Seedance 2.0 Mini and Fast, Qwen-Image) on the user's own account, through its MCP tools or /v1 API. Use when the user wants a 9:16 ad from a product image, a UGC-style talking ad, or a batch of videos from a spreadsheet. Always quotes the price and waits for the user's yes before spending credits.
license: MIT
---
# Pershot video workflows
You help the user make short videos with Pershot: Seedance 2.0 Mini for cheap drafts, Seedance 2.0 Fast for finals, and Qwen-Image for stills and first frames. You work on the user's own Pershot account, as the user's own AI agent, and spend their creative balance like the studio does. Credits are the user's money: 1 credit = US$0.01.
## Rules that always apply
1. **Quote, confirm, generate.** Never call a spending tool or endpoint until you have shown the user the quoted credits and dollars for exactly what you will run, and they said yes. A yes covers only what you showed.
2. **Cap every job.** Pass the `quote_id` you showed (valid 10 minutes) or a `max_credits` equal to the confirmed amount. Never raise a cap without asking.
3. **One idempotency key per job.** Make a fresh key for each new job. On a retry after a timeout or network error, send the same key again: it returns the same job and never charges twice.
4. **Draft cheap, finish once.** Draft variants on Mini at 480p; run the one the user picks on Fast at 720p.
5. **Sign in as the user's agent, and keep it secret.** Over MCP the client signs in for you. With a shell, sign in by device login: the user confirms a short code in their browser and you receive a sign-in of your own on their account, which spends their creative balance like the studio ([reference/api.md](reference/api.md), "Sign in: device login"). Keep that sign-in in the `API_KEY` environment variable. Never write a sign-in, a connection code or a key into a prompt, a file, a commit or the chat. Developer API keys (`sk_…`) are by application; never ask the user for one, and use one only if the user already put it in `API_KEY`.
6. **Stop when money runs out.** On `insufficient_credits`, stop. The user has two balances that never cover each other, and `details.account` names the short one: `creative` (the studio, MCP, connection codes and device login) or `api` (a developer API key, by application). Ask the user to top up that balance at https://pershot.app/app/billing, or to raise the cap when `details.limit` is not `balance`. Never switch credentials, models or quality silently to fit a budget.
7. **Respect people and brands.** Faces of real people, celebrities and other companies' brands need the user's permission. If the quote's pre-check says `warn` or `block`, tell the user before anything runs. A refused job (`content_rejected`) is not charged.
8. **Hand over results promptly.** Result links are signed and expire after 24 hours. Give the links and tell the user to download what they keep.
## Connect
- **MCP (preferred):** the server at https://mcp.pershot.app/mcp. Tools: `list_models`, `get_model`, `get_pricing`, `quote`, `plan_auto`, `plan_image_auto`, `use_preset`, `create_upload`, `generate_video`, `generate_image`, `get_job`, `wait_for_job`, `cancel_job`, `get_balance`. Only `generate_video` and `generate_image` spend credits. Setup and details: [reference/mcp.md](reference/mcp.md).
- **HTTP API:** base https://api.pershot.app/v1, header `Authorization: Bearer $API_KEY` with the device-login sign-in, which spends the user's creative balance. The credential decides which balance pays: a developer API key (`sk_…`, by application) would spend the separate developer API balance instead. Endpoints and examples: [reference/api.md](reference/api.md). OpenAPI: https://pershot.app/api/v1/openapi.json
## The loop, every time
1. **Plan** the job with the user: model, resolution, duration, aspect ratio, how many variants.
2. **Quote** it: MCP `quote` (pass the prompt too, for the content pre-check) or `POST /v1/quotes`.
3. **Show** "N credits (≈ $X)" per job and the total, plus any pre-check note. Ask for a yes.
4. **Generate** with the `quote_id` (or `max_credits`) and a new idempotency key.
5. **Wait**: MCP `wait_for_job` (up to 60 s per call, repeat) or poll `GET /v1/jobs/{id}` every few seconds. `unknown` means the outcome is being checked with the model: keep waiting, do not resubmit.
6. **Report** status, credits charged and the result links. A job that makes no video (it failed, or the model refused it) or whose result a safety check blocked has its credits refunded automatically. A video that is made is charged, even if the user does not like it: offer another take, quoted and confirmed like the first. If a file is broken, the user reports it in the studio, and it is refunded after a check.
## Workflows
- Product image → 9:16 ad: [workflows/product-to-ad.md](workflows/product-to-ad.md)
- UGC talking ad: [workflows/ugc-talking-ad.md](workflows/ugc-talking-ad.md)
- Spreadsheet batch: [workflows/spreadsheet-batch.md](workflows/spreadsheet-batch.md)
## Writing prompts
- Three layers, in this order: subject and action; camera (one move, with speed, height and lens); light and style.
- More than one beat: a timeline, "0–2 s: … 2–5 s: …", covering the whole duration.
- Images: refer to them as @image1, @image2 and say what each is for ("keep the label from @image1").
- End with one short "Avoid:" line. Put spoken lines in quotes and say who speaks.
- Full guide: https://pershot.app/guides/seedance-prompting
## Limits to plan around
- Video: 4 to 15 whole seconds; 480p or 720p; 16:9, 9:16 or 1:1; audio on or off at the same price.
- Images: 1K or 2K; edit models need `image_url`; generate models reject it.
- Up to 9 reference images (API); images up to 10 MB (JPEG, PNG, WebP).
- Seedance first frames and reference images: 300 to 6000 px on each side, width ÷ height 0.4 to 2.5. An upload outside that is refused before anything is charged; resize or extend it first.
- Every limit per model, who checks it and what happens past it: the table at the end of [reference/api.md](reference/api.md), or `limits` in `GET https://api.pershot.app/v1/models`.
- 60 requests a minute per key; a few jobs run at once per account, the rest wait in the queue.
含まれていないもの:APIキー、トークン、Webhookシークレット、アカウント情報。スキルはMCP接続を使うか、デバイスログインで得たログイン情報を環境変数API_KEYに保存して使います。
ありません。すべてのジョブで見積もりを提示し、クレジットとドル金額を示して、あなたの承認を待ちます。各ジョブにはその金額が上限として付くため、承認した額を超えることはありません。
480pの試作にはSeedance 2.0 Mini、720pの最終版にはSeedance 2.0 Fastを使います。商品写真の拡張や修正にはImage MiniまたはImage Fastを使います。
はい。プレーンなMarkdownです。ワークフローを変更したり、独自のプロンプトルールを追加したり、不要な部分を削除したりできます。
はい。シェルがあれば、ご自身のアカウントにデバイスログインして/v1 APIを直接呼び出し、クリエイティブ残高を使います。開発者APIキーは申請制で、別の開発者API残高を使います。すべてのリクエストはreference/api.mdに記載されています。
MCP接続か、お使いのマシンの環境変数に保存されます。スキルのファイルに含まれることはなく、スキルはエージェントにそれを表示したり保存したりしないよう指示しています。APIキーは必要ありません。