colab-flux은(는) 무엇을 하나요?
임대한 Colab GPU에서 FLUX 3 Image Klein을 실행하는 fluxx 기반 도구입니다. fluxx gen 명령 하나로 A100을 시작하고, diffusers를 설치하며, FLUX 3와 판별 모델을 다운로드 및 로드하여 여러 장의 후보 중 최고를 판별한 이미지를 렌더링하고, 다운로드 후 GPU를 몇 분간 유지했다가 종료합니다. 가능한 한 모든 샷을 한 번의 호출로 배치 처리하세요.
이미지를 일관되게 만드는 요소는 브랜드 프로필이며, 운에 의존하지 않습니다.
- 제품 참조: 제품의 실제 사진으로, 매 샷마다 FLUX 3에 참조 이미지로 전달되어 제품의 모양, 라벨, 색상을 유지합니다 (최대 10개 참조).
- 스타일: 구체적인 사진 촬영 언어로 작성된 한 문단으로, 모든 장면에 추가됩니다.
- 회피: 절대 나타나서는 안 되는 요소.
- 시드: 브랜드별로 고정되어 동일한 장면이 동일하게 렌더링됩니다.
- 피드백: 모든 샷이 기록되며,
fluxx rate명령으로 사용자가 좋아한 점과 이유를 기록하면, 그 패턴을 스타일에 반영할 수 있습니다.
모든 파일은 ~/colab-flux/brands/<이름>/ 디렉토리에 저장됩니다: brand.json, refs/, history.jsonl, shots/<시간>/.
1. 첫 사용: 설정 확인
fluxx doctor 명령을 실행합니다 (fluxx가 없으면 먼저 sh <스킬 폴더 경로>/install.sh 실행). ok 또는 TODO 라인이 출력됩니다. 각 TODO 항목을 일반 언어로 하나씩 설명하며 안내합니다.
| TODO | 사용자 작업 | 참고 |
|---|---|---|
| Colab CLI 미설치 | 없음: 스킬 폴더에서 sh install.sh 실행 | uv 및 공식 Colab CLI 설치 |
| Google 로그인 안 됨 | 자신의 터미널에서 fluxx login 실행 | 브라우저에서 Google 로그인 창 열림. 대신 해줄 수 없음 |
| 컴퓨트 유닛 부족 | https://colab.research.google.com/signup 에서 Colab Pro 또는 컴퓨트 유닛 구매 | A100은 무료 티어에서 사용 불가 |
| Hugging Face (선택 사항) | 기본적으로 없음: 토큰 없이 fluxx는 공식 저장소의 sha256을 확인한 후 공개 미러에서 다운로드. 공식 저장소 사용 시: fluxx login으로 FLUX 3 페이지 열고, 라이선스 동의 후 Read 토큰 생성, 숨겨진 프롬프트에 붙여넣기 | 무료. 채팅에 토큰을 붙여넣도록 요청하지 말 것 |
| 브랜드 없음 | 없음: 아래 브랜드 인터뷰 진행 |
fluxx login은 토큰을 숨겨진 프롬프트로 입력받으므로 실제 터미널이 필요합니다. Claude Code에서는 사용자에게 터미널 탭을 열고 거기서 실행하라고 알려주세요 (Codex도 동일). 완료했다고 하면 fluxx doctor를 다시 실행합니다.
2. 브랜드 인터뷰 (비즈니스당 한 번)
다음 질문을 하나의 메시지에 짧게, 예시와 함께 담아 1분 안에 답변할 수 있도록 합니다:
- 비즈니스는 무엇이며, 어떤 제품이 나타나야 하나요? (예: "호박색 유리병에 담긴 수제 소이 캔들")
- 누가 구매하며, 이미지는 어디에 사용되나요? (Shopify, Amazon, Etsy, Instagram, 광고, 인쇄물)
- 몇 마디로 표현한 스타일 또는 선호하는 브랜드. (예: "차분하고, 따뜻하며, 스칸디나비아 스타일, Aesop과 같은")
- 절대 나타나면 안 되는 것은 무엇인가요? (사람, 텍스트, 경쟁사 제품, 복잡함, 특정 색상)
- 제품 사진: 파일 경로 또는 직접 드래그. 제품별로 평평하고 조명이 잘 들어온 사진이 가장 좋습니다.
답변을 바탕으로 프로필을 작성합니다. 형용사를 사진작가가 사용할 언어로 변환하세요. 이것이 FLUX가 따르는 방식입니다. "차분하고 따뜻한"은 "왼쪽에서 들어오는 부드럽고 확산된 창문 빛, 귀리, 모래, 테라코타의 따뜻한 중성 팔레트, 무광 린넨과 옅은 오크 표면, 얕은 심도, 넉넉한 여백, 에디토리얼 제품 사진"이 됩니다.
fluxx brand new acme-candles --business "Acme, 호박색 유리병에 담긴 수제 소이 캔들" \
--style "왼쪽에서 들어오는 부드럽고 확산된 창문 빛, 따뜻한 중성 팔레트 ..." \
--avoid "사람, 손, 병 라벨 외의 텍스트, 복잡함" --aspect 4:5
fluxx brand ref acme-candles /path/to/jar-front.jpg # 역할: product (기본값)
fluxx brand ref acme-candles /path/to/moodboard.jpg --role style
목적지별 화면 비율: Amazon/Shopify 제품 그리드 1:1, Instagram 피드 4:5, 스토리/릴스 9:16, 웹 히어로 16:9, Etsy 4:3 또는 1:1. 브랜드의 기본 화면 비율은 --aspect로 실행 시 덮어쓸 수 있습니다. 작성한 프로필을 사용자에게 보여주고 (fluxx brand show 이름) 자신과 맞는지 물어보세요.
3. 이미지 만들기
fluxx brand show NAME: 아무것도 쓰기 전에 프로필과 최근 피드백을 읽습니다.- 장면을 작성합니다. 각 장면에 대해 하나의 짧고 구체적인 문장만 작성하세요. 브랜드 스타일, 회피 목록 및 참조 역할은 자동으로 추가되며, FLUX 3 자체 프롬프트 업샘플러 (GPU의 9B 모델)가 각 문장을 전체 캡션으로 확장하므로 긴 프롬프트를 작성하는 데 토큰을 낭비하지 마세요. 좋은 예:
햇볕이 드는 참나무 창턱 위의 병, 아침, 그 옆에 말린 유칼립투스 가지. - 사용자가 원할 수 있는 모든 샷을 한 번의 호출로 수집합니다 (시작이 가장 비용이 많이 드는 부분):
장면은 접두사로 자체 모양을 설정할 수 있으므로 한 번의 실행으로 여러 형식을 혼합할 수 있습니다:fluxx gen -b acme-candles -n 2 "장면 하나" "장면 둘" "장면 셋" fluxx gen -b acme-candles --from shots.txt # 한 줄에 하나의 장면, # 주석 허용16:9 | 햇볕 드는 창턱 위의 병, 왼쪽에 헤드라인을 위한 공간. 콜드 스타트는 약 4분이 소요되며, 이후 4MP 렌더링당 약 45초가 소요됩니다. Claude Code에서는run_in_background로 실행하고, Codex에서는 그냥 실행합니다. 각 이미지 경로가 stdout에 한 줄씩 출력됩니다. 진행 상황, 각 샷의 판별 점수 및 결함, 컴퓨트 유닛 비용은 stderr로 출력됩니다. 사용자가 장면에서 제품을 사용하는 경우, 어떻게 사용하는지 설명하세요: "전화기 수화기를 귀에 대고, 코드는 프레임 밖으로 나가고; 전화기 본체는 보이지 않음". FLUX는 참조 이미지와 동일한 방식으로 제품을 그리므로, 들어 올린 부분이 두 번 나타나는 경향이 있습니다 (테스트에서, 프롬프트가 거치대가 비어 있다고 했음에도 불구하고 들고 있는 수화기와 전화기에 있는 다른 수화기가 나타남). 제품의 나머지 부분을 그림 밖으로 프레이밍하여 해결했습니다. - GPU에서 판별하는 Best of N. 각 샷은 최대
--candidates개의 이미지를 렌더링합니다 (기본값 3). 비전-언어 판별 모델 (Qwen3.5-9B, 동일 GPU)이 각 이미지를 브리핑, 제품 참조 및 회피 목록 (해부학, 중복 객체, 제품 충실도, 불필요한 텍스트, 매력도)에 대해 확인하고 최고를 유지하며, 하나가 9+ 점수로 결함이 없으면 일찍 중단합니다. 나머지는 작은 크기로alts/폴더에 저장되어 사용자가 여전히 선택할 수 있습니다. _md.jpg파일도 직접 확인하세요 (작은 파일입니다). 특히 stderr에 결함이 나열되거나 점수가 7 미만인 샷이 있다면, 완료된 것으로 제시하는 대신 무엇이 잘못되었는지 말씀드리세요. 그런 다음 사용자에게 폴더와 경로를 제공합니다.- GPU는 이후에도 따뜻하게 유지됩니다 (
--keep, 기본값 5분) 모델이 로드된 상태로 유지되므로, 동일한 설정으로 후속fluxx gen을 실행하면 약 4분의 대기 시간 없이 즉시 렌더링을 시작합니다. 제시 직후에 물어보세요: "GPU가 N분 동안 (유휴 상태에서 약 X 컴퓨트 유닛) 따뜻하게 유지됩니다. 더 필요하거나 변경할 사항이 있나요? 그렇지 않으면 종료하겠습니다." 완료되었다면fluxx stop을 실행하세요. 아무 말도 없으면 자동으로 중지됩니다. 더 오래 유지하려면 다음 실행에--keep 15를 전달하거나fluxx config keep_minutes 15로 새 기본값을 저장하세요.--keep 0은 실행 종료 시 GPU를 중지합니다.
플래그: -n N 장면당 변형 (시드 seed..seed+N-1) · --candidates K 샷당 렌더링 수, 최고 유지 (1-8) · --keep MIN 이후 유지 시간(분) · --draft 1MP 중간 크기만, 후보 1개, 빠름, 새 방향 탐색용 · --aspect W:H · --ref PATH 일회성 추가 제품 사진 · --no-refs · --seed S · --no-upsample 장면이 이미 전체 캡션인 경우 (19GB 다운로드 생략) · --out DIR.
샷당 출력: <id>_hd.png (약 4MP, 예: 2048x2048, 인쇄, 확대 및 히어로 이미지용) 및 <id>_md.jpg (1024px 긴 쪽, 리스팅, 웹 및 소셜용).
4. 마켓플레이스 리스팅 (Amazon, Etsy, eBay, Shopify)
온라인에서 제품을 판매하기 위한 이미지인 경우 gen 대신 fluxx listing을 사용하세요. 한 번의 실행으로 6개의 정사각형 4MP 샷의 표준 세트를 만들고, 각 사이트의 순서, 이름 및 크기로 사이트별 폴더를 내보내며, GPU에서 리스팅 카피를 작성합니다 (판별 모델이 작성하므로 Claude 토큰이 필요 없음):
fluxx listing -b acme-candles --product "나무 뚜껑이 있는 호박색 유리병에 담긴 수제 소이 캔들" \
--notes "8oz, 50시간 연소, 코튼 심지, 향: 시더와 스모크, 오레곤산" --for amazon,etsy
| 샷 (역할) | 설명 | 브랜드 룩 |
|---|---|---|
main | 순백색 배경에 제품 단독, 중앙 정렬 | 없음: fluxx가 배경을 정확히 RGB 255로 만들고 제품을 프레임의 85%로 확대 (Amazon 메인 이미지 규칙) |
angle | 흰색 배경에 4분의 3 각도 | 없음 |
detail | 재료와 마감의 클로즈업 | 없음 |
lifestyle | 사용 중, 구매자에게 어울리는 환경 | 있음 |
scale | 일상적인 물건 옆에 놓아 크기가 명확히 드러나도록 | 있음 |
gift | 손에 들고 있거나 선물용으로, 얼굴은 없음 | 있음 |
실행 폴더 내 markets/<사이트>/ 출력:
| 사이트 | 이미지 | 카피 (listing.md + copy.json), fluxx가 제한 적용 |
|---|---|---|
| amazon | MAIN.jpg, PT01.jpg... 2048px | 제목 75자 (2026년 7월 이후 제한), 아이템 하이라이트 125자, 불릿 5개 각 200자, 설명 2000자, 검색어 250바이트 |
| etsy | 01.jpg... 2048px, 첫 번째는 스타일리시한 샷 (검색 썸네일) | 제목 140자, 태그 13개 각 20자, 설명 |
| ebay | 01.jpg... 1600px | 제목 80자, 품목별 세부 정보, 설명 |
| shopify | 01.jpg... 2048px | 제목 70자, SEO 제목 60자, SEO 설명 160자, 설명, 태그 |
에이전트를 위한 규칙:
- 정보는 판매자로부터 얻습니다. 실행 전에 크기, 재료, 포함 품목 및 관리 방법을 묻고
--notes에 전달하세요. 카피 모델은 절대 사실을 지어내지 말라고 지시받지만,listing.md를 읽고 사용자가 게시하기 전에 메모나 그림에 보이는 정보가 아닌 주장을 제거하세요. - 이미지는 FLUX가 그린 것이지 실제 물건이 아닙니다.
main,angle,detail의 경우, 제품이 사용자의 실제 제품과 일치해야 합니다. 사진과 비교하여 확인하고, 마켓플레이스에서는 이미지가 실제 품목을 보여줘야 한다고 알리세요. 라이프스타일 샷은 생성된 장면이 가장 도움이 되는 곳입니다. - 완성된 흰색
main이미지는 이후 샷의 제품 참조가 되므로, 사용자 사진의 소품 (식탁보, 장식품)이 라이프스타일 샷으로 새어나가지 않습니다. 여전히 평평하고 조명이 잘 들어온 제품 사진을 요청하세요.main이미지가 그려지는 기준입니다. --only main,lifestyle은 하위 집합을 만듭니다.--no-refs --ref other.jpg는 동일 브랜드의 다른 제품을 나열합니다.--for etsy는 사이트를 제한합니다.
5. 선호도 학습
피드백 루프를 닫아야만 프로필이 개선됩니다. 사용자가 이미지에 반응할 때마다:
fluxx rate 02-jar-on-oak-windowsill-v1 good "낮은 아침 햇빛을 좋아함"
fluxx rate 03-jar-in-bathroom-v2 bad "너무 복잡함, 수건이 시선을 앗아감"
두 개 이상의 평가가 같은 방향을 가리키면 brand.json을 편집하세요 (일반 JSON이며, 파일 도구로 편집): style을 개선하고, avoid를 확장하며, 변경 사항과 이유를 설명하는 날짜가 있는 줄을 notes에 추가하세요. 동일한 결함이 다시 나타나면 (중복 부품, 잘못된 색상, 누락된 라벨), checks에 한 줄 규칙을 추가하세요. 예: "전체 그림에 정확히 하나의 전화기 수화기만 있어야 함". 이제 판별 모델은 모든 후보에서 해당 규칙을 계산하고 확인합니다. 일반 점수만으로는 테스트에서 정확히 이런 종류의 결함을 놓쳤습니다. 사용자에게 한 줄로 알리세요 ("스타일에 '낮은 아침 햇빛'을 추가하고 병 근처의 소품을 제거했습니다"). 사용자가 좋아하는 샷은 스타일 참조가 될 수 있습니다: fluxx brand ref NAME <path>_hd.png --role style (참조는 총 10개로 제한됩니다. FLUX 3는 스타일 참조를 내용이 아닌 룩으로만 처리합니다).
요청 시 스타일 변경하기 ("더 어둡고 무드있게", "파스텔로 리브랜딩 중"): brand.json에서 style을 다시 작성하고, 이전 스타일은 날짜와 함께 notes에 보관하여 사용자가 돌아갈 수 있도록 하고, 더 이상 맞지 않는 스타일 참조는 제거한 후, 사용자가 전체 배치 전에 새 룩을 볼 수 있도록 알려진 장면 3-4개를 --draft로 빠르게 실행하세요. 두 번째 별도의 룩 (예: 홀리데이 캠페인)의 경우, 기존 브랜드를 덮어쓰는 대신 동일한 제품 참조로 새 브랜드를 만드세요.
규칙
- 한 번의 호출, 여러 샷. 이미지당
fluxx gen을 반복하지 마세요. 콜드 스타트 (GPU, ~60GB 모델, 로딩)는 약 4분이 소요됩니다. 웜 윈도우 내의 후속 호출은 이를 건너뜁니다. - GPU는 항상 중지됩니다. 실패 시
fluxx가 즉시 중지합니다. 성공 시--keep시간 동안 유지되다가 분리된 와치독이fluxx나 에이전트가 사라져도 중지합니다. 실행 중 와치독은--max-minutes(기본값 60)으로 시간을 제한합니다. 실행이NOT CONFIRMED STOPPED로 끝나면 즉시fluxx stop후fluxx status를 실행하세요. - 채팅에 비밀 정보 없음. Hugging Face 토큰은
fluxx login의 숨겨진 프롬프트에만 입력됩니다. 사용자 자신의 Colab VM으로 전송되며, 읽은 후 디스크에서 삭제되고 중지 시 초기화됩니다. - 사용자의 이미지는 사용자에게만 남습니다. 생성된 모든 이미지는 사용자의 Colab VM에 다운로드된 후 로컬 머신으로 전송됩니다. 이미지를 다시 업로드하거나 공유하지 마세요.
fluxx는 원격 서버에 이미지를 기록하지 않습니다.