프롬프트판

전체 · 모션 그래픽 · 음악 · 가사

057「스펙트럼 음악 커버」 — 내 곡에 맞춰 막대가 저음 · 고음 따로 춤추는 16초 세로 영상

곡 파일과 제목만 넣으면, 곡에서 가장 신나는 부분을 골라 커버 아래 스펙트럼이 실제 소리에 맞춰 움직이는 세로 영상 MP4가 나와요.

받는 것

  • 세로 영상 MP4 한 편(약 16초, 60fps, 내 곡 소리 포함)
  • 맨 위에 설정 칸이 있는 HTML — 글과 색을 바꾸며 바로 미리 보기
  • 렌더 스크립트(곡을 바꿀 때 AI에게 다시 묻지 않고 명령 한 줄로 새 MP4)
예시 — 칸 예시 그대로 GPT-6 아스트라로 만든 영상 · 소리는 시험용 무료 음원이에요 (소리 켜고 보세요)

GPT 생성
  • GPT-6 아스트라 이 AI로 만들었어요 — 영상 + 소리

칸 채우기

  1. 1칸을 채워요
  2. 2복사 버튼을 눌러요
  3. 3코드를 실행할 수 있는 AI(클로드 오퍼스 5.5 · GPT-6 아스트라 · 제미나이 아르곤)에 붙여넣어요
  4. 4AI가 HTML을 만들고 직접 렌더해서 MP4가 나와요
  5. 5고칠 땐 결과 HTML 맨 위 설정 칸만 바꾸고 렌더 명령 한 줄 다시 묻지 않음
보기
보기
보기
보기
화면 비율

둘 중 하나를 골라 크기를 정하세요.

프롬프트 원문 보기 3,838자
Make a vertical music cover loop video from my song as one self-contained HTML file and render it to MP4. The idea: a song release post where one original square album cover floats in the upper middle and a frequency spectrum under it visibly dances to the real song. It should feel warm, cute and alive. Do the whole job now without asking questions.

[Inputs (use the default when empty)]
Song title: "【곡 제목】" — default 오늘의 노래
Artist name: "【이름】" — default 프롬프트판
Cover idea: "【커버 아이디어】" — default 작은 창문과 달
Palette: "【색 조합】" — 밤 보라 = background #17142B→#2C2450, accent #FFC98B, text #FFF6E9 / 새벽 파랑 = #101D33→#27476B, #A9E4FF, #F2FBFF / 노을 살구 = #3A1E2E→#8A4A4F, #FFD9A8, #FFF7EE
Song file: "【곡 파일】" (in this folder).
Aspect ratio: 9:16 (1080×1920), 60 fps.

[Song]
Read the real length of the file and detect its tempo. Find the most energetic part of the song and take the whole number of bars closest to 16 seconds from it, starting on a bar line. Fade the audio in over 0.3 s and out over 0.6 s; do not change the song in any other way. Show the real position: the counter starts at that part's real time and counts up with the audio, and the label at the right shows the song's real total length.

[Spectrum — this is the heart of the video]
Analyze the audio with a real FFT at the video frame rate before drawing, and save the data into the HTML so seek(t) stays deterministic. Draw 48 rounded bars from the center line, mirrored up and down. Bands are logarithmic: lows at the left, highs at the right, so that kick and bass hit the left side while hi-hats and vocals move the right side separately. Each band is normalized to its own recent level, so quiet highs still move clearly. Attack is instant and release is smooth, over about 150 ms. Kick hits must be obvious to the eye: on strong low-frequency hits, the cover swells by at most 2% and its accent glow lifts a little, then both relax. Never use a fake or random wave.

[Picture]
Draw everything in 2D on a single canvas. The cover is an original flat illustration made with simple shapes from the cover idea: soft gradients, a little grain, rounded corners, a soft shadow. Small things move inside it. Dust specks drift behind. Nothing flashes or shakes.

[Layout rules]
Safe margin: 96 px at the sides, 180 px top and bottom. Reserve separate zones: cover, title, artist, spectrum, progress. No moving object may ever cross text. Song title at least 76 px, artist name at least 44 px, time labels at least 36 px. Use a warm rounded Korean font embedded in the file, and check that every Hangul glyph renders. Print each input exactly once and add no other words, no logo, no fake app name and no imitation of a real music service.

[Build]
One HTML file. The script starts with a `const CONFIG` holding every input plus fps and seed; a settings panel above the preview edits it live. All drawing comes from a pure `seek(t)`. Write render.mjs so that `node render.mjs other-song.mp3` analyzes a new song and makes a new MP4 with one command. Render with headless Chromium when it runs here, otherwise another way; say which in your last message.

[Check before finishing]
Render 8 stills from loud moments into contact-sheet.jpg. Confirm the left and right bars differ between stills, kick hits show in the low bars, the text is spelled exactly, and nothing overlaps text. Fix what fails and render again.

[Deliver]
motion.mp4, film.html, render.mjs, contact-sheet.jpg. Keep your last message short.

[Final output format]
Output size 1080x1920 pixels, 9:16 portrait story. Keep all text inside the central 80% of the height: compress every zone percentage below into the 10-90% range.
This selected output format takes priority over any fixed canvas size or aspect ratio elsewhere in this template. Adapt the composition, text zones and margins to the selected canvas without stretching or cropping essential content. Device safe areas apply only when a device is selected. Never print these format instructions on the image.

다른 포스터 보기

쓰는 법 · 자주 묻는 것

막대가 내 곡을 따라 움직여요

가짜 파형이 아니에요. AI가 곡을 실제로 분석해서, 왼쪽 막대는 킥과 베이스에, 오른쪽 막대는 하이햇과 보컬에 따로 반응해요. 강한 킥이 나오면 커버도 살짝 커졌다가 돌아와요. 재생 시간도 곡의 진짜 위치와 전체 길이를 보여 줘요.

곡 파일은 같은 폴더에

AI 작업 폴더에 곡 파일을 넣고, 곡 파일 칸에 파일 이름을 그대로 적어요. 곡에서 가장 신나는 부분을 골라 16초 안팎으로 잘라 줘요. 쓰는 곡의 권리는 직접 확인하고, 수노로 만든 곡은 수노 쪽 이용 조건을 확인하세요.

곡만 바꿀 때는 토큰이 안 들어요

한 번 만든 뒤에는 `node render.mjs 다른곡.mp3` 한 줄이면 AI에게 다시 묻지 않고 새 영상이 나와요. 우리 PC에서는 79초 걸렸어요. 제목과 커버는 그대로 남으니, 곡이 바뀌면 결과 HTML 맨 위 설정 칸에서 제목도 같이 바꿔 주세요.

어떻게 시험했나요

GPT-6 아스트라로 만들어 봤어요. 다른 곡으로 바꾸는 명령까지 실제로 돌렸어요. 클로드로는 아직 시험하지 않았고, 시험에 쓴 곡은 수노 곡이 아니라 무료 음원이에요.

사양 안내

영상을 만드는 동안 PC가 잠깐 느려질 수 있어요. 고장이 아니고, 끝나면 돌아와요. 코드를 짜고 직접 실행하는 AI에 붙여 넣는 프롬프트라, 그림 AI에서는 영상이 나오지 않아요. 외부 서비스의 요금과 약관은 해당 서비스에서 확인하세요.