- 블로그
- Veo 3 JSON 프롬프트 제너레이터: 구조화 프롬프트 완전 가이드 & 템플릿 (2026)
Veo 3 JSON 프롬프트 제너레이터: 구조화 프롬프트 완전 가이드 & 템플릿 (2026)
Veo 3의 좋은 결과를 바라지 말고 설계하세요. JSON 프롬프팅 완전 가이드 2026: 필드 구조, 복붙용 템플릿 4개, image-to-video, 일관성 비법.
Emma Chen · 8 min read · Jun 25, 2026

대부분의 사람들은 Veo 3에 한 문장을 입력하고, 손가락을 꼬며, 모델이 자기 의도를 알아맞혀 주기를 기대합니다. 가끔은 정확히 맞아떨어집니다. 하지만 더 흔하게는 카메라가 엉뚱한 데로 흐르고, 컷마다 조명이 바뀌고, 캐릭터의 재킷 색이 갑자기 달라지고, 사운드는 상상했던 것과 전혀 다릅니다. 2026년에 숙련된 크리에이터들이 정착한 해결책은 더 긴 문장이 아니라 JSON 프롬프트입니다. 하나로 이어진 문단 대신, 피사체·동작·카메라·렌즈·조명·색·사운드·스타일 같은 모든 다이얼을 각각 이름 붙인 구조화 객체를 Veo 3에 건넵니다. 모델은 추측을 멈추고 지시를 따르기 시작합니다.
이 가이드는 Veo 3의 JSON 프롬프팅에 대한 완전한 레퍼런스로, 그대로 복사해 쓸 수 있습니다. JSON 프롬프트가 실제로 무엇인지, 왜 구조화된 형식이 일반 텍스트보다 일관된 결과를 내는지, Veo 3 프롬프트 객체의 모든 필드를 하나씩 짚어보고, 오늘 바로 Veo 3에 붙여넣을 수 있는 즉시 사용 가능한 템플릿 4개를 얻게 됩니다. 아직 프롬프트를 문단으로 쓰고 있다면, 적중률을 가장 크게 바꿔 줄 단 하나의 업그레이드가 바로 이것입니다. 프롬프팅 자체가 처음이라면, 먼저 Veo 3 프롬프트 엔지니어링 가이드를 훑어본 뒤 여기로 돌아와 구조화 프롬프트로 넘어가세요.
JSON 프롬프트란 무엇인가?
JSON(JavaScript Object Notation)은 구조화된 데이터를 키-값 쌍으로 적는 단순하고 읽기 쉬운 방식입니다. Veo 3용 JSON 프롬프트는 평소 한 문장에 욱여넣던 것과 같은 발상을 이름이 붙은 필드로 분해합니다.
{
"shot": "medium close-up",
"subject": "a barista with curly red hair and a green apron",
"action": "steams milk, then looks up and smiles at the camera",
"setting": "a sunlit specialty coffee shop, morning",
"camera": "slow push-in on a 50mm lens, shallow depth of field",
"lighting": "warm window light from the left, soft shadows",
"audio": "hiss of the steam wand, low cafe chatter, no music",
"style": "photorealistic, cinematic, 35mm film grain"
}
이를 문단 버전과 비교해 보세요. "빨간 곱슬머리에 초록 앞치마를 두른 바리스타가 햇살 가득한 커피숍에서 우유를 스팀하다가, 고개를 들어 미소 짓는다. 50mm 렌즈로 천천히 다가가며 왼쪽에서 들어오는 따뜻한 창문 빛으로 촬영하고, 스팀 완드 소리와 낮은 카페 웅성거림이 들어간다." 둘 다 같은 장면을 묘사합니다. 하지만 JSON 버전에서는 모든 지시가 분리되어 있어, 모델이 "왼쪽에서 들어오는 따뜻한 창문 빛"을 피사체 설명에 뒤섞지 않고, 긴 문장 끝에 묻힌 사운드 지시를 잊지도 않습니다. 각 키는 의도를 전달하는 깨끗한 채널입니다.
Veo 3는 형식적인 스키마를 요구하지 않습니다——모델은 객체 안의 자연어 값을 읽습니다——하지만 구조화한다는 행위 자체가, 그러지 않았다면 모호하게 남겼을 것을 명확히 하도록 강제합니다. 바로 그 명확함에서 품질의 도약이 나옵니다.
왜 JSON 프롬프트가 Veo 3에서 더 잘 작동하는가
구조화 프롬프트가 문단을 이기는 구체적 이유는 세 가지이며, 특히 영상과 native audio를 한 번의 패스로 생성하는 Veo 3 같은 모델에서 더욱 그렇습니다.
1. 아무것도 사라지지 않는다. 긴 문장에서 모델은 가장 먼저, 그리고 가장 나중에 본 단어에 가장 큰 가중치를 둡니다. 문단 중간에 끼워 넣은 사운드 지시, 렌즈 선택, 컬러 그레이딩은 일상적으로 무시됩니다. JSON에서는 모든 지시가 동일한 비중으로 자기 필드에 들어가므로, audio와 lighting 필드도 피사체만큼의 주의를 받습니다.
2. 컷 사이의 일관성. 이것이 핵심입니다. subject·style·lighting 필드를 여러 생성에 걸쳐 동일하게 유지하고 action과 camera만 바꾸면, 컷마다 알아볼 수 있는 일관된 캐릭터와 통일된 룩을 얻습니다. 이는 여러 컷을 더 긴 시퀀스로 잇기 위한 토대입니다——Veo 3를 8초 너머로 연장하는 방법 해설을 보세요. 거기서는 바로 안정적인 JSON 블록이 중간에 캐릭터가 "뭉개지는" 것을 막아 줍니다.
3. 재현성과 반복. 프롬프트가 구조화되어 있으므로, 한 번에 변수 하나씩만 바꿔 가며 각 필드가 무엇을 하는지 실제로 배울 수 있습니다. lighting을 "따뜻함"에서 "하이키"로 올려 다시 생성하세요. camera를 "고정"에서 "천천히 다가가기"로 바꿔 다시 생성하세요. 문단 전체를 다시 쓰고 어느 단어가 효과를 냈는지 고민하는 대신, 통제된 피드백 루프를 만들게 됩니다.
Veo 3 JSON 프롬프트의 해부
다음은 2026년에 Veo 3에서 안정적으로 작동하는 완전한 필드 집합입니다. 모든 프롬프트에 모든 필드가 필요한 것은 아니며——컷이 요구하는 것을 쓰면 됩니다——이것이 목적별로 묶은 전체 목록입니다.
핵심 장면
shot— 프레이밍:extreme wide,wide,medium,medium close-up,close-up,macro.subject— 누구 또는 무엇인지를, 구체적이고 지속되는 시각적 디테일(머리, 의상, 나이, 체격)로 묘사합니다. 일관성을 위해 그대로 재사용합니다.action— 무엇이 일어나는지를 시간 순서로. "먼저… 그다음…" 같은 순서어를 씁니다.setting— 장소에 더해 시간대와 날씨.
카메라와 렌즈
camera— 움직임:static,slow push-in,dolly-out,handheld,crane up,orbit. 전체 어휘는 카메라 제어 프롬프트 가이드에 있습니다.lens—18mm wide,35mm,50mm,85mm portrait, 그리고shallow또는deep depth of field.
빛과 색
lighting— 방향, 질감, 광원: "오른쪽에서 들어오는 부드러운 키 라이트, 뒤쪽 림 라이트, 실사용 네온".color/color_grade— 팔레트와 분위기: "틸과 오렌지", "차분한 파스텔", "고대비 누아르".
사운드(Veo 3의 최대 강점)
audio— 믹스 전체를 묘사합니다: 환경음, 효과음, 음악을 각각 따로. 무음이나 음악 없음을 원할 때는 명시합니다.dialogue— 따옴표로 묶은 정확한 대사. Veo 3가 립싱크를 해 줍니다. 8초 컷에서는 대사를 짧게 유지하세요. native audio 프롬프트 가이드가 이 필드를 깊이 다룹니다.
스타일과 마감
style— 전체 미학:photorealistic,cinematic,documentary,claymation,anime,35mm film.aspect_ratio—16:9, 세로형은9:16,1:1.negative— 피할 것: "텍스트 오버레이 없음, 일그러진 손 없음, 손가락 과다 없음". 더 자세히는 네거티브 프롬프트 가이드를.
복사해서 쓰는 JSON 템플릿 4개
다음은 완전하고 바로 작동하는 출발점입니다. 하나를 Veo 3에 붙여넣고, 값을 자기 장면에 맞게 바꾸세요.
1. 제품 공개(이커머스 / 광고)
{
"shot": "macro to medium pull-back",
"subject": "a matte-black wireless earbud case on a wet slate surface",
"action": "the lid slowly opens, the earbuds glow, then the camera pulls back to reveal the full product",
"setting": "minimalist studio, dark background",
"camera": "slow dolly-out on a 100mm macro lens, rack focus",
"lighting": "single soft top light, subtle blue rim light",
"color_grade": "high-contrast, cool blues and silver",
"audio": "a soft mechanical click as the lid opens, a low ascending synth swell, no voiceover",
"style": "premium commercial, photorealistic, glossy reflections",
"aspect_ratio": "16:9",
"negative": "no text, no logos, no hands"
}
2. 영화적 대사(립싱크)
{
"shot": "medium close-up",
"subject": "a weary detective in a damp trench coat, 50s, stubble",
"action": "he leans against a brick wall, exhales, and speaks directly to camera",
"setting": "a rain-soaked alley at night, neon signs reflecting in puddles",
"camera": "slow handheld push-in on an 85mm lens, shallow depth of field",
"lighting": "magenta and cyan neon practicals, hard rim light, deep shadows",
"dialogue": "\"Everybody in this city is running from something. Tonight, it's my turn.\"",
"audio": "steady rain, distant traffic, a low ominous drone, no music bed",
"style": "neo-noir, cinematic, 35mm film grain",
"aspect_ratio": "16:9"
}
3. 세로형 소셜 클립(TikTok / Reels)
{
"shot": "medium",
"subject": "an energetic fitness coach in bright activewear",
"action": "demonstrates a kettlebell swing with perfect form, then points at the camera and gives a thumbs up",
"setting": "a sunlit home gym with plants",
"camera": "static tripod, eye level, then a quick snap zoom on the thumbs up",
"lighting": "bright natural daylight, clean and high-key",
"audio": "upbeat energetic background music, a rhythmic exhale on each swing",
"dialogue": "\"Three sets of fifteen — let's go!\"",
"style": "vibrant, modern, social-media polish",
"aspect_ratio": "9:16",
"negative": "no warped equipment, no extra limbs"
}
4. 캐릭터가 일관된 시리즈 컷
subject·style·lighting을 고정하고, 생성 사이에는 action과 camera만 바꾸세요.
{
"shot": "medium",
"subject": "Mira, a young astronaut with a buzzcut and a scar over her left eyebrow, wearing a worn orange flight suit",
"action": "checks a wrist console, frowns, then looks off-screen toward an alarm",
"setting": "the cramped cockpit of a derelict spaceship, red emergency lighting",
"camera": "slow orbit to the right on a 35mm lens",
"lighting": "pulsing red emergency light, faint blue glow from the console",
"audio": "low hum of failing systems, an intermittent alarm beep, tense ambient drone",
"style": "sci-fi, cinematic, photorealistic, film grain",
"aspect_ratio": "16:9"
}
참조 이미지를 활용한 JSON 프롬프트(image-to-video)
JSON 구조화는 순수 텍스트가 아니라 이미지에서 시작할 때도 똑같이 빛을 발합니다. 참조 프레임을 업로드하면, 그 이미지가 이미 피사체의 외형·의상·배경을 고정하므로, subject와 setting의 무거운 묘사를 빼고 필드를 움직임과 카메라에 쓸 수 있습니다. 이미지가 "어떻게 보이는가"를 맡고, JSON이 "무엇을 하는가"를 맡습니다.
{
"input": "uploaded reference image of the character",
"action": "the character turns their head toward the window, then breaks into a slow smile",
"camera": "gentle handheld drift, slight push-in on a 50mm lens",
"lighting": "match the soft window light in the reference image",
"audio": "quiet room tone, a soft inhale, distant birdsong, no music",
"style": "preserve the photographic style of the reference image",
"negative": "do not change the character's face, hair, or clothing"
}
lighting과 style이 장면을 다시 묘사하지 않고 match와 preserve라고 말하는 점에 주목하세요——이렇게 하면 Veo 3가 당신의 이미지에 고정되어 멋대로 새로 만들지 않습니다. 정체성을 보호하는 역할을 하는 negative 필드("얼굴을 바꾸지 말 것")는 image-to-video를 위해 쓸 수 있는 가장 효과적인 한 줄 중 하나입니다. 참조 이미지 전체 워크플로는 Veo 3 image-to-video 가이드를 보세요.
고급: 필드의 순서와 그룹화
그럭저럭한 JSON 프롬프트를 훌륭한 것으로 만드는 두 가지 세련됨이 있습니다. 첫째, 필드 순서는 약한 신호입니다——가장 중요한 지시를 위쪽에 두세요. 캐릭터의 정체성이 가장 중요하면 subject로 시작하고, 카메라 움직임이 컷의 주인공이면 camera로 시작하세요. 둘째, 복잡한 장면에서는 관련 값을 중첩 객체로 그룹화하여 각 묶음이 깔끔하게 읽히도록 할 수 있습니다.
{
"subject": "a street violinist, late 20s, fingerless gloves",
"action": "plays an energetic solo, eyes closed",
"camera": { "movement": "slow arc left", "lens": "35mm", "depth_of_field": "shallow" },
"lighting": { "key": "golden hour backlight", "fill": "soft bounce from the right" },
"audio": { "music": "a fast, emotional solo violin", "ambient": "city street, faint applause", "sfx": "none" }
}
Veo 3는 중첩된 값도 문제없이 읽으며, 그룹화는 무엇을 지정했고 무엇을 모델에 맡겼는지 한눈에 보이게 합니다. 단순한 컷에는 평평한 필드를 쓰고, 중첩 객체는 어떤 섹션에 정말로 여러 하위 값이 있을 때만 쓰세요——단순한 프롬프트를 과도하게 중첩하면 잡음만 늘어납니다.
Veo 3에서 JSON 프롬프트를 쓰는 방법
특별한 모드는 필요 없습니다. Veo 3는 문장을 입력하던 바로 그 프롬프트 칸에 JSON 객체를 그대로 받아들입니다.
- veo3ai.io의 Veo 3을 엽니다(스토리보드 보기를 선호하면 Google Flow도 좋습니다).
- 완전한 JSON 객체를 프롬프트 칸에 붙여넣습니다. 유효한 JSON을 유지하세요——짝이 맞는 중괄호, 따옴표로 묶은 값, 필드 사이의 쉼표.
- 인터페이스가 클립 길이와 화면비를 따로 제공하면 설정하고, 아니면 JSON 안의
aspect_ratio필드가 그 일을 합니다. - 생성하고, 검토한 뒤, 한 번에 한 필드씩 바꿔 가며 반복합니다.
- 시퀀스를 만들려면 JSON을 복제하고,
subject/style/lighting을 고정한 채 다음 컷을 위해action과camera만 편집합니다.
바로 이 "고정 블록" 규율이 여러 컷에 걸쳐 캐릭터를 "배역대로" 유지하게 해 주며, 이는 단일 클립보다 긴 모든 것의 전제 조건입니다.
JSON 프롬프트 제너레이터: 꼭 필요할까?
2026년에는 무료 "Veo 3 JSON 프롬프트 제너레이터" 도구의 물결이 등장했습니다——컷, 카메라, 조명용 드롭다운이 있는 양식을 제공하고, JSON을 대신 내보내 줍니다. 중괄호를 손으로 쓰고 싶지 않은 초보자나, 미리 만들어진 프롬프트 라이브러리를 둘러보는 데 편리합니다. 하지만 위의 필드 구조를 이해하고 나면, JSON을 직접 쓰는 편이 남의 양식을 클릭하는 것보다 빠르고 훨씬 유연합니다. 이 가이드의 스키마가 바로 제너레이터입니다——탭에 띄워 두고, 자기 컷에 가장 가까운 템플릿을 복사해 값을 편집하세요. 진짜 실력은 도구가 아니라 어떤 필드가 어떤 다이얼을 움직이는지 아는 것이며, 그것은 이제 당신의 것입니다.
JSON 프롬프팅에서 흔한 실수
- 유효하지 않은 JSON. 쉼표 누락이나 짝이 맞지 않는 중괄호가 있으면, 모델이 객체를 엉성한 텍스트로 읽는 쪽으로 되돌아갈 수 있습니다. 불안하면 생성 전에 객체를 아무 무료 JSON 검사기에 붙여넣어 보세요.
- 한 필드에 과하게 채우기.
action안에 문단을 쓰지 마세요. 서로 다른 아이디어는 올바른 키로 나누세요——움직임은camera로, 분위기는lighting과color_grade로. - 사운드를 잊기. Veo 3의 native audio는 구형 모델 대비 최대 강점입니다. 비어 있거나 없는
audio필드는 그것을 낭비합니다. 항상 환경음, 효과음, 그리고 음악을 원하는지 여부를 지정하세요. - 대사가 너무 길기. 8초 클립에는 대략 짧은 문장 1~2개 분량의 말이 들어갑니다. 독백을 욱여넣으면 립싱크가 빨라지거나 잘립니다.
- 한꺼번에 다 바꾸기. 결과가 아깝지만 완벽하지 않을 때, 객체 전체를 다시 쓰지 마세요. 한 필드를 바꾸고, 다시 생성하고, 거기서 배우세요.
JSON 대 일반 텍스트: 언제 무엇을 쓸까
텍스트 프롬프트는 정확한 제어가 중요하지 않은 빠르고 단순한 단일 컷 아이디어에는 여전히 완벽하게 좋습니다——"노을 진 해변을 달리는 골든 리트리버"는 어느 쪽이든 멋지게 나옵니다. 정밀함(특정 렌즈, 조명, 색), 일관성(여러 클립에 걸친 같은 캐릭터나 룩), 또는 재현 가능한 반복(한 번에 한 변수 바꾸기)이 필요할 때 JSON을 꺼내세요. 실전에서는 텍스트로 자유롭게 실험한 뒤, 이긴 아이디어를 JSON 객체에 고정하여 안정적으로 재현하고 연장할 수 있게 합니다. JSON으로 바꿀 텍스트 아이디어의 더 넓은 라이브러리는 Veo 3 베스트 프롬프트 가이드를 보세요.
자주 묻는 질문
Veo 3는 JSON 프롬프트를 공식적으로 지원하나요? Veo 3는 형식적인 JSON 스키마를 강제하지 않지만, 각 필드 안의 자연어 값이 바로 모델이 읽는 것이기에 구조화된 JSON 객체를 안정적으로 해석합니다. 구조는 당신을 위한 것입니다——명시적이고 분리된 지시를 강제하며——실전에서 문단보다 눈에 띄게 더 제어하기 쉬운 결과를 냅니다.
JSON 프롬프팅이 상세한 한 문장보다 나은가요? 복잡하거나 재현 가능한 컷에는 그렇습니다. 이 형식은 지시가 사라지는 것을 막고 클립 간 일관성을 훨씬 쉽게 만듭니다. 한 번뿐인 단순한 아이디어에는 좋은 문장 하나면 충분합니다.
일관성에 가장 중요한 필드는?
subject·style·lighting입니다. 이 셋을 생성 간에 동일하게 유지하고 action과 camera만 바꾸면, 캐릭터와 룩이 컷마다 "배역대로" 유지됩니다.
세로형 TikTok이나 Reels 동영상에 JSON 프롬프트를 쓸 수 있나요?
네——객체 안에 "aspect_ratio": "9:16"을 설정하세요. 위의 템플릿 3이 바로 쓸 수 있는 세로형 출발점입니다.
JSON 프롬프트 제너레이터가 필요한가요? 아니요. 이 가이드의 템플릿과 필드 목록은 제너레이터가 내보내는 것을 포괄합니다. 필드만 알면 템플릿을 손으로 편집하는 편이 더 빠르고 유연합니다.
이미지에서 시작할 때 JSON 프롬프트를 쓸 수 있나요?
네, 그리고 그게 종종 가장 깔끔한 워크플로입니다. 업로드한 이미지가 외형과 배경을 정의하게 하고, JSON 필드는 action, camera, 그리고 캐릭터의 정체성을 보호하는 negative 줄에 쓰세요. 위의 image-to-video 템플릿을 보세요.
JSON 프롬프트의 대사는 얼마나 길게 할 수 있나요?
대사는 짧게 유지하세요——표준 8초 클립에 대략 짧은 문장 1~2개입니다. 더 긴 대사는 립싱크를 빨라지게 하거나 잘리게 합니다. 대사가 더 필요하면, subject 블록을 고정한 채 연속된 클립으로 나누세요.
같은 JSON 프롬프트가 항상 같은 동영상을 만드나요?
정확히는 아닙니다——Veo 3는 생성 간에 여전히 변이를 만듭니다. 하지만 잘 구조화된 프롬프트는 그 변이를 극적으로 좁히고, subject·style·lighting을 고정하면 클립을 이어 붙일 만큼 룩이 충분히 일관되게 유지됩니다.
구조를 갖춰 프롬프팅을 시작하세요
JSON 프롬프팅은 Veo 3의 좋은 결과를 "바라는 것"과 "설계하는 것"의 차이입니다. 자기 컷에 가장 가까운 템플릿을 골라 Veo 3에 붙여넣고, 딱 맞아떨어질 때까지 한 번에 한 필드씩 바꿔 보세요. 필드 구조를 능숙하게 다루게 되면, 긴 문단과 씨름하던 시절로는 다시 돌아가지 않습니다——그리고 캐릭터, 조명, 사운드가 마침내 당신이 둔 그 자리에 그대로 머뭅니다. 다음 단계로는, 영화적 프롬프트 가이드와 결합해 진짜로 짜임새를 유지하는 다중 컷 시퀀스를 만들기 시작하세요.
Related Articles
Continue with more blog posts in the same locale.

Veo 3 영상에서 자막 지우는 법: 깨진 캡션 버그 해결하기 (2026)
Veo 3는 대사 클립에 깨진 자막을 구워 넣습니다. 생성 단계에서 막고 후반 작업에서 지우는 2026 완전 매뉴얼.
Read article
대량 AI 영상 생성기: Veo 3 영상을 배치로 대량 제작하는 법 (2026)
대량 AI 영상 생성기 워크플로로 일관된 Veo 3 영상 수십 개를 배치 생성하는 법——마스터 프롬프트, 변수 시트, 시드 제어, 제작 플레이북, 비용 통제, QA.
Read article
Veo 3 캐릭터 일관성 가이드: 클립 전반에서 같은 캐릭터 유지하기 (2026)
Veo 3 클립 사이에서 캐릭터가 바뀌는 것을 막는 완전한 시스템. 캐릭터 바이블 템플릿, 참조 이미지, Scene Builder와 Frames-to-Video 연결, 드리프트를 막는 프롬프트 구조.
Read article