ai21.net
언어

<inputs>

<inputs> — 1

프롬프트

<inputs>
Ask me for: my product's name (one lowercase word), a 4-word tagline, the 3-step story of what it does, a launch date and domain, a royalty-free song with a clear drop, 4 vertical talking-to-camera clips and 12 portrait photos. If I skip any, use the defaults: "castr", "ugc ads, cast by ai", write a brief → scan 1,000 creators → cast 4, Mixkit "Cat Walk" (129.6 BPM, drop at 29.7s), free Pexels clips and portraits, and transparent stickers from Pixabay (serum, mic, megaphone, vintage camera, spotlight, lips).
</inputs>

<direction>
A 25 second square launch trailer, 1440x1440 at 60fps, loud poster style. Cobalt #2B3BFF, ink #0E0F1F, cream #F6E4C6, pink #FF7DC7, tangerine #FF5A1F. Archivo 900 extra-condensed for names, expanded for headlines, Geist and Geist Mono for labels. Op-art sunburst, scrolling waves, film grain. Real media only: the clips play inside the design, and the stickers get a white die-cut border and a soft shadow.
Motion rules: the camera never stops (a slow 1.03-1.07 push on every scene), nothing pops in (letters rise through a mask line one by one), nothing snaps to the beat (patterns rotate continuously), swaps are carousel glides of about 0.55s, colour changes fade over about 0.35s, stickers ease in and then keep a slow sway. No full stops after the wordmark or any headline.
Banned: beat-snapped rotations, pop-in slams, white flashes, crossfades between scenes, hard cuts, templates.
</direction>

<structure>
54 beats. The song starts 8 beats before its drop.
Beats 0-8: a cobalt sunburst turns around a breathing cream disc. The wordmark types in with a gliding caret and the tagline pill rises. The disc floods the frame into the drop.
Beat 8, the drop: the cream becomes the face of a 3D box and "ONE BRIEF" rises letter by letter. The camera pulls back to the box floating on waves. On beat 12 it turns to "1,000 CREATORS" (stacked, with outlined echoes), on beat 14 to "ZERO DMs".
Beats 16-22: a whip to a dark desk. A tangerine "BRIEF #042" ticket types its rows (product, vibe, cast, due), stickers drift on, a polaroid of a real clip drops onto the corner, and a "NOW CASTING" stamp presses down on beat 20.
Beats 22-34: the casting stage. A crowd of black and white portraits in an arc, a 3D stage block, and the creators gliding through like a carousel. Each plays live in a big disc in black and white, with their name in pink on the stage, their followers, and a MATCH % that counts up. One beat later a "CAST ✓" stamp lands and the clip fades to colour. A counter rolls 1/4 to 4/4.
Beats 34-39: pink floods out of the last disc. The disc morphs into a phone screen (the clip keeps playing) and fans into 4 phones playing all 4 creators, with views counting up. "4 ADS" and "BY FRIDAY" rise.
Beats 39-44, the music's break: the pink floor drops away and a cream "JOIN THE WAITLIST" ticket glides down onto the sunburst. On the pickup its stub tears off.
Beats 44-54: the ticket body morphs into a poster arch. The wordmark rises in, then the tagline, then an info bar slides up in 3 blocks (date, numbers, domain) and a ticker runs round the frame edge. Then it all folds back into the opening disc, so the last frame is the first.
</structure>

<build>
1. One HTML canvas. Every frame is a pure function of time inside seek(t).
2. A beat map in beats, B = 60/BPM, with the song placed so its drop lands on beat 8.
3. The 3D box is an orthographic projection: each face is a 1440px offscreen canvas drawn with an affine transform and shaded by its normal.
4. Cut the clips to 30fps JPEG sequences with ffmpeg, draw frame floor(t*30), and do the black and white with ctx.filter.
5. Trim the sticker PNGs and add the die-cut border by dilating their alpha.
6. Sound: a downloaded SFX for every event (a shutter on every cast, whooshes on the glides, key clicks on the typing), each placed by its measured peak. Loudnorm to -14 LUFS.
7. Render with Playwright at 60fps with 8 motion-blur subframes. Scan for single-frame pops, then compare its motion against a reference video (hard jumps per second, share of still frames).
</build>

<gotchas>
A pattern that rotates one notch per beat reads as stutter: rotate it continuously, and pick each ring's speed so it lands on the same pattern at the last frame. 4 subframes ghost on fast whips, so use 8. A layer whose background is a huge flood circle still covers the screen after sliding down one frame height, so switch it to a full-frame rect once it has flooded. Counters read the frame's time, not the subframe's. The disc must morph inside the same camera transform as the scene it leaves, or it jumps.
</gotchas>

<start>
Ask me for the inputs, then show me the beat map and 6 stills (open, box, brief, casting, phones, poster) before you render.
</start>

한국어 번역

<inputs>
나에게 물어봐 줘: 내 제품 이름(소문자 한 단어), 4단어 태그라인, 제품이 하는 일을 담은 3단계 스토리, 런칭 날짜와 도메인, 명확한 드롭이 있는 로열티 프리 곡, 세로형 카메라 토킹 클립 4개, 인물 사진 12장. 내가 뭔가를 건너뛰면 기본값을 써: "castr", "ugc ads, cast by ai", 브리프 작성 → 크리에이터 1,000명 스캔 → 4명 캐스팅, Mixkit "Cat Walk"(129.6 BPM, 29.7초에 드롭), 무료 Pexels 클립과 인물 사진, 그리고 Pixabay의 투명 스티커(세럼, 마이크, 메가폰, 빈티지 카메라, 스포트라이트, 입술).
</inputs>

<direction>
25초 정사각형 런칭 트레일러, 1440x1440, 60fps, 강렬한 포스터 스타일. 코발트 #2B3BFF, 잉크 #0E0F1F, 크림 #F6E4C6, 핑크 #FF7DC7, 탠저린 #FF5A1F. 이름에는 Archivo 900 extra-condensed, 헤드라인에는 expanded, 라벨에는 Geist와 Geist Mono. 옵아트 선버스트, 흐르는 웨이브, 필름 그레인. 실제 미디어만: 클립은 디자인 안에서 재생되고, 스티커에는 흰색 다이컷 테두리와 부드러운 그림자가 붙는다.
모션 규칙: 카메라는 절대 멈추지 않는다(모든 장면에 1.03-1.07의 느린 푸시), 아무것도 팝인하지 않는다(글자는 마스크 라인을 통해 하나씩 올라온다), 아무것도 비트에 딱 맞춰 끊기지 않는다(패턴은 연속으로 회전한다), 전환은 약 0.55초의 캐러셀 글라이드, 색 변화는 약 0.35초에 걸쳐 페이드, 스티커는 이즈인한 뒤 느린 흔들림을 유지한다. 워드마크나 어떤 헤드라인 뒤에도 마침표를 찍지 않는다.
금지: 비트에 맞춰 끊기는 회전, 팝인 슬램, 화이트 플래시, 장면 간 크로스페이드, 하드 컷, 템플릿.
</direction>

<structure>
54비트. 곡은 드롭 8비트 전에 시작한다.
비트 0-8: 코발트 선버스트가 숨 쉬는 크림 원반 주위를 돈다. 워드마크가 미끄러지는 캐럿과 함께 타이핑되고 태그라인 알약이 올라온다. 원반이 프레임을 가득 채우며 드롭으로 넘어간다.
비트 8, 드롭: 크림이 3D 박스의 면이 되고 "ONE BRIEF"가 글자 하나씩 올라온다. 카메라가 물결 위에 떠 있는 박스로 빠진다. 비트 12에 "1,000 CREATORS"(쌓이고, 외곽선 에코 포함)로 돌아서고, 비트 14에 "ZERO DMs"로.
비트 16-22: 어두운 책상으로 휙 넘어간다. 탠저린색 "BRIEF #042" 티켓이 행(제품, 바이브, 캐스트, 마감)을 타이핑하고, 스티커가 떠다니며, 실제 클립의 폴라로이드가 모서리에 떨어지고, "NOW CASTING" 스탬프가 비트 20에 눌러 찍힌다.
비트 22-34: 캐스팅 무대. 흑백 인물 사진 군중이 아치를 이루고, 3D 무대 블록, 크리에이터들이 캐러셀처럼 미끄러져 지나간다. 각자는 큰 원반에서 흑백으로 라이브 재생되고, 무대에는 분홍색 이름, 팔로워 수, 그리고 카운트업되는 MATCH %가 보인다. 한 비트 뒤 "CAST ✓" 스탬프가 찍히고 클립이 컬러로 페이드된다. 카운터가 1/4에서 4/4로 굴러간다.
비트 34-39: 마지막 원반에서 핑크가 흘러나온다. 원반은 폰 화면으로 모프되고(클립은 계속 재생), 4명의 크리에이터를 모두 재생하는 4대의 폰으로 펼쳐지며 조회수가 카운트업된다. "4 ADS"와 "BY FRIDAY"가 올라온다.
비트 39-44, 음악의 브레이크: 핑크 바닥이 사라져 내려가고 크림색 "JOIN THE WAITLIST" 티켓이 선버스트 위로 미끄러져 내려온다. 픽업에서 스텁이 뜯긴다.
비트 44-54: 티켓 본체가 포스터 아치로 모프된다. 워드마크가 올라오고, 이어 태그라인, 그다음 정보 바가 3개 블록(날짜, 숫자, 도메인)으로 슬라이드 업되고 티커가 프레임 가장자리를 돈다. 그다음 모든 것이 다시 오프닝 원반으로 접혀, 마지막 프레임이 첫 프레임이 된다.
</structure>

<build>
1. 하나의 HTML 캔버스. 모든 프레임은 seek(t) 안에서 시간의 순수 함수다.
2. 비트 단위의 비트 맵, B = 60/BPM, 곡의 드롭이 비트 8에 오도록 배치한다.
3. 3D 박스는 정사영 투영: 각 면은 아핀 변환으로 그린 1440px 오프스크린 캔버스이고 법선에 따라 셰이딩된다.
4. ffmpeg로 클립을 30fps JPEG 시퀀스로 잘라 frame floor(t*30)을 그리고, 흑백은 ctx.filter로 처리한다.
5. 스티커 PNG를 트림하고 알파를 팽창시켜 다이컷 테두리를 추가한다.
6. 사운드: 모든 이벤트에 다운로드한 SFX(캐스트마다 셔터, 글라이드에 후시, 타이핑에 키 클릭), 각각은 측정된 피크 위치에 배치. Loudnorm으로 -14 LUFS.
7. Playwright로 60fps, 8개 모션 블러 서브프레임으로 렌더. 단일 프레임 팝을 스캔한 다음, 레퍼런스 영상과 모션을 비교한다(초당 하드 점프, 정지 프레임 비율).
</build>

<gotchas>
비트마다 한 칸씩 회전하는 패턴은 끊김으로 읽힌다: 연속으로 회전시키고, 각 링의 속도를 마지막 프레임에서 같은 패턴에 닿도록 고른다. 빠른 휙에서 4 서브프레임은 고스팅이 생기므로 8을 쓴다. 배경이 거대한 플러드 원인 레이어는 한 프레임 높이만큼 내려가도 여전히 화면을 덮으므로, 플러드가 끝나면 전체 프레임 사각형으로 바꾼다. 카운터는 서브프레임이 아니라 프레임의 시간을 읽는다. 원반은 떠나는 장면과 같은 카메라 변환 안에서 모프되어야 한다, 아니면 튄다.
</gotchas>

<start>
나에게 입력을 물어보고, 렌더 전에 비트 맵과 6장의 스틸(오프닝, 박스, 브리프, 캐스팅, 폰, 포스터)을 보여 줘.
</start>

출처

원작자
twoclipping
게시일
2026-10-02(由推文 ID 反解)
원문 출처
원문 보기 ↗
수록 출처
yihui-dev/awesome-opus5-5-videos · twoclipping-551116 · MIT