본문으로 건너뛰기

Claude와 Codex를 위한에이전트 스킬

스킬 하나로 에이전트에게 세 가지 Pershot 워크플로를 가르칩니다. 제품 이미지로 9:16 광고 만들기, UGC 스타일 토킹 광고, 스프레드시트 기반 일괄 생성입니다. 모든 작업의 견적을 내고, 크레딧을 쓰기 전에 사용자의 승인을 기다립니다.

스킬pershot-video파일 9개MIT 라이선스키 미포함

내 AI 에이전트 연결은 모든 계정에 열려 있고 키가 필요 없습니다. 내 코드로 내 작업을 자동화할 때 쓰는 개발자 API 키는 신청제입니다.

세 가지 워크플로하나의 규칙

각 워크플로는 Mini 480p로 저렴하게 초안을 만들고, 사용자가 고른 버전만 Fast 720p로 실행합니다.

01

제품 이미지 → 9:16 광고

사진을 확인하고, 세로 프레임으로 확장할지 제안하고, 카메라 움직임 두세 가지로 초안을 만든 다음, 선택한 것을 Fast로 다시 생성합니다.

이렇게 요청해 보세요“이 제품 사진으로 9:16 광고를 만들어 주세요. 먼저 견적부터요.”

02

UGC 토킹 광고

실존 인물이 아닌 일반적인 인물이 제품을 들고 자신의 목소리로 대사를 말하며, 휴대폰 동영상처럼 촬영됩니다.

이렇게 요청해 보세요“우리 세럼으로 10초짜리 토킹 광고를 만들어 주세요. 대사는 ‘빠르게 스며듭니다’로요.”

03

스프레드시트 일괄 생성

모든 행을 확인하고, 시트 전체의 가격을 산정하고, 총액 상한을 걸어 일괄 생성으로 제출한 뒤, 결과를 SKU별로 내보냅니다.

이렇게 요청해 보세요“products.csv를 드릴게요. 행마다 5초 클립 하나씩, 초안부터 만들어 주세요.”

모든 워크플로는 견적, 확인, 생성 순서를 따릅니다. 스킬은 실제로 실행될 작업의 크레딧과 달러 금액을 정확히 보여 주고, 사용자의 승인을 기다린 뒤, 각 작업을 가격 상한과 멱등성 키와 함께 보내므로 재시도해도 두 번 청구되지 않습니다.

1분이면설치 완료

같은 zip 파일이 어디서나 작동합니다. 루트에 SKILL.md가 있는 스킬 폴더 하나가 들어 있습니다.

  1. 01

    zip 파일을 다운로드해 개인 스킬 폴더에 압축을 풀거나, 팀과 공유하려면 저장소의 .claude/skills에 압축을 푸세요.

    Terminal
    mkdir -p ~/.claude/skills
    unzip ~/Downloads/pershot-video.zip -d ~/.claude/skills/
  2. 02

    MCP 서버를 연결한 뒤 Claude Code에서 /mcp를 입력해 로그인하세요. 크리에이티브 잔액을 씁니다.

    Terminal
    claude mcp add --transport http pershot https://mcp.pershot.app/mcp
  3. 03

    동영상을 요청하세요. Claude가 요청을 보고 스킬을 사용하며, 스킬 이름으로 직접 실행할 수도 있습니다.

    Claude Code
    /pershot-video ./product.png로 9:16 광고를 만들어 주세요. 먼저 견적부터요

들어 있는 것과들어 있지 않은 것

읽고 편집할 수 있는 일반 Markdown 파일입니다. 브랜드의 프롬프트 규칙을 SKILL.md에 바로 넣을 수 있습니다.

pershot-video/SKILL.md
스킬 본체: 규칙, 견적-확인-생성 루프, 프롬프트 기본
pershot-video/AGENTS.md
Codex용으로 같은 규칙을 하나의 지침 파일에 담은 것
pershot-video/LICENSE
MIT 라이선스 전문
pershot-video/agents/openai.yaml
Codex 표시 이름과 사용하는 MCP 서버
pershot-video/reference/api.md
워크플로가 호출하는 모든 /v1 요청과 예시
pershot-video/reference/mcp.md
MCP 도구, 그중 크레딧을 쓰는 도구, 연결 방법
pershot-video/workflows/product-to-ad.md
제품 이미지 → 9:16 광고
pershot-video/workflows/spreadsheet-batch.md
스프레드시트 일괄 생성
pershot-video/workflows/ugc-talking-ad.md
UGC 토킹 광고
미리보기
---
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 키, 토큰, 웹훅 시크릿, 계정 정보. 스킬은 MCP 연결을 쓰거나, 기기 로그인으로 받은 로그인 정보를 API_KEY 환경 변수에 두고 씁니다.

스킬에 관한질문

스킬이 스스로 크레딧을 쓸 수 있나요?

아니요. 모든 작업의 견적을 내고, 크레딧과 달러 금액을 보여 준 뒤, 사용자의 승인을 기다립니다. 이후 각 작업에는 그 금액이 상한으로 설정되므로, 승인한 금액보다 더 많이 들 수 없습니다.

어떤 모델을 사용하나요?

480p 초안에는 Seedance 2.0 Mini를, 720p 최종본에는 Seedance 2.0 Fast를 사용하며, 제품 사진을 확장하거나 정리할 때는 Image Mini나 Image Fast를 씁니다.

수정할 수 있나요?

네. 일반 Markdown 파일입니다. 워크플로를 바꾸거나, 자체 프롬프트 규칙을 추가하거나, 필요 없는 부분을 삭제하세요.

MCP 없이도 작동하나요?

네. 셸이 있으면 내 계정에 기기 로그인한 뒤 /v1 API를 직접 호출하고, 크리에이티브 잔액을 씁니다. 개발자 API 키는 신청제이며 별도의 개발자 API 잔액을 씁니다. reference/api.md에 모든 요청이 나와 있습니다.

로그인 정보는 어디에 두나요?

MCP 연결이나 내 컴퓨터의 환경 변수에 둡니다. 스킬 파일에는 절대 넣지 않으며, 스킬은 에이전트에게 이를 출력하거나 저장하지 말라고 지시합니다. API 키는 필요 없습니다.