Google GenMedia 툴킷
Google의 네이티브 멀티모달 Gemini 모델을 기반으로 한 통합 명령줄 및 스크립팅 툴킷으로, 생성형 미디어 제작과 대화형 편집을 지원합니다.
필수 조건
이 툴킷의 모든 스크립트는 uv run으로 실행해야 합니다.
uv run scripts/<script_name>.py "PROMPT" [OPTIONS]
도구 및 레퍼런스 색인
| 도구 | 스크립트 | 레퍼런스 가이드 | 설명 |
|---|---|---|---|
| 이미지 생성 | scripts/genimage.py | references/genimage.md | Nano Banana 시리즈(Gemini 3.1 Flash / Pro): 텍스트-이미지, 4K, 인페인팅, 스타일 전이, 14개 참조 이미지, 검색 근거, 다중 턴 편집. |
| 비디오 생성 | scripts/genvideo.py | references/genvideo.md | Gemini Omni Flash(gemini-omni-1.1-flash): 텍스트/이미지-비디오, 프레임 보간, 다중 턴 비디오 편집, 시간적 확장. |
| 음악 생성 | scripts/genmusic.py | references/genmusic.md | Google Lyria 3(Clip & Pro): 30초 클립, 가사가 포함된 전체 구조화된 노래, 이미지-음악 점수화. |
| 음성 합성 | scripts/text2speech.py | references/text2speech.md | Gemini TTS: 30개의 사전 구축된 표현형 음성, 단일 화자 내레이션, 스크립트 기반 다중 화자 대화. |
1. 이미지 생성 및 편집: genimage.py
Nano Banana 모델 시리즈(기본 gemini-3.1-flash-image, gemini-3-pro-image, gemini-3.1-flash-lite-image)를 사용하여 이미지를 생성하고 편집합니다. 14가지 종횡비에서 최대 4K 해상도, 다중 이미지 합성(최대 14개 참조 이미지), Google 검색 근거, 다중 턴 대화형 편집을 지원합니다.
빠른 예제
# 텍스트-이미지 (2K 해상도, 16:9 와이드스크린)
uv run scripts/genimage.py "빗속의 네온 불빛과 플라잉 카가 있는 미래형 사이버펑크 도시, 영화 같은 조명" -a 16:9 -s 2K -o city.jpg
# 객체 인페인팅 / 요소 수정
uv run scripts/genimage.py "제공된 고양이 사진을 사용하여, 고양이 머리에 작은 니트 마법사 모자를 씌워 주세요. 편안하게 앉아 있는 것처럼 보이게 해 주세요." -i cat.png -o cat_with_hat.png
# 다중 턴 대화형 편집
uv run scripts/genimage.py "이 인포그래픽을 스페인어로 업데이트해 주세요. 다른 요소는 변경하지 마세요." --previous-id "v1_interaction_id..." -o infographic_spanish.png
👉 자세한 프롬프트 엔지니어링 템플릿(포토리얼리즘, 스티커, 타이포그래피, 제품 목업, 스타일 전이) 및 해상도 표는 references/genimage.md를 참조하세요.
2. 비디오 생성 및 편집: genvideo.py
Gemini Omni Flash(gemini-omni-1.1-flash)를 사용하여 영화 같은 비디오를 생성, 편집 및 확장하고 통합 사운드 디자인을 지원합니다. 텍스트-비디오, 이미지-비디오, 첫 번째 및 마지막 프레임 보간, 상태 저장 다중 턴 대화형 편집, 비디오 클립 확장을 지원합니다.
빠른 예제
# 텍스트-비디오 (1080p 연속 끊김 없는 샷 + 사운드 디자인)
uv run scripts/genvideo.py "일출 속 안개 낀 소나무 산 위를 활공하는 연속적인 부드러운 드론 샷. 사운드 디자인: 부드러운 바람, 먼 새소리. 대사 없음." -a 16:9 -r 1080p -o sunrise.mp4
# 첫 번째 및 마지막 프레임 보간
uv run scripts/genvideo.py "일출 속 무성한 여름 푸른 숲에서 별이 빛나는 밤하늘 아래 눈 덮인 숲으로의 부드러운 영화 같은 전환." -i summer.jpg -i winter.jpg -o season_transition.mp4
# 상태 저장 비디오 편집 (다중 턴)
uv run scripts/genvideo.py "바이올린을 보이지 않게 해 주세요. 다른 모든 것은 그대로 두세요." --previous-id "v1_video_id..." -o invisible_violin.mp4
# 비디오 확장 (클립 끝에 3-10초 추가)
uv run scripts/genvideo.py "장면을 계속: 카메라가 황혼이 드리우는 산 위를 가로지르며 패닝합니다." -v clip.mp4 --task extend -o extended_clip.mp4
👉 카메라 움직임 기법, 오디오 디자인 전략, 대형/4K 비디오용 URI 전달 옵션은 references/genvideo.md를 참조하세요.
3. 음악 및 노래 생성: genmusic.py
Google Lyria 3(lyria-3-clip-preview는 30초 클립/루프용, lyria-3-pro-preview는 전체 다중 섹션 노래용)를 사용하여 고충실도 음악 트랙과 사운드트랙을 합성합니다.
빠른 예제
# 기악 사운드트랙 테마
uv run scripts/genmusic.py "에너제틱한 현악기와 고무적인 브라스 크레셴도가 있는 고양된 영화 같은 오케스트라 사운드트랙, 120 BPM, 기악 전용" -o epic_theme.mp3
# 구조화된 가사와 보컬이 포함된 전체 노래
uv run scripts/genmusic.py "멜로딕한 신스웨이브 트랙, 향수를 불러일으키는 80년대 아날로그 신스 리드, 강력한 드럼, 네온 꿈을 노래하는 보코더 보컬" -m lyria-3-pro-preview -l lyrics.txt -o synthwave_song.mp3
# 이미지-음악 (시각적 분위기 사운드트랙)
uv run scripts/genmusic.py "이 판타지 풍경의 신비롭고 고요한 분위기를 포착하는 앰비언트 사운드트랙을 작곡해 주세요." -i landscape.jpg -o ambient_bgm.mp3
👉 5차원 프롬프트 엔지니어링(장르, 분위기, 악기 구성, 템포, 보컬) 및 구조화된 가사 태그는 references/genmusic.md를 참조하세요.
4. 텍스트-음성 합성: text2speech.py
Gemini TTS(gemini-3.1-flash-tts-preview)를 사용하여 자연스럽고 표현력 있는 음성 오디오를 합성합니다. 30개의 고유한 사전 구축 음성, 인라인 감정 큐([한숨], [웃음], [속삭임], [신나게]), 단일 화자 내레이션, 스크립트 기반 다중 화자 대화를 지원합니다.
빠른 예제
# 음성 큐가 포함된 단일 화자 내레이션
uv run scripts/text2speech.py "[한숨] 다시 환영합니다... [신나게] 오늘은 정말 특별한 것을 만들어 봅시다!" -v Puck -o welcome.wav
# 파일에서 기사 읽기
uv run scripts/text2speech.py -f article.txt -v Charon -o article_narration.wav
# 다중 화자 스크립트 대화
uv run scripts/text2speech.py "Alice: [신나게] 좋은 아침이에요 Bob! 새로운 Gemini 이미지 모델을 확인해 보셨나요?
Bob: [웃음] 물론이죠 Alice! 텍스트 렌더링과 사고 모드가 정말 놀랍더라고요." -s "Alice:Aoede" -s "Bob:Fenrir" -o podcast_dialogue.wav
👉 30개 사전 구축 음성 전체 디렉토리, 감정 태그 디렉토리([xxx]), 대화 스크립트 형식 가이드라인은 references/text2speech.md를 참조하세요.