AI Media Skills
CLI-JAW에는 이미지, 영상, 오디오, 디자인 에셋을 생성하고 편집하고 처리하는 13개의 스킬이 내장되어 있습니다. 이 스킬들은 DALL-E, Sora, fal.ai, Hugging Face 등 외부 AI 서비스를 자연어 명령으로 감싸서 터미널을 벗어나지 않고도 미디어를 제작할 수 있게 해줍니다.
스킬 카탈로그
| 스킬 | 카테고리 | 설명 |
|---|---|---|
imagegen | 이미지 생성 | DALL-E 3 / gpt-image-1을 통해 이미지를 생성합니다. 프롬프트, 크기, 품질, 스타일 매개변수를 지원합니다. |
nano-banana-pro | 이미지 생성 | fal.ai의 Nano Banana Pro 파이프라인을 통한 빠른 이미지 생성입니다. 품질보다 속도에 최적화되어 있습니다. |
fal-image-edit | 이미지 편집 | fal.ai 모델을 사용하여 기존 이미지를 편집합니다 -- 인페인팅, 아웃페인팅, 스타일 트랜스퍼, 배경 제거를 지원합니다. |
sora | 영상 생성 | OpenAI Sora를 사용하여 영상 클립을 생성하고 편집합니다. 텍스트-to-영상 및 이미지-to-영상 워크플로를 지원합니다. |
speech | 오디오 생성 | OpenAI TTS를 통한 텍스트 음성 합성입니다. 다양한 음성, 속도, 출력 형식을 지원합니다. |
transcribe | 오디오 처리 | Whisper를 통한 오디오 및 영상 전사입니다. SRT/VTT/JSON 형식의 타임스탬프 자막을 생성합니다. |
hugging-face-cli | ML 파이프라인 | CLI에서 Hugging Face 모델 추론을 실행합니다. 텍스트, 이미지, 오디오 작업을 지원합니다. |
hugging-face-evaluation | ML 파이프라인 | 표준 벤치마크와 메트릭으로 Hugging Face 모델을 평가합니다. |
hugging-face-model-trainer | ML 파이프라인 | LoRA/QLoRA를 지원하여 커스텀 데이터셋으로 Hugging Face 모델을 파인튜닝합니다. |
algorithmic-art | 제너러티브 아트 | 코드 기반 패턴, 프랙탈, 수학적 시각화를 활용하여 알고리즘 및 제너러티브 아트를 생성합니다. |
canvas-design | 디자인 | 캔버스 기반 그래픽을 디자인합니다 -- 레이아웃, 배너, 소셜 미디어 게시물, 합성 비주얼 등을 제작합니다. |
atlas | 디자인 | 게임 및 UI 에셋용 텍스처 아틀라스와 스프라이트 시트를 생성하고 조작합니다. |
theme-factory | 디자인 | 시드 색상이나 이미지에서 앱과 웹사이트용 컬러 테마, 팔레트, 디자인 토큰을 생성합니다. |
이미지 생성
imagegen 스킬은 이미지를 만드는 주요 진입점입니다. 모델 설정에 따라 DALL-E 3 또는 gpt-image-1에 위임합니다.
"이미지 생성해줘 -- 석양이 지는 서울 남산타워""Generate a watercolor painting of a mountain lake at dawn""로고 만들어줘 -- 미니멀한 고양이 실루엣, 파란색 배경"
# 기본 생성
/imagegen a cyberpunk cityscape at night, neon lights reflecting on wet streets
# 매개변수 지정
/imagegen --size 1792x1024 --quality hd a photo-realistic coral reef
# nano-banana-pro로 빠른 초안 생성
/nano-banana-pro quick sketch of a robot barista
imagegen 매개변수
| 매개변수 | 기본값 | 설명 |
|---|---|---|
--size | 1024x1024 | 출력 크기: 1024x1024, 1792x1024, 1024x1792 |
--quality | standard | standard 또는 hd |
--style | vivid | vivid 또는 natural |
--model | dall-e-3 | dall-e-3 또는 gpt-image-1 |
--output | ./output | 생성된 파일의 출력 디렉토리 |
이미지 편집
fal-image-edit 스킬은 생성 후 편집을 담당합니다: 영역 인페인팅, 캔버스 확장, 스타일 트랜스퍼, 배경 제거 등을 처리합니다.
"이 이미지에서 배경 지워줘""사진의 하늘을 노을로 바꿔줘""Extend this image to the right with more forest"
# 배경 제거
/fal-image-edit --task remove-bg input.png
# 영역 인페인팅 (프롬프트에서 마스크 자동 감지)
/fal-image-edit --task inpaint --prompt "replace the car with a bicycle" photo.jpg
# 스타일 트랜스퍼
/fal-image-edit --task style-transfer --style "oil painting" photo.jpg
영상 생성
sora 스킬은 텍스트 또는 이미지 프롬프트에서 OpenAI Sora를 사용하여 짧은 영상 클립을 생성합니다.
"영상 만들어줘 -- 바닷가에서 뛰어노는 강아지""Create a 5-second video of clouds forming over a mountain""이 사진을 영상으로 변환해줘"
# 텍스트-to-영상
/sora a timelapse of flowers blooming in a meadow --duration 5s
# 이미지-to-영상 (정지 이미지 애니메이션화)
/sora --input cover.png --prompt "gentle camera zoom out" --duration 3s
sora 매개변수
| 매개변수 | 기본값 | 설명 |
|---|---|---|
--duration | 5s | 클립 길이: 3s, 5s, 10s |
--resolution | 720p | 480p, 720p, 1080p |
--input | - | 이미지-to-영상용 소스 이미지 |
--output | ./output | 출력 디렉토리 |
오디오: 음성 합성과 전사
두 개의 상호보완적인 스킬이 오디오 파이프라인을 처리합니다: speech는 텍스트를 음성 오디오로 변환하고, transcribe는 오디오/영상을 타임스탬프가 포함된 텍스트로 변환합니다.
"이 텍스트 읽어줘 -- 오늘의 뉴스 요약입니다""이 영상 자막 만들어줘""Convert this meeting recording to subtitles""음성 파일로 변환해줘 -- alloy 목소리로"
# 텍스트 음성 합성
/speech "Welcome to CLI-JAW. Your daily briefing is ready." --voice alloy
# 커스텀 속도와 형식으로 음성 합성
/speech --voice nova --speed 1.2 --format mp3 "오늘의 할 일을 알려드리겠습니다."
# 오디오 전사
/transcribe meeting-recording.m4a --format srt
# 언어 힌트를 지정하여 영상 전사
/transcribe presentation.mp4 --language ko --format vtt
speech 매개변수
| 매개변수 | 기본값 | 설명 |
|---|---|---|
--voice | alloy | alloy, echo, fable, onyx, nova, shimmer |
--speed | 1.0 | 재생 속도: 0.25에서 4.0까지 |
--format | mp3 | mp3, opus, aac, flac, wav |
transcribe 매개변수
| 매개변수 | 기본값 | 설명 |
|---|---|---|
--format | srt | srt, vtt, json, text |
--language | auto | ISO 639-1 언어 힌트 (예: ko, en, ja) |
--model | whisper-1 | Whisper 모델 변형 |
Hugging Face 파이프라인
세 개의 스킬이 Hugging Face 생태계를 감싸서 CLI에서 직접 추론, 평가, 학습을 수행할 수 있게 합니다.
"이 이미지 분류해줘 -- Hugging Face 모델로""모델 파인튜닝 해줘 -- LoRA로 학습""Evaluate this model on the GLUE benchmark"
# 특정 모델로 추론 실행
/hugging-face-cli --model stabilityai/stable-diffusion-xl-base-1.0 \
--task text-to-image "a serene japanese garden"
# 모델 평가
/hugging-face-evaluation --model bert-base-uncased \
--benchmark glue --split validation
# LoRA로 파인튜닝
/hugging-face-model-trainer --base meta-llama/Llama-3-8B \
--dataset ./training-data.jsonl \
--method lora --epochs 3 --lr 2e-4
지원하는 작업 유형
| 스킬 | 작업 |
|---|---|
hugging-face-cli | text-generation, text-to-image, image-classification, summarization, translation, fill-mask, question-answering |
hugging-face-evaluation | GLUE, SuperGLUE, SQuAD, 커스텀 메트릭 평가 |
hugging-face-model-trainer | LoRA, QLoRA, 전체 파인튜닝, DPO, RLHF |
제너러티브 아트와 디자인
네 개의 스킬이 알고리즘 패턴부터 완전한 디자인 토큰 시스템까지 디자인 워크플로를 다룹니다.
algorithmic-art
코드 기반 비주얼 아트를 생성합니다: 프랙탈, 보로노이 다이어그램, L-시스템, 플로 필드, 수학적 서피스 등을 지원합니다.
# 프랙탈 생성
/algorithmic-art --type mandelbrot --palette ocean --size 2048x2048
# 플로 필드 시각화
/algorithmic-art --type flowfield --seed 42 --particles 5000
canvas-design
텍스트, 도형, 이미지를 캔버스에 합성합니다. 소셜 미디어 그래픽, 배너, 썸네일 제작에 유용합니다.
"배너 만들어줘 -- 1200x630, 제목은 '신제품 출시'""Create an Instagram story template with gradient background"
# 소셜 미디어 배너 생성
/canvas-design --size 1200x630 \
--background "linear-gradient(135deg, #667eea, #764ba2)" \
--text "Product Launch" --font-size 64
atlas
여러 이미지를 최적화된 스프라이트 시트와 텍스처 아틀라스로 패킹하고, JSON 메타데이터를 함께 생성합니다.
# 아이콘을 스프라이트 시트로 패킹
/atlas --input ./icons/ --output spritesheet.png --padding 2
# 메타데이터와 함께 생성
/atlas --input ./frames/ --output atlas.png --meta atlas.json
theme-factory
시드 색상, 이미지 또는 컨셉에서 완전한 컬러 시스템을 생성합니다. CSS 커스텀 프로퍼티, Tailwind 설정, 디자인 토큰으로 출력합니다.
"테마 만들어줘 -- 따뜻한 가을 느낌, 다크모드 포함""Generate a color palette from this brand logo"
# 시드 색상에서 생성
/theme-factory --seed "#4F46E5" --mode both --format css
# 이미지에서 생성
/theme-factory --from-image hero.jpg --format tailwind
# 컨셉에서 생성
/theme-factory --concept "warm autumn forest" --format tokens
출력 처리
모든 미디어 스킬은 일관된 출력 패턴을 따릅니다:
- 파일 출력 -- 생성된 파일은
--output디렉토리에 저장됩니다 (기본값:./output) - 인라인 미리보기 -- Electron 데스크톱 앱이나 Web UI에서 실행 중일 때 이미지가 인라인으로 표시됩니다
- 클립보드 --
--copy를 전달하면 출력 파일 경로가 시스템 클립보드에 복사됩니다 - 파이프 호환 -- 모든 스킬은 체이닝을 위해 출력 파일 경로를 stdout으로 출력합니다
# 생성 후 편집으로 체이닝
/imagegen "a forest cabin" | xargs -I {} /fal-image-edit --task style-transfer --style "watercolor" {}
# 생성 후 바로 열기
/imagegen "sunset over the ocean" && open ./output/latest.png
설정
API 키와 기본값은 ~/.cli-jaw/config.yaml 또는 환경 변수를 통해 설정합니다:
# config.yaml
skills:
imagegen:
default_model: gpt-image-1
default_quality: hd
output_dir: ~/Pictures/cli-jaw
sora:
default_duration: 5s
default_resolution: 1080p
speech:
default_voice: nova
transcribe:
default_format: srt
default_language: ko
# 환경 변수
export OPENAI_API_KEY="sk-..." # imagegen, sora, speech, transcribe
export FAL_KEY="fal-..." # nano-banana-pro, fal-image-edit
export HF_TOKEN="hf_..." # hugging-face-* 스킬