Threads To Reels logo

Threads To Reels

Community
bam-bam-2
threads-to-reels

밤밤의 스레드 성과글을 소재로 아이폰 사진을 붙여 인스타 릴스를 만들 때 읽을 것. 소재 선정, 사진 매칭, 나레이션, 하이퍼프레임스 조립, 세이프존, 사운드 믹스, 발행 경로를 담고 있다.

Overview

Publisherbam-bam-2
Repositorysolo-skills
Skill namethreads-to-reels
Stars
366
Forks
87
Bundled files
Instructions only
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by bam-bam-2 on GitHub. Read the source before you install it.

Installation

Install the Threads To Reels AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/bam-bam-2/solo-skills/tree/main/skills/threads-to-reels
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/bam-bam-2/solo-skills.git /tmp/solo-skills
mkdir -p .claude/skills
cp -r /tmp/solo-skills/skills/threads-to-reels .claude/skills/threads-to-reels
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Threads To Reels in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Threads To Reels on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Threads To Reels is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

이 스킬이 시스템에 하는 일 (설치 전 확인)

  • 로컬 사진·영상 파일을 읽고 새 영상 파일을 만듭니다. 원본은 수정하지 않습니다.
  • ffmpeg을 로컬에서 돌립니다. CPU를 많이 씁니다.
  • 발행은 자동으로 하지 않습니다. 결과 파일만 만듭니다.

스레드 → 인스타 릴스

밤밤의 스레드 성과글을 소재로 잡고, 아이폰 사진 라이브러리에서 그 시기 사진을 찾아 붙여 인스타 릴스(1080×1920)를 만든다. 발행 계정은 get100.official.

무거운 작업(렌더·전사·학습)은 전부 맥미니에서 돌린다. 맥북에어엔 ffmpeg도 Pillow도 없다. ssh -o BatchMode=yes mac-mini

0. 나레이션은 밤밤이 직접 읽는다 (기본값)

보이스 클론으로 만들지 말 것. 2026-08-15에 제로샷과 파인튜닝을 다 실측했고 둘 다 반려됐다. 근거와 수치는 볼트 개념/보이스 클로닝.md.

대본이 정해지면 이렇게 요청한다.

밤밤님, 이거 이렇게 읽어주세요 (대본) 아이폰 음성메모로 녹음하고, 녹음 후 앱을 한 번 열어두면 맥미니로 자동 동기화됩니다. 문장 사이 1초씩 쉬어주세요. 틀리면 그 문장만 다시 읽으면 좋은 테이크만 골라 씁니다.

녹음이 오면 ~/voicememo/inbox/ 에서 최신 파일을 집어 문장 단위로 자르고 정렬한다.

1. 소재 선정

~/Projects/ops/threads-tool/.env 토큰으로 글 인사이트를 전량 수집해 성과 상위를 뽑는다. 주의: 성과 1위 글이 그 시점 사진을 갖고 있지 않을 수 있다. 소재 후보와 사진 보유량을 같이 보고 고른다(실제로 1위 글은 사진 0장, 차순위 글이 ±3일에 49장이었다).

2. 사진 매칭

이 맥의 Photos Library.photoslibrary 가 아이폰과 실시간 동기화된다(사진 약 1.5만 장).

  • Photos.sqlite 로 촬영일시·GPS·미디어종류 필터링. 애플이 계산해둔 미학 점수도 들어있다
  • 로컬 캐시본이 최대 1536×2048이라 iCloud 원본 없이도 릴스 화질이 나온다
  • 비전 모델의 분류 라벨만 믿지 말 것. 캡션 텍스트·사진 속 시각 단서·장수를 삼각 검증한다
  • 발행 전 개인정보 검수 필수: 명찰(실명+직업), 명함(실명+전화+이메일)이 읽히는 클로즈업은 전부 제외한다. 풀해상도로 확대해서 확인할 것

3. 영상 조립 — 하이퍼프레임스

HeyGen의 오픈소스 HyperFrames(HTML→MP4, Apache 2.0). npx -y hyperframes@latest

lint    조판 검증 (한글 @font-face 누락, GSAP 트윈 충돌 등을 실제로 잡아준다)
render  MP4 렌더 (37초물 기준 약 1분)
beats   음악 비트 감지

빌드 스크립트 원본: ~/Projects/ops/offload/jobs/build_v5.py

GSAP 함정 2개 (둘 다 실제로 밟았다)

  1. fromTo 는 immediateRender 기본값 때문에 타임라인 생성 즉시 from 상태가 적용된다. 플래시 오버레이가 영상 전체를 덮는 사고가 났다. 오버레이류는 immediateRender:false + tl.set(..., 0) 으로 초기화할 것
  2. CSS에서 부모가 visibility:hidden 인데 자식만 트윈시키면 아무것도 안 보인다. 부모 컨테이너에 tl.set(parent,{autoAlpha:1}) 을 세그먼트 시작 직전에 넣는다

4. 세이프존 (필수 검수)

인스타 릴스 UI가 덮는 영역: 상단 220 / 하단 460 / 우측 140px. 자막은 화면 55~62% 지점(top:1090px 안팎)에 놓는다. 하단은 캡션·음원이 덮고 터치존이다.

렌더 후 위험영역을 반투명 빨강으로 덮은 검수 시트를 만들어 겹침을 눈으로 확인하고 보고한다. 자세한 근거: 볼트 개념/숏폼 세이프존.md

5. 디자인 — GET100 네오브루탈리즘

겟백 홈페이지 실제 CSS에서 뽑은 값만 쓴다. 감으로 만들지 말 것.

블랙 #0d0d0d · 오프화이트 #f5f5f0 · 라임 #d4f000 · 퍼플 #7b2fff
Pretendard (700/800/900) · border-radius 0 · 하드 오프셋 섀도우 (blur 0)

구성: 훅 타이포 슬램 → 챕터 넘버 뱃지(라임 사각 + 키워드 카드) → 라임 박스 카라오케 자막 → 그레인 + 프로그레스바 → 엔드카드(취소선 대비 + GET100 뱃지). 컷은 1.5~2.2초. 4초대로 하면 슬라이드쇼로 보인다.

6. 사운드

  • BGM: Mixkit(무료 상업용, 저작자표시 불필요). https://assets.mixkit.co/music/<id>/<id>.mp3 librosa로 BPM·온셋펀치·저음비를 재서 고른다. 말 위에 얹을 거라 펀치는 있되 과하지 않게
  • SFX: ffmpeg으로 합성한다(라이선스 프리). 위시=핑크노이즈+밴드패스, 히트=저음 사인+감쇠, 팝=고음 클릭, 라이저=노이즈 스윕
  • 믹스: 나레이션을 키로 사이드체인 컴프레서로 BGM을 눌러준다. 최종 loudnorm=I=-14:TP=-1 (인스타 기준). 스크립트: ~/Projects/ops/offload/jobs/mix5.sh

7. 발행

~/Projects/getback/.env 의 IG_TOKEN/IG_USER_ID 로 Graph API media_type=REELS. 권한·한도(24시간당 100건) 실증 완료.

단 API 발행은 인스타 인기 음원을 못 붙인다. 도달에서 음원 비중이 크므로 "완성본을 폰으로 보내 앱에서 음원만 얹는 반자동"이 유효한 대안이다. 어느 쪽인지 밤밤에게 확인. Meta가 영상을 공개 URL에서 직접 받아가는 구조라 임시 호스팅이 필요하다(맥미니 8765는 테일스케일 내부망이라 불가).

검수 체크리스트

  • 자막·뱃지·엔드카드가 전부 세이프존 안에 있나 (오버레이 시트로 확인)
  • 사진에 제3자 실명·연락처가 읽히는 것이 없나 (풀해상도 확대)
  • 나레이션이 BGM에 안 묻히나 (최종 믹스를 역전사해서 전 문장 인식 확인)
  • 컷당 1.5~2.2초인가
  • lint 0 error

Frequently asked questions

What does the Threads To Reels AI skill do?

밤밤의 스레드 성과글을 소재로 아이폰 사진을 붙여 인스타 릴스를 만들 때 읽을 것. 소재 선정, 사진 매칭, 나레이션, 하이퍼프레임스 조립, 세이프존, 사운드 믹스, 발행 경로를 담고 있다.

Why use Threads To Reels on TypingMind?

Because you install it once and use it with any model. Threads To Reels is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Threads To Reels in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/bam-bam-2/solo-skills/tree/main/skills/threads-to-reels. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Threads To Reels?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Threads To Reels?

As many as you like. As long as a model supports skills, you can use Threads To Reels with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Threads To Reels AI skill free?

Yes. It is published on GitHub by bam-bam-2 under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇