Apolloの使われ方:ソフウェーブ広告動画(台本A・B)
何のページか:Apollo(AI分身「ミニ竜」)を、竜太朗さんが実際の広告動画づくり(アトラクレア ソフウェーブ台本A・B)でどう使っているかの記録。
動画は確認用に軽くしてある。
期間 2026-09-25 〜 2026-09-30(時刻はすべて日本時間)/依頼 72件/Apolloの作業 925件/アウトプットの送信 53件
右・ピンク=竜太朗さんが送った依頼左・白=Apolloの返事黄色の点線=Apolloが渡したファイル(その場で再生できる)📂=Finderで表示したファイル灰色=裏で実行した作業(クリックで中身)
ハイライト(クリックでその場面へ)
9/26 完全版(宮田さんに見せた初稿)
9/29 宮田さんのFB → 台本A 修正2
9/30 台本A 修正3
竜太朗さん(依頼 #1)2026-09-25 06:29
@"/Users/[user]/Downloads/IMG_5596.MOV"
この動画の音声、イヤホンで聴いたら右からしか聞こえないんだけど、両耳から聞こえるように修正してほしい、ノイズ入らないように元のクリアな音声のまま加工もせずにお願い
⚙ Apolloの作業 4件06:29〜06:41
ffmpegの有無とファイル確認
which ffmpeg ffprobe; ls -la "/Users/[user]/Downloads/IMG_5596.MOV"
結果
/opt/homebrew/bin/ffmpeg /opt/homebrew/bin/ffprobe -rw-r--r--@ 1 mizunoryuutarou staff 406785780 Sep 24 13:23 /Users/[user]/Downloads/IMG_5596.MOV
ストリーム情報を取得
ffprobe -v error -show_streams -of json "/Users/[user]/Downloads/IMG_5596.MOV" | python3 -c "
import json,sys
d=json.load(sys.stdin)
for s in d['streams']:
print({k:s.get(k) for k in ['index','codec_type','codec_name','profile','channels','channel_layout','sample_rate','bit_rate','width','height','r_frame_rate','duration','tags']})
"結果
{'index': 0, 'codec_type': 'video', 'codec_name': 'hevc', 'profile': 'Main 10', 'channels': None, 'channel_layout': None, 'sample_rate': None, 'bit_rate': '8552477', 'width': 1920, 'height': 1080, 'r_frame_rate': '30/1', 'duration': '372.266667', 'tags': {'creation_time': '2026-09-23T06:23:54.000000Z', 'language': 'und', 'handler_name': 'Core Media Video', 'vendor_id': '[0][0][0][0]', 'encoder': 'HEVC'}}
{'index': 1, 'codec_type': 'audio', 'codec_name': 'aac', 'profile': 'LC', 'channels': 2, 'channel_layout': 'stereo', 'sample_rate': '48000', 'bit_rate': '96475', 'width': None, 'height': None, 'r_frame_rate': '0/0', 'duration': '372.266667', 'tags': {'creation_time': '2026-09-23T06:23:54.000000Z', 'language': 'und', 'handler_name': 'Core Media Audio', 'vendor_id': '[0][0][0][0]'}}
{'index': 2, 'codec_type': 'data', 'codec_name': None, 'profile': None, 'channels': None, 'channel_layout': None, 'sample_rate': None, 'bit_rate': None, 'width': None, 'height': None, 'r_frame_rate': '0/0', 'duration': '372.266667', 'tags': {'creation_time': '2026-09-23T06:23:54.000000Z', 'language': 'und', 'handler_name': 'Core Media Metadata'}}
{'index': 3, 'codec_type': 'data', 'codec_name': None, 'profile': None, 'channels': None, 'channel_layout': None, 'sample_rate': None, 'bit_rate': '23705', 'width': None, 'height': None, 'r_frame_rate': '0/0', 'duration': '372.266667', 'tags': {'creation_time': '2026-09-23T06:23:54.000000Z', 'language': 'und', 'handler_name': 'Core Media Metadata'}}
{'index': 4, 'codec_type': 'data', 'codec_name': None, 'profile': None, 'channels': None, 'channel_layout': None, 'sample_rate': None, 'bit_rate': '49753', 'width': None, 'height': None, 'r_frame_rate': '0/0', 'duration': '372.266667', 'tags': {'creation_time': '2026-09-23T06:23:54.000000Z', 'language': 'und', 'handler_name': 'Core Media Metadata'}}
{'index': 5, 'codec_type': 'data', 'codec_name': None, 'profile': None, 'channels': None, 'channel_layout': None, 'sample_rate': None, 'bit_rate': '2879', 'width': None, 'height': None, 'r_frame_rate': '0/0', 'duration': '372.266700', 'tags': {'creation_time': '2026-09-23T06:23:54.000000Z', 'language': 'und', 'handler_name': 'Core Media Metadata'}}
{'index': 6, 'codec_type': 'data', 'codec_name': None, 'profile': None, 'channels': None, 'channel_layout': None, 'sample_rate': None, 'bit_rate': None, 'width': None, 'height': None, 'r_frame_rate': '0/0', 'duration': '372.266667', 'tags': {'creation_time': '2026-09-23T06:23:54.000000Z', 'language': 'und', 'handler_name': 'Core Media Metadata'}}左右チャンネルの音量を測定
cd /private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad && ffmpeg -v error -i "/Users/[user]/Downloads/IMG_5596.MOV" -map 0:a:0 -af "channelsplit=channel_layout=stereo[l][r];[l]astats=metadata=1:reset=0[la];[r]astats=metadata=1:reset=0[ra];[la][ra]amerge=inputs=2" -f null - 2>&1 | tail -5; echo "---per-channel---"; ffmpeg -v error -i "/Users/[user]/Downloads/IMG_5596.MOV" -map 0:a:0 -filter_complex "[0:a]astats=metadata=1:reset=0" -f null - 2>&1 | grep -iE "RMS level|Peak level|Channel:" | head -20
結果
---per-channel---
左右チャンネルのピーク/RMSを測定
ffmpeg -hide_banner -i "/Users/[user]/Downloads/IMG_5596.MOV" -map 0:a:0 -af astats=measure_perchannel="Peak_level+RMS_level":measure_overall=none -f null - 2>&1 | grep -iE "Channel:|Peak level|RMS level"
結果
[Parsed_astats_0 @ 0x76cc0db00] Channel: 1 [Parsed_astats_0 @ 0x76cc0db00] Peak level dB: -78.550122 [Parsed_astats_0 @ 0x76cc0db00] RMS level dB: -115.916242 [Parsed_astats_0 @ 0x76cc0db00] Channel: 2 [Parsed_astats_0 @ 0x76cc0db00] Peak level dB: -16.242784 [Parsed_astats_0 @ 0x76cc0db00] RMS level dB: -41.812360
🐉
Apollo(ミニ竜)2026-09-25 06:50
左チャンネルはほぼ無音(RMS -116dB)、右のみに音声が入っているのを確認しました。右チャンネルを左右両方に複製します。
⚙ Apolloの作業 2件06:50〜06:51
右チャンネルを両耳に複製して書き出し
ffmpeg -hide_banner -y -i "/Users/[user]/Downloads/IMG_5596.MOV" -map 0 -copy_unknown -c copy -c:a aac -b:a 256k -af "pan=stereo|c0=c1|c1=c1" -movflags +faststart+use_metadata_tags -map_metadata 0 "/Users/[user]/Downloads/IMG_5596_stereo.MOV" 2>&1 | tail -20
結果
creation_time : 2026-09-23T06:23:54.000000Z
handler_name : Core Media Metadata
Stream #0:4(und): Data: none (mebx / 0x7862656D), 49 kb/s (default)
Metadata:
creation_time : 2026-09-23T06:23:54.000000Z
handler_name : Core Media Metadata
Stream #0:5(und): Data: none (mebx / 0x7862656D), 2 kb/s (default)
Metadata:
creation_time : 2026-09-23T06:23:54.000000Z
handler_name : Core Media Metadata
Stream #0:6(und): Data: none (mebx / 0x7862656D) (default)
Metadata:
creation_time : 2026-09-23T06:23:54.000000Z
handler_name : Core Media Metadata
frame= 1320 fps=0.0 q=-1.0 size= 36864KiB time=00:00:43.47 bitrate=6945.9kbits/s speed=86.2x elapsed=0:00:00.50
frame= 2565 fps=2546 q=-1.0 size= 81664KiB time=00:01:24.77 bitrate=7891.0kbits/s speed=84.1x elapsed=0:00:01.00
frame= 3690 fps=2442 q=-1.0 size= 122368KiB time=00:02:02.43 bitrate=8187.7kbits/s speed= 81x elapsed=0:00:01.51
frame= 4965 fps=2463 q=-1.0 size= 168192KiB time=00:02:44.88 bitrate=8356.3kbits/s speed=81.8x elapsed=0:00:02.01
frame= 6225 fps=2469 q=-1.0 size= 214016KiB time=00:03:26.78 bitrate=8478.5kbits/s speed= 82x elapsed=0:00:02.52
frame= 7455 fps=2466 q=-1.0 size= 258048KiB time=00:04:08.02 bitrate=8523.1kbits/s speed=82.1x elapsed=0:00:03.02
frame= 8700 fps=2466 q=-1.0 size= 303104KiB time=00:04:49.38 bitrate=8580.3kbits/s speed= 82x elapsed=0:00:03.52
frame= 9990 fps=2480 q=-1.0 size= 349696KiB time=00:05:32.58 bitrate=8613.4kbits/s speed=82.6x elapsed=0:00:04.02
[mov @ 0xbcb023700] Starting second pass: moving the moov atom to the beginning of the file
[mov @ 0xbcb023700] Unknown hdlr_type for mebx, writing dummy values
Last message repeated 14 times
[out#0/mov @ 0xbcb04c9c0] video:388649KiB audio:10869KiB subtitle:0KiB other streams:3469KiB global headers:0KiB muxing overhead: 0.174920%
frame=11167 fps=2386 q=-1.0 Lsize= 403693KiB time=00:06:12.20 bitrate=8885.1kbits/s speed=79.5x elapsed=0:00:04.67
[aac @ 0xbcb04b800] Qavg: 64980.766出力ファイルを検証
echo "=== 出力の左右レベル ===" && ffmpeg -hide_banner -i "/Users/[user]/Downloads/IMG_5596_stereo.MOV" -map 0:a:0 -af astats=measure_perchannel="Peak_level+RMS_level":measure_overall=none -f null - 2>&1 | grep -iE "Channel:|Peak level|RMS level" && echo "=== ストリーム ===" && ffprobe -v error -show_entries stream=index,codec_type,codec_name,channels,channel_layout,width,height,duration -of compact "/Users/[user]/Downloads/IMG_5596_stereo.MOV" && ls -la "/Users/[user]/Downloads/IMG_5596_stereo.MOV"
結果
=== 出力の左右レベル === [Parsed_astats_0 @ 0xab6c65500] Channel: 1 [Parsed_astats_0 @ 0xab6c65500] Peak level dB: -16.244893 [Parsed_astats_0 @ 0xab6c65500] RMS level dB: -41.822348 [Parsed_astats_0 @ 0xab6c65500] Channel: 2 [Parsed_astats_0 @ 0xab6c65500] Peak level dB: -16.244893 [Parsed_astats_0 @ 0xab6c65500] RMS level dB: -41.822348 === ストリーム === stream|index=0|codec_name=hevc|codec_type=video|width=1920|height=1080|duration=372.268333| stream|index=1|codec_name=aac|codec_type=audio|channels=2|channel_layout=stereo|duration=372.286000 stream|index=2|codec_name=unknown|codec_type=data|duration=372.268333 stream|index=3|codec_name=unknown|codec_type=data|duration=372.268333 stream|index=4|codec_name=unknown|codec_type=data|duration=372.268333 stream|index=5|codec_name=unknown|codec_type=data|duration=372.268400 stream|index=6|codec_name=unknown|codec_type=data|duration=372.268333 -rw-r--r--@ 1 mizunoryuutarou staff 413381403 Sep 25 06:50 /Users/[user]/Downloads/IMG_5596_stereo.MOV
🐉
Apollo(ミニ竜)2026-09-25 06:51
両耳から聞こえるファイルを
左右が完全に同じ値になっていて、元の右チャンネルの音量と一致しています。音量調整・ノイズ除去・イコライザーといった加工は一切かけていません。
音質について
チャンネルの振り分けを変える都合上、音声だけはエンコードし直す必要があります(映像は無変換でコピー、372秒のまま、1920x1080 HEVCそのまま)。元の音声は96kbpsのAACで、書き出しは256kbpsにしているので、聴いて分かる劣化は出ない余裕を持たせてあります。ノイズが乗る処理は入っていません。
ファイルサイズは406MB→413MBとほぼ同じです。
~/Downloads/IMG_5596_stereo.MOV に書き出しました。元ファイルはそのまま残してあります。
やったこと
元の音声は右チャンネルだけに入っていて、左は実質無音(ピーク -78.6dB / RMS -116dB=完全な無音レベル)でした。その右チャンネルの波形をそのまま左右両方に複製しています。
検証結果(出力ファイル実測)
| 左ch ピーク/RMS | 右ch ピーク/RMS | |
|---|---|---|
| 元ファイル | -78.6dB / -116dB(無音) | -16.24dB / -41.81dB |
| 修正後 | -16.24dB / -41.82dB | -16.24dB / -41.82dB |
竜太朗さん(依頼 #2)2026-09-25 06:53
マジでナイス、でも動画が横になってるから元の縦に戻して
⚙ Apolloの作業 3件06:53〜07:03
回転メタデータを比較
for f in IMG_5596.MOV IMG_5596_stereo.MOV; do echo "=== $f ==="; ffprobe -v error -select_streams v:0 -show_entries stream_side_data=rotation -show_entries stream_tags=rotate -show_entries side_data=displaymatrix,rotation -of json "/Users/[user]/Downloads/$f"; done
結果
Command did not complete within its 120s timeout and was moved to the background (ID: bgkn5bsrb). Output is being written to: /private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/tasks/bgkn5bsrb.output. You will be notified when it completes. To check interim output, use Read on that file path.
回転情報を短時間で確認
pkill -f "show_entries stream_side_data" 2>/dev/null; for f in IMG_5596.MOV IMG_5596_stereo.MOV; do echo "=== $f ==="; ffprobe -v error -read_intervals "%+1" -select_streams v:0 -show_streams -of json "/Users/[user]/Downloads/$f" 2>&1 | grep -iE "rotation|displaymatrix|\"width\"|\"height\"" ; done
結果
=== IMG_5596.MOV ===
"width": 1920,
"height": 1080,
"displaymatrix": "\n00000000: 0 65536 0\n00000001: -65536 0 0\n00000002: 70778880 0 1073741824\n",
"rotation": -90
=== IMG_5596_stereo.MOV ===
"width": 1920,
"height": 1080,
"displaymatrix": "\n00000000: 0 65536 0\n00000001: -65536 0 0\n00000002: 70778880 0 1073741824\n",
"rotation": -90両ファイルからフレームを抽出して向きを比較
for f in IMG_5596 IMG_5596_stereo; do ffmpeg -v error -ss 5 -i "/Users/[user]/Downloads/$f.MOV" -frames:v 1 -vf scale=iw/4:ih/4 -y "frame_$f.png"; done; ls -la frame_*.png; python3 -c "
import struct
for n in ['frame_IMG_5596.png','frame_IMG_5596_stereo.png']:
d=open(n,'rb').read(33)
w,h=struct.unpack('>II',d[16:24]); print(n,w,'x',h)
"結果
-rw-r--r--@ 1 mizunoryuutarou wheel 635357 Sep 25 07:03 frame_IMG_5596.png -rw-r--r--@ 1 mizunoryuutarou wheel 635357 Sep 25 07:03 frame_IMG_5596_stereo.png frame_IMG_5596.png 270 x 480 frame_IMG_5596_stereo.png 270 x 480
🐉
Apollo(ミニ竜)2026-09-25 07:03
両ファイルとも回転メタデータは
rotation: -90 で同一、ffmpegでデコードすると両方とも縦(270x480)になります。コンテナの中身を直接比較します。⚙ Apolloの作業 1件07:04〜07:04
tkhdの回転マトリクスを直接比較
cat > atoms.py <<'EOF'
import struct, sys
def walk(f, start, end, depth=0, path=""):
f.seek(start)
pos = start
out=[]
while pos < end:
f.seek(pos)
hdr = f.read(8)
if len(hdr) < 8: break
size = struct.unpack('>I', hdr[:4])[0]
typ = hdr[4:8].decode('latin1')
hsize = 8
if size == 1:
size = struct.unpack('>Q', f.read(8))[0]; hsize = 16
elif size == 0:
size = end - pos
out.append((depth, typ, pos, size, path))
if typ in ('moov','trak','mdia','minf','stbl','edts','udta'):
out += walk(f, pos+hsize, pos+size, depth+1, path+"/"+typ)
pos += size
if size <= 0: break
return out
fn = sys.argv[1]
f = open(fn,'rb')
import os
atoms = walk(f, 0, os.path.getsize(fn))
trak = 0
for d,t,p,s,path in atoms:
if t == 'trak': trak += 1
if t == 'tkhd':
f.seek(p+8)
body = f.read(s-8)
ver = body[0]
off = 4 + (20 if ver==1 else 12) # ver/flags + times + trackid + reserved
off += 4 # duration handled below
if ver==1:
base = 4+8+8+4+4+8
else:
base = 4+4+4+4+4+4
# after duration: 8 reserved, 2 layer, 2 altgroup, 2 volume, 2 reserved, 36 matrix, 4 width, 4 height
m = base+8+2+2+2+2
matrix = struct.unpack('>9i', body[m:m+36])
w,h = struct.unpack('>II', body[m+36:m+44])
print(f"trak#{trak} tkhd matrix={[x for x in matrix]} w={w/65536:.0f} h={h/65536:.0f}")
EOF
for f in IMG_5596 IMG_5596_stereo; do echo "=== $f ==="; python3 atoms.py "/Users/[user]/Downloads/$f.MOV"; done結果
=== IMG_5596 === trak#1 tkhd matrix=[0, 65536, 0, -65536, 0, 0, 70778880, 0, 1073741824] w=1920 h=1080 trak#2 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#3 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#4 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#5 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#6 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#7 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 === IMG_5596_stereo === trak#1 tkhd matrix=[0, 65536, 0, -65536, 0, 0, 70778880, 0, 1073741824] w=1920 h=1080 trak#2 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#3 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#4 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#5 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#6 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0 trak#7 tkhd matrix=[65536, 0, 0, 0, 65536, 0, 0, 0, 1073741824] w=0 h=0
🐉
Apollo(ミニ竜)2026-09-25 07:04
回転メタデータは原本と1ビットも違わず(
rotation: -90、tkhdマトリクスも完全一致)、ffmpegでデコードすると両方とも縦向き270x480になります。つまりファイル自体は縦のままで、再生側が回転情報を無視している状態です。
確実に縦で表示されるよう、回転を映像そのものに焼き込みます。エンコーダを確認します。⚙ Apolloの作業 1件07:04〜07:04
利用可能なエンコーダと色情報を確認
ffmpeg -hide_banner -encoders 2>/dev/null | grep -iE "hevc|h264" ; echo "---pix_fmt of source---"; ffprobe -v error -select_streams v:0 -show_entries stream=pix_fmt,color_primaries,color_transfer,color_space -of compact "/Users/[user]/Downloads/IMG_5596_stereo.MOV"
結果
V....D libx264 libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (codec h264) V....D libx264rgb libx264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 RGB (codec h264) V....D h264_videotoolbox VideoToolbox H.264 Encoder (codec h264) V....D libx265 libx265 H.265 / HEVC (codec hevc) V....D hevc_videotoolbox VideoToolbox H.265 Encoder (codec hevc) ---pix_fmt of source--- stream|pix_fmt=yuv420p10le|color_space=bt2020nc|color_transfer=arib-std-b67|color_primaries=bt2020|
🐉
Apollo(ミニ竜)2026-09-25 07:04
HDR(HLG / BT.2020 10bit)素材なので、色情報を保ったまま焼き込む必要があります。まず10秒で試し焼きして確認します。
⚙ Apolloの作業 4件(画像の確認 2件)07:05〜07:05
10秒の試し焼きと検証
ffmpeg -hide_banner -y -t 10 -i "/Users/[user]/Downloads/IMG_5596_stereo.MOV" -map 0:v:0 -map 0:a:0 -c:v hevc_videotoolbox -profile:v main10 -pix_fmt p010le -b:v 16M -tag:v hvc1 -color_primaries bt2020 -color_trc arib-std-b67 -colorspace bt2020nc -color_range tv -c:a copy -movflags +faststart test10.mov 2>&1 | tail -5; echo "=== 検証 ==="; ffprobe -v error -select_streams v:0 -show_entries stream=width,height,pix_fmt,codec_tag_string,color_primaries,color_transfer,color_space -of compact test10.mov; ffprobe -v error -read_intervals "%+1" -select_streams v:0 -show_streams -of json test10.mov | grep -iE "rotation" || echo "rotation metadata: なし(=焼き込み済み)"
結果
handler_name : Core Media Audio
vendor_id : [0][0][0][0]
frame= 0 fps=0.0 q=0.0 size= 0KiB time=N/A bitrate=N/A speed=N/A elapsed=0:00:00.50
frame= 109 fps=108 q=-0.0 size= 7168KiB time=00:00:03.60 bitrate=16311.3kbits/s speed=3.56x elapsed=0:00:01.01
frame= 220 fps=145 q=-0.0 size= 14848KiB time=00:00:07.30 bitrate=16662.3kbits/s speed=4.82x elapsed=0:00:01.51
[mov @ 0x8f501b700] Starting second pass: moving the moov atom to the beginning of the file
[out#0/mov @ 0x8f4c0cf00] video:19879KiB audio:293KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.049810%
frame= 300 fps=159 q=-0.0 Lsize= 20182KiB time=00:00:09.96 bitrate=16588.6kbits/s speed= 5.3x elapsed=0:00:01.88
=== 検証 ===
stream|codec_tag_string=hvc1|width=1080|height=1920|pix_fmt=yuv420p10le|color_space=bt2020nc|color_transfer=arib-std-b67|color_primaries=bt2020|
rotation metadata: なし(=焼き込み済み)新旧フレームを抽出
ffmpeg -v error -ss 5 -i test10.mov -frames:v 1 -vf "scale=216:384" -y check_new.png && ffmpeg -v error -ss 5 -i "/Users/[user]/Downloads/IMG_5596.MOV" -frames:v 1 -vf "scale=216:384" -y check_orig.png && echo ok
結果
ok
ファイルを読む:check_orig.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/check_orig.png
ファイルを読む:check_new.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/check_new.png
🐉
Apollo(ミニ竜)2026-09-25 07:05
完全に一致、正立しています。HDR(HLG/BT.2020 10bit)も保持されました。フル尺をエンコードします。
⚙ Apolloの作業 2件07:05〜07:06
フル尺を縦向きで書き出し
ffmpeg -hide_banner -y -i "/Users/[user]/Downloads/IMG_5596_stereo.MOV" -map 0:v:0 -map 0:a:0 -c:v hevc_videotoolbox -profile:v main10 -pix_fmt p010le -b:v 16M -tag:v hvc1 -color_primaries bt2020 -color_trc arib-std-b67 -colorspace bt2020nc -color_range tv -c:a copy -movflags +faststart "/Users/[user]/Downloads/IMG_5596_fixed.MOV" 2>&1 | tail -3
結果
frame= 58 fps=0.0 q=-0.0 size= 3840KiB time=00:00:01.90 bitrate=16556.6kbits/s speed=3.79x elapsed=0:00:00.50 frame= 169 fps=168 q=-0.0 size= 11264KiB time=00:00:05.60 bitrate=16477.7kbits/s speed=5.57x elapsed=0:00:01.00 frame= 280 fps=185 q=-0.0 size= 18944KiB time=00:00:09.30 bitrate=16687.0kbits/s speed=6.16x elapsed=0:00:01.50 frame= 391 fps=194 q=-0.0 size= 26112KiB time=00:00:13.00 bitrate=16454.6kbits/s speed=6.47x elapsed=0:00:02.01 frame= 501 fps=200 q=-0.0 size= 33792KiB time=00:00:16.66 bitrate=16609.5kbits/s speed=6.64x elapsed=0:00:02.51 frame= 613 fps=203 q=-0.0 size= 41216KiB time=00:00:20.40 bitrate=16551.1kbits/s speed=6.76x elapsed=0:00:03.01 frame= 724 fps=206 q=-0.0 size= 48384KiB time=00:00:24.10 bitrate=16446.6kbits/s speed=6.85x elapsed=0:00:03.51 frame= 835 fps=208 q=-0.0 size= 55808KiB time=00:00:27.80 bitrate=16445.3kbits/s speed=6.91x elapsed=0:00:04.02 frame= 946 fps=209 q=-0.0 size= 63232KiB time=00:00:31.50 bitrate=16444.3kbits/s speed=6.96x elapsed=0:00:04.52 frame= 1057 fps=210 q=-0.0 size= 70656KiB time=00:00:35.20 bitrate=16443.6kbits/s speed= 7x elapsed=0:00:05.02 frame= 1168 fps=211 q=-0.0 size= 78080KiB time=00:00:38.90 bitrate=16443.0kbits/s speed=7.03x elapsed=0:00:05.53 frame= 1279 fps=212 q=-0.0 size= 84736KiB time=00:00:42.60 bitrate=16294.8kbits/s speed=7.06x elapsed=0:00:06.03 frame= 1390 fps=213 q=-0.0 size= 91392KiB time=00:00:46.30 bitrate=16170.3kbits/s speed=7.08x elapsed=0:00:06.53 frame= 1501 fps=213 q=-0.0 size= 98816KiB time=00:00:50.00 bitrate=16190.0kbits/s speed= 7.1x elapsed=0:00:07.04 frame= 1612 fps=214 q=-0.0 size= 107008KiB time=00:00:53.70 bitrate=16324.2kbits/s speed=7.12x elapsed=0:00:07.54 frame= 1722 fps=214 q=-0.0 size= 114688KiB time=00:00:57.36 bitrate=16377.5kbits/s speed=7.13x elapsed=0:00:08.04 frame= 1834 fps=215 q=-0.0 size= 122368KiB time=00:01:01.10 bitrate=16406.5kbits/s speed=7.15x elapsed=0:00:08.54 frame= 1945 fps=215 q=-0.0 size= 130048KiB time=00:01:04.80 bitrate=16440.6kbits/s speed=7.16x elapsed=0:00:09.05 frame= 2056 fps=215 q=-0.0 size= 137216KiB time=00:01:08.50 bitrate=16409.8kbits/s speed=7.17x elapsed=0:00:09.55 frame= 2167 fps=215 q=-0.0 size= 144640KiB time=00:01:12.20 bitrate=16411.2kbits/s speed=7.18x elapsed=0:00:10.05 frame= 2278 fps=216 q=-0.0 size= 152320KiB time=00:01:15.90 bitrate=16440.1kbits/s speed=7.19x elapsed=0:00:10.56 frame= 2389 fps=216 q=-0.0 size= 159744KiB time=00:01:19.60 bitrate=16440.0kbits/s speed=7.19x elapsed=0:00:11.06 frame= 2499 fps=216 q=-0.0 size= 166912KiB time=00:01:23.26 bitrate=16421.3kbits/s speed= 7.2x elapsed=0:00:11.56 frame= 2611 fps=216 q=-0.0 size= 173568KiB time=00:01:27.00 bitrate=16343.3kbits/s speed=7.21x elapsed=0:00:12.07 frame= 2722 fps=216 q=-0.0 size= 179712KiB time=00:01:30.70 bitrate=16231.5kbits/s speed=7.21x elapsed=0:00:12.57 frame= 2834 fps=217 q=-0. …(以下 9363 文字省略)
最終ファイルを全項目検証
F="/Users/[user]/Downloads/IMG_5596_fixed.MOV" && ffprobe -v error -show_entries stream=index,codec_type,codec_name,codec_tag_string,width,height,pix_fmt,channels,channel_layout,duration,color_primaries,color_transfer,color_space -of compact "$F" && echo "=== 左右レベル ===" && ffmpeg -hide_banner -i "$F" -map 0:a:0 -af astats=measure_perchannel="Peak_level+RMS_level":measure_overall=none -f null - 2>&1 | grep -iE "Channel:|Peak level|RMS level" && echo "=== 回転メタ ===" && (ffprobe -v error -read_intervals "%+1" -select_streams v:0 -show_streams -of json "$F" | grep -i rotation || echo "なし(焼き込み済み)") && ls -la "$F"
結果
stream|index=0|codec_name=hevc|codec_type=video|codec_tag_string=hvc1|width=1080|height=1920|pix_fmt=yuv420p10le|color_space=bt2020nc|color_transfer=arib-std-b67|color_primaries=bt2020|duration=372.266667| stream|index=1|codec_name=aac|codec_type=audio|codec_tag_string=mp4a|channels=2|channel_layout=stereo|duration=372.286000 === 左右レベル === size=N/A time=00:02:26.47 bitrate=N/A speed= 290x elapsed=0:00:00.50 size=N/A time=00:04:49.06 bitrate=N/A speed= 287x elapsed=0:00:01.00 [Parsed_astats_0 @ 0xbb3048d80] Channel: 1 [Parsed_astats_0 @ 0xbb3048d80] Peak level dB: -16.244893 [Parsed_astats_0 @ 0xbb3048d80] RMS level dB: -41.822348 [Parsed_astats_0 @ 0xbb3048d80] Channel: 2 [Parsed_astats_0 @ 0xbb3048d80] Peak level dB: -16.244893 [Parsed_astats_0 @ 0xbb3048d80] RMS level dB: -41.822348 === 回転メタ === なし(焼き込み済み) -rw-r--r--@ 1 mizunoryuutarou staff 762910253 Sep 25 07:06 /Users/[user]/Downloads/IMG_5596_fixed.MOV
🐉
Apollo(ミニ竜)2026-09-25 07:07
縦向き+両耳音声の完成版を
抽出フレームを原本と並べて比較し、上下逆さまや鏡像になっていないことも目視で確認しています。
映像の再エンコードについて
回転を焼き込む以上、映像は一度エンコードし直す必要があります。元が8.5Mbpsのところ16Mbpsで書き出しているので、見て分かる劣化は出ない余裕を持たせました。音声は前回修正したものをそのままコピーしているため、追加の劣化はゼロです。ファイルサイズは763MBになりました。
残したファイル
-
~/Downloads/IMG_5596_fixed.MOV に書き出しました。
原因
回転メタデータ自体は壊れていませんでした。原本も前回の音声修正版も、どちらも rotation: -90 が入っていて、tkhdの回転マトリクスまで1ビット単位で一致しています。iPhoneの動画は「映像は横1920x1080で記録し、再生時に90度回してね」という指示をメタデータで持たせる方式なので、この指示を読まない再生環境では横向きのまま表示されます。原本も同じ環境で開けば横になるはずです。
そこで今回は、その回転を映像そのものに焼き込みました。実寸で1080x1920の縦動画になったので、メタデータを読まない環境でも必ず縦で表示されます。
検証結果(実測)
| 項目 | 結果 |
|---|---|
| 解像度 | 1080 x 1920(実寸で縦) |
| 回転メタデータ | なし(焼き込み済みなので二重回転しない) |
| 音声 左ch / 右ch | 両方 -16.24dB / -41.82dB(完全一致) |
| 色 | BT.2020 / HLG / 10bit(HDRのまま保持) |
| 長さ | 372.27秒(原本と同じ) |
IMG_5596.MOV — 原本(無加工)
- IMG_5596_stereo.MOV — 音声だけ修正、映像は無変換コピー(回転はメタデータ方式のまま)
- IMG_5596_fixed.MOV — 今回の完成版
不要なら IMG_5596_stereo.MOV は削除して構いません。削除しますか。竜太朗さん(依頼 #3)2026-09-25 07:13
@"/Users/[user]/Downloads/IMG_5597.MOV"
これも右からしか聞こえないから同じように修正して
⚙ Apolloの作業 1件07:13〜07:13
IMG_5597の構成を確認
F="/Users/[user]/Downloads/IMG_5597.MOV"; ls -la "$F"; echo "=== streams ==="; ffprobe -v error -show_entries stream=index,codec_type,codec_name,codec_tag_string,profile,width,height,pix_fmt,channels,channel_layout,sample_rate,bit_rate,duration,color_primaries,color_transfer,color_space -of compact "$F"; echo "=== rotation ==="; ffprobe -v error -read_intervals "%+1" -select_streams v:0 -show_streams -of json "$F" | grep -i rotation
結果
-rw-r--r--@ 1 mizunoryuutarou staff 394193136 Sep 24 12:57 /Users/[user]/Downloads/IMG_5597.MOV
=== streams ===
stream|index=0|codec_name=hevc|profile=Main 10|codec_type=video|codec_tag_string=hvc1|width=1920|height=1080|pix_fmt=yuv420p10le|color_space=bt2020nc|color_transfer=arib-std-b67|color_primaries=bt2020|duration=360.566667|bit_rate=8557063|
stream|index=1|codec_name=aac|profile=LC|codec_type=audio|codec_tag_string=mp4a|sample_rate=48000|channels=2|channel_layout=stereo|duration=360.565000|bit_rate=97399
stream|index=2|codec_name=unknown|profile=unknown|codec_type=data|codec_tag_string=mebx|duration=360.566667|bit_rate=N/A
stream|index=3|codec_name=unknown|profile=unknown|codec_type=data|codec_tag_string=mebx|duration=360.566667|bit_rate=22981
stream|index=4|codec_name=unknown|profile=unknown|codec_type=data|codec_tag_string=mebx|duration=360.566667|bit_rate=49270
stream|index=5|codec_name=unknown|profile=unknown|codec_type=data|codec_tag_string=mebx|duration=360.565000|bit_rate=2879
stream|index=6|codec_name=unknown|profile=unknown|codec_type=data|codec_tag_string=mebx|duration=360.566667|bit_rate=N/A
=== rotation ===
"rotation": -90🐉
Apollo(ミニ竜)2026-09-25 07:31
同じ構成(HEVC 10bit HLG、rotation -90)です。音声の左右を実測します。
⚙ Apolloの作業 1件07:31〜07:31
左右チャンネルのレベルを測定
ffmpeg -hide_banner -i "/Users/[user]/Downloads/IMG_5597.MOV" -map 0:a:0 -af astats=measure_perchannel="Peak_level+RMS_level":measure_overall=none -f null - 2>&1 | grep -iE "Channel:|Peak level|RMS level"
結果
[Parsed_astats_0 @ 0xb9d03d500] Channel: 1 [Parsed_astats_0 @ 0xb9d03d500] Peak level dB: -80.140975 [Parsed_astats_0 @ 0xb9d03d500] RMS level dB: -115.128203 [Parsed_astats_0 @ 0xb9d03d500] Channel: 2 [Parsed_astats_0 @ 0xb9d03d500] Peak level dB: -13.179480 [Parsed_astats_0 @ 0xb9d03d500] RMS level dB: -40.095238
🐉
Apollo(ミニ竜)2026-09-25 07:31
左chは実質無音(RMS -115dB)、右chのみに音声。5596と同じ処理を1パスで実行します。
⚙ Apolloの作業 4件(画像の確認 2件)07:31〜07:32
音声左右複製と縦向き焼き込みを同時実行
ffmpeg -hide_banner -y -i "/Users/[user]/Downloads/IMG_5597.MOV" -map 0:v:0 -map 0:a:0 -c:v hevc_videotoolbox -profile:v main10 -pix_fmt p010le -b:v 16M -tag:v hvc1 -color_primaries bt2020 -color_trc arib-std-b67 -colorspace bt2020nc -color_range tv -c:a aac -b:a 256k -af "pan=stereo|c0=c1|c1=c1" -movflags +faststart "/Users/[user]/Downloads/IMG_5597_fixed.MOV" 2>&1 | tail -2
結果
frame=10816 fps=215 q=-0.0 Lsize= 721476KiB time=00:06:00.53 bitrate=16393.3kbits/s speed=7.18x elapsed=0:00:50.24 [aac @ 0xb3c9ca680] Qavg: 65091.660
最終ファイルを検証しフレーム抽出
F="/Users/[user]/Downloads/IMG_5597_fixed.MOV" && ffprobe -v error -show_entries stream=index,codec_type,codec_name,codec_tag_string,width,height,pix_fmt,channels,channel_layout,duration,color_primaries,color_transfer,color_space -of compact "$F" && echo "=== 左右レベル ===" && ffmpeg -hide_banner -i "$F" -map 0:a:0 -af astats=measure_perchannel="Peak_level+RMS_level":measure_overall=none -f null - 2>&1 | grep -iE "Channel:|Peak level|RMS level" && echo "=== 回転メタ ===" && (ffprobe -v error -read_intervals "%+1" -select_streams v:0 -show_streams -of json "$F" | grep -i rotation || echo "なし(焼き込み済み)") && ffmpeg -v error -ss 5 -i "$F" -frames:v 1 -vf scale=216:384 -y c97_new.png && ffmpeg -v error -ss 5 -i "/Users/[user]/Downloads/IMG_5597.MOV" -frames:v 1 -vf scale=216:384 -y c97_orig.png && ls -la "$F"
結果
stream|index=0|codec_name=hevc|codec_type=video|codec_tag_string=hvc1|width=1080|height=1920|pix_fmt=yuv420p10le|color_space=bt2020nc|color_transfer=arib-std-b67|color_primaries=bt2020|duration=360.566667| stream|index=1|codec_name=aac|codec_type=audio|codec_tag_string=mp4a|channels=2|channel_layout=stereo|duration=360.574000 === 左右レベル === size=N/A time=00:04:12.16 bitrate=N/A speed= 499x elapsed=0:00:00.50 [Parsed_astats_0 @ 0xc33048d80] Channel: 1 [Parsed_astats_0 @ 0xc33048d80] Peak level dB: -13.179810 [Parsed_astats_0 @ 0xc33048d80] RMS level dB: -40.104505 [Parsed_astats_0 @ 0xc33048d80] Channel: 2 [Parsed_astats_0 @ 0xc33048d80] Peak level dB: -13.179810 [Parsed_astats_0 @ 0xc33048d80] RMS level dB: -40.104505 === 回転メタ === なし(焼き込み済み) -rw-r--r--@ 1 mizunoryuutarou staff 738791294 Sep 25 07:32 /Users/[user]/Downloads/IMG_5597_fixed.MOV
ファイルを読む:c97_orig.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/c97_orig.png
ファイルを読む:c97_new.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/c97_new.png
🐉
Apollo(ミニ竜)2026-09-25 07:32
完成版を
抽出フレームを原本と並べて目視確認し、上下逆さま・鏡像になっていないことも確認済みです。
音量調整やノイズ除去といった加工は一切かけていません。映像は回転焼き込みのため再エンコードしていますが、元の8.5Mbpsに対し16Mbpsで書き出しているので見て分かる劣化は出ません。ファイルサイズは394MB→739MBです。
なお前回お聞きした
~/Downloads/IMG_5597_fixed.MOV に書き出しました。5596と同じ症状で、同じ処理を当てています。
元ファイルの状態
左chは実質無音(ピーク -80.1dB / RMS -115.1dB)、右chだけに音声が入っていました。回転も同じく rotation: -90 のメタデータ方式です。
検証結果(実測)
| 項目 | 結果 |
|---|---|
| 音声 左ch / 右ch | 両方 -13.18dB / -40.10dB(完全一致、元の右chと同値) |
| 解像度 | 1080 x 1920(実寸で縦) |
| 回転メタデータ | なし(焼き込み済み、二重回転しない) |
| 色 | BT.2020 / HLG / 10bit(HDR保持) |
| 長さ | 360.57秒(原本と同じ) |
IMG_5596_stereo.MOV(音声だけ直した中間ファイル)は、まだ残したままにしてあります。竜太朗さん(依頼 #4)2026-09-25 08:45
@"/Users/[user]/Downloads/台本①(ソフウェーブ)79800円.mp4" @"/Users/[user]/Downloads/台本③(ソフウェーブ)修正版.mp4" @"/Users/[user]/Downloads/IMG_5597_fixed.MOV" @"/Users/[user]/Downloads/IMG_5596_fixed.MOV"
まずは④台本_ソフウェーブA_痛み×冷却の動画を作成しよう
編集ソフトはAdobe
台本:[Google リンク・伏字]
症例:[Google リンク・伏字]
まずは素材と台本を確認して
過去の動画も添付するから今までの素材がどのようにどのような場面で使われているかも確認して
それらを踏まえて今回作成する動画をどのシーンにどの素材を使うかなど台本に沿って作成して、もちろんテロップやフォント、SE ,BGMなど全て含めて完全に完璧な動画が出来上がるように考えてほしい
テロップのフォントや色などは過去動画に揃えたい
⚙ Apolloの作業 6件08:45〜08:45
ユーザー識別とクライアント一覧
echo "USER=$USER"; cd /Users/[user]/adgeeks-apollo && ls clients/ | head -50
結果
USER=mizunoryuutarou BLポータルサイト(サンドボックス) Nishio内装 _master-rules _template a-sas.ne.jp acetotal.jp actwill.co.jp adgeeks-pack arteskinclinic.jp artmake-fukuoka.jp attracrea.jp aza-kids.jp beautis.jp berry-b.jp bridal-marl.com car-rescueteam.jp christina-clinic.com cl-mirai-lab clinick.jp contourclinictokyo.com designo-clinic.com dezigno-clinic.com dk-mobile.jp enishi.b-pictures.jp fujinka.jp fukuda-tokei geunal.jp hairoftokyo.com hana-beautyclinic.com hikkoshi.acetotal.jp home-partner hotta-akikazu kadason kai-soku kai-soku.jp kaputeli.com karunori-car.com karunori-kaitori.com kids-kyosei.com kuma-cli.com kyowa-japandroneshow.com lacuri.jp lifestyle-advisor-global.com menesu-lab myway-kobetsu.com okinawa-denshi paystruct.com report.clinic selection-intern tamaya.com
過去動画2本の構成を確認
cd /Users/[user]/Downloads && for f in "台本①(ソフウェーブ)79800円.mp4" "台本③(ソフウェーブ)修正版.mp4"; do echo "=== $f ==="; ls -la "$f"; ffprobe -v error -show_entries stream=index,codec_type,codec_name,width,height,r_frame_rate,duration,channels,sample_rate,bit_rate -show_entries format=duration,size,bit_rate -of compact "$f"; done
結果
=== 台本①(ソフウェーブ)79800円.mp4 === -rw-r--r--@ 1 mizunoryuutarou staff 110237556 Sep 25 08:44 台本①(ソフウェーブ)79800円.mp4 stream|index=0|codec_name=h264|codec_type=video|width=1080|height=1920|r_frame_rate=30000/1001|duration=85.785700|bit_rate=9947492 stream|index=1|codec_name=aac|codec_type=audio|sample_rate=48000|channels=2|r_frame_rate=0/0|duration=85.785708|bit_rate=317311 format|duration=85.785708|size=110237556|bit_rate=10280272 === 台本③(ソフウェーブ)修正版.mp4 === -rw-r--r--@ 1 mizunoryuutarou staff 73878462 Sep 25 08:41 台本③(ソフウェーブ)修正版.mp4 stream|index=0|codec_name=h264|codec_type=video|width=1080|height=1920|r_frame_rate=30000/1001|duration=58.224833|bit_rate=9818195 stream|index=1|codec_name=aac|codec_type=audio|sample_rate=48000|channels=2|r_frame_rate=0/0|duration=58.224833|bit_rate=317281 format|duration=58.224833|size=73878462|bit_rate=10150783 Shell cwd was reset to /Users/[user]/adgeeks-apollo
ソフウェーブ関連クライアントを特定
grep -rl "ソフウェーブ" clients/ --include="*.md" --include="*.yaml" 2>/dev/null | head -20; echo "--- sheet id grep ---"; grep -rl "[伏せ字]\|[伏せ字]" . --include="*.md" --include="*.yaml" 2>/dev/null | head
結果
clients/wclinic-osaka.jp/ads/2026-07-17_台本v6_朝会FB反映/02_素材メモ_インスタ実績投稿_2026-07-17.md clients/wclinic-osaka.jp/articles/切らない_リフトアップ_大阪/切らない_リフトアップ_大阪_02_competitor.md clients/wclinic-osaka.jp/articles/ダウンタイムなし_たるみ治療_大阪/ダウンタイムなし_たるみ治療_大阪_01_kw_analysis.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_09_image_prompts.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_06g_structure_check.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_06f_ngword_check.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_06c_eeat_check.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_03_structure.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_01_kw_analysis.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_final_article.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_06e_owner_review.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/phase4a_quality_complete.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_04_draft.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_05_fact_check_log.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_06d_reader_review.md clients/report.clinic/articles/ソフウェーブ_東京_おすすめ/ソフウェーブ_東京_おすすめ_02_competitor.md clients/attracrea.jp/memory.md clients/attracrea.jp/research/hp-snapshot-sofwave-2026-06-04.md clients/attracrea.jp/config.yaml clients/attracrea.jp/research/competitor-fullpage-preserve-2026-08-17.md --- sheet id grep ---
helpers.pyのシート関数を確認
grep -nE "^def (sheets|get_access_token|drive)" scripts/queue/helpers.py | head -40
結果
214:def get_access_token(account=None, token_file=None): 307:def sheets_get(sheet_id, range_str, access_token): 317:def sheets_update(sheet_id, range_str, values, access_token): 330:def sheets_batch_update(sheet_id, requests_body, access_token): 341:def sheets_get_metadata(sheet_id, access_token):
台本スプレッドシートのタブ一覧を取得
python3 -c "
import sys; sys.path.insert(0,'scripts/queue')
from helpers import get_access_token, sheets_get_metadata
for acct in ['info','baruhiro',None]:
try:
t=get_access_token(acct)
m=sheets_get_metadata('[伏せ字]', t)
print('ACCOUNT_OK:',acct)
print('TITLE:', m.get('properties',{}).get('title'))
for s in m.get('sheets',[]):
p=s['properties']; print(' gid=%s %s (%sx%s)'%(p['sheetId'],p['title'],p.get('gridProperties',{}).get('rowCount'),p.get('gridProperties',{}).get('columnCount')))
break
except Exception as e:
print('NG',acct,str(e)[:200])
"結果
ACCOUNT_OK: info TITLE: None gid=100 ①訴求整理 (20x6) gid=101 ②競合調査_糸リフト (24x4) gid=102 ③競合調査_豊胸 (38x4) gid=105 ④台本_ソフウェーブA_痛み×冷却 (56x9) gid=106 ⑤台本_ソフウェーブB_一人ひとり設計 (56x9) gid=107 ⑥豊胸_先生撮影用台本 (29x5) gid=2117291695 ⑦訴求軸マトリクス (120x6)
④台本タブを全行取得
python3 -c "
import sys; sys.path.insert(0,'scripts/queue')
from helpers import get_access_token, sheets_get
t=get_access_token('info')
r=sheets_get('[伏せ字]', \"'④台本_ソフウェーブA_痛み×冷却'!A1:I56\", t)
vals=r.get('values',[])
for i,row in enumerate(vals,1):
print(i,'|','|'.join(c.replace(chr(10),' / ') for c in row))
"結果
1 | 本台本は v4 最終確定版です(作成 2026-08-28 / 最終確定 2026-09-01 / 外部AIレビュー反映 2026-09-01)。先生の語りが説明の8割を担い、テロップは音声の要点と数字・注記だけを補います。症例写真・図解・施術カットは語りの上に被せるインサートで、語りは0秒から終わりまで途切れません。ナレーションは切り抜き型の自然な話速として1秒あたり8〜11字で設計しています。限定解除表記と効果の個人差に関する注記は、完成した動画の全尺に読めるサイズで常時表示します。2026-09-01 の確定反映は、A権威の語りを「顔の皮膚の下に」へ / 経歴テロップを4枚へ復活 / 2回目価格を「効果を実感していただいた方には」で受ける文言へ / 約120ショットを施術名と価格テロップへ / 「その日に決めなくて大丈夫」を確定 / 症例はCASE番号でのご指定運用へ、の6件です。 2 | |LP|https://attracrea.jp/menu/dermatology/sofwave/ 3 | |訴求|痛み×冷却軸。麻酔クリーム不使用の方針と専用の冷却装置を核に、院長本人が受けて導入を決めた体験を痛み軸の中心に置く 4 | |参考動画|ナレーション主導・語り連続型 v4 最終確定版(2026-09-01 宮田確定2件・先生確定6件を反映) 5 | 6 | |構成|秒数|||要素|詳細|文字数|修正コメント箇所 7 | |||||全編共通の画面設計|字幕:先生のセリフ全文を画面下に常時表示。音声を切って見ている方に説明が全部届く状態にする / 上帯:「ソフウェーブの痛みが不安な方へ」を全尺の上部に細く常時表示 / 注記帯:限定解除表記と効果の個人差に関する注記を、完成した動画の全尺に読めるサイズで常時表示。フックのブロックだけは最下部1行に収めて中央のコピー領域を空ける / 限定解除表記の文言:自由診療(公的医療保険適用外) / 施術名:ソフウェーブ(約120ショット) / 治療内容:超音波を経皮的に照射し、顔面・頚部のしわの改善を図る施術。1回 / 費用:79,800円(税込) / 主なリスク・副作用:赤み、ほてり、腫れ、色素沈着、まれに水疱・熱傷 / お問い合わせ:アトラクレアビューティークリニック新宿 / 施術範囲の表記:ショット数は約120ショットで確定(先生確定 2026-09-01)。照射範囲を「全顔」と書けるかは未確定のため、施術名は「ソフウェーブ(約120ショット)」に留めています。全顔の範囲表記が確定しましたら「ソフウェーブ(全顔・約120ショット)」へ差し替えます / 個人差注記:※効果や持続には個人差があります / 画角:縦9:16。テロップを上下に載せるため、顔は中央よりやや上。画面の下2割は字幕用に空ける / 撮影:撮るのは「先生が話している動画」だけ。症例・図解・実物カット・エンドカードは既存素材と編集で作り、語りの上に被せる 8 | |フック|0|〜|5|内容|「痛いんでしょ」といちばん多い質問を先生ご自身の口で先に出し、その場で麻酔クリーム不使用の答えを返す。前置きのカットを作らず、1フレーム目から話し始めている状態にする 9 | |||||素材・映像|①診察室で先生がカメラ正面を向いたバストアップから入る。前置きのカットを作らず、1フレーム目から話し始めている状態にする / ②「痛いんでしょ」を言っている間に、頬からフェイスラインの肌のアップを0.8秒だけ画面右下にワイプで差す(語りは被せたまま) / ③「使ってません」の語尾に合わせて中央テロップが立ち上がる / ★このカットで最大に見せる要素 中央の「麻酔クリーム、使いません」 10 | |||||テロップ|中央(最大)「麻酔クリーム、使いません」 / 右上に小さく「脳神経外科医20年 院長」 / 下部に字幕(セリフ全文) 11 | |||||ナレーション(台本)|ソフウェーブ、痛いんでしょ。これ、いちばん聞かれます。先に言っておくと、うちは麻酔クリーム、使ってません。|53|先生確認:撮影時に、この3文を先生ご自身の口調へ寄せてください。意味の骨格(痛みの質問がいちばん多い / だから先に麻酔クリームの話をする)だけ守っていただければ、語尾は自由に変えていただいて大丈夫です 12 | |姿勢(安心の前倒し)|5|〜|13|内容|2本を通じて最も刺さる「合わないと思ったら正直に伝える」を、CTAではなく冒頭へ前倒しする。ここで防御を下げてから中身に入る 13 | |||||素材・映像|①先生の語りは切らずに続ける / ②「診察して、合わないと思ったら」の間に、カウンセリングルームで先生と演者が向かい合う2ショットを斜め後ろから3秒インサート(先生の音声はそのまま被せる)→画面隅に小さく「カウンセリングイメージ」 / ③「聞くだけ聞きに来てほしいんです」で正面のバストアップに戻る / ★このカットで最大に見せる要素 「合わなければ、正直に言います」 14 | |||||テロップ|中央「合わなければ、正直に言います」 / 下部「無理な勧誘はしません」 / 画面隅「カウンセリングイメージ」 15 | |||||ナレーション(台本)|もうひとつ、先に。診察して、合わないと思ったら、正直にそうお伝えします。無理な勧誘はしません。だから、痛みが不安な方ほど、聞くだけ聞きに来てほしいんです。|77 16 | |院長体験|13|〜|24|内容|痛みに弱い院長ご本人が自分で受けて導入を決めた、という一次体験を痛み軸の中心に置く。第三者の声は借りず、一人称「僕」で語る 17 | |||||素材・映像|①先生が少し笑いながら話すカット。手元が自然に動く所作はそのまま残す / ②「髭脱毛でも」で先生が自分の口元を触る所作をそのまま使う / ③「自分で受けてみて」の間に、院長のデスク周りのインサートを1.2秒(語りは被せたまま) / ④「導入を決めました」で正面に戻り、テロップ「院長本人が、受けています」が立ち上がる / ★このカットで最大に見せる要素 「院長本人が、受けています」 18 | |||||テロップ|中央「院長本人が、受けています」(2秒) / 下部「髭脱毛では涙が出るほど、痛みに弱い」(2秒) / 読めるサイズで「※院長本人の体験です。感じ方には個人差があります」 19 | |||||ナレーション(台本)|白状すると、僕、痛みにはものすごく弱いんです。髭脱毛でも、涙が出るくらい。その僕が、自分でソフウェーブを受けてみて、あ、これなら大丈夫だと思って、導入を決めました。痛みに弱い人間が、自分で受けて決めた治療です。|105|宮田確定(2026-09-01):「あ、これなら大丈夫だと思って」はこの文言のまま撮ります / 先生確認:撮影時に、先生ご自身の口から実感の具体語を採らせてください(髭脱毛やゴムで弾かれる感覚など、先生が実際にお使いになる比喩)。「あ、これなら大丈夫だと思って」の部分も、先生が実際に受けたときの言葉に置き換えていただけるなら、そちらを優先します 20 | |機序(麻酔と …(以下 6817 文字省略)
🐉
Apollo(ミニ竜)2026-09-25 08:45
台本を読みました。この台本は「先生が話している動画だけ撮る」設計で、添付いただいた IMG_5596/5597 がその収録素材ですね。素材の中身を確認します。
⚙ Apolloの作業 2件08:46〜08:46
アトラクレアのconfigとmemoryを読む
echo "=== config ===" && sed -n '1,80p' clients/attracrea.jp/config.yaml 2>/dev/null; echo "=== memory先頭 ===" && sed -n '1,60p' clients/attracrea.jp/memory.md 2>/dev/null
結果
=== config ===
# アトラクレアビューティークリニック新宿 — config.yaml
# attracrea.jp / 美容クリニック / 新宿
client:
name: "アトラクレアビューティークリニック新宿"
industry: "美容クリニック"
plan: "SEO + Meta広告"
monthly_fee: null
contract_start: null
status: "active"
director: "matsushita"
main_contact: null
priority: "通常"
ops_pattern: "A"
connections:
ga4:
property_id: "●●●●●●●●●"
token_type: "traffic"
gsc:
site_url: "https://attracrea.jp/"
token_type: "traffic"
gbp:
location_id: null
chatwork:
room_id: "[伏せ字]"
room_name: "アトラクレア"
slack:
channel_id: null
meta:
account_id: "act_●●●●"
cv_type: "offsite_conversion.fb_pixel_custom"
spreadsheet_id: "" # → secrets.yaml
sheet_name: "広告セット単位"
ahrefs:
target_domain: "attracrea.jp"
communication:
primary: "chatwork"
report_day: 10
meeting_cycle: null
meeting_note: null
seo:
# ★表記はHP実機準拠(2026-07-21 確認)。本文・広告・レポートはこの表記で書く
main_keywords:
- "ソフウェーブ"
- "糸リフト"
- "シナージェット"
target_areas:
- "新宿"
- "東京"
main_treatments:
- "ソフウェーブ"
- "糸リフト"
- "シナージェット"
- "肌育"
- "ニューダブロ2.0"
- "くま取り"
- "韓国式二重埋没"
- "ボトックス"
- "ヒアルロン酸"
- "豊胸"
- "モティヴァ"
- "プリザベ"
article:
monthly_count: 0
article_type: "medical"
report:
cv_definitions:
- name: "LINE予約"
type: "event"
event: "line_reserve"
- name: "WEB予約"
type: "event"
event: "GA4_WEB予約"
- name: "電話予約"
type: "event"
=== memory先頭 ===
# アトラクレアクリニック — memory
## 公式表記(★HP実機準拠・2026-07-21確認★ 本文/広告/レポートは必ずこの表記)
| 対象 | ✅ 公式表記 | ❌ 使わない | 根拠 |
|---|---|---|---|
| 機器 | **シナージェット** | シナジェット | 施術ページ本文20箇所すべて「シナージェット」。「シナジェット」は0箇所。title「東京・新宿でシナージェットなら」 |
| 機器 | **ニューダブロ2.0** | ダブロ | グローバルナビのメニュー名(症例一覧の絞り込みは「Newダブロ2.0」表記) |
| 院長 | **院長** | 院長(対外文書) | フッター「クリニック公式 院長」 |
| 院名 | アトラクレアビューティークリニック新宿 | — | 既存どおり |
- ⚠️ `config.yaml` の `report.tracked_keywords` は**実際の検索語**であり公式表記とは別物。順位計測の継続性のため文字列は変更しない(2026-04-05 Ahrefs取得時のまま)。
- 2026-07-21 定例MTGでの誤変換多発ワード: ソフウェブ/ソフトウェア→ソフウェーブ、ホウキョウ/公共/豊橋→豊胸、イトリフト/リトリフト→糸リフト、タルミ→たるみ。
## 計測環境(2026-04-20確認)
- GA4 property: `●●●●●●●●●` / GSC site: `https://attracrea.jp/`
- 計測開始日: GA4=2026-03-24 / GSC=2026-03-23(3月下旬にAdGeeks側で設定)
- → **3月レポートは実データ8日分のみ**。前年同月比は契約2年目(2027-03〜)まで永久N/A
- GTM container: `GTM-●●●●`
- GTM管理権限: AdGeeks側にあり(自前で編集可能)
## CVイベント(GA4に届いてる実名)
| config.yaml定義 | GA4実発火名 | 備考 |
|---|---|---|
| LINE予約 | `line_reserve` | ✅ 正しい命名 |
| WEB予約 | **`GA4_WEB予約`** | ⚠️ GTMタグ名がそのまま入ってる(日本語)。config.yamlを現物に合わせて統一済み |
| 電話予約 | `phone_reserve` | ✅ 正しい命名 |
- GTMトリガー条件:
- LINE予約: Click URL 含む `lin.ee/ukTbjp8F`
- WEB予約: Click URL 含む `attracrea.b4a.clinic`
- 電話予約: Click URL 含む `tel:0362736255`
- form_start も発火中(月数件レベル)
## 運用メモ
- 集計はGSC+GA4+Ahrefs(token_type=traffic)
- Meta広告あり(account_id: `act_●●●●`)
- Chatworkルーム: `[伏せ字]`
- 計測データ取得のpython script例: `tmp/attracrea-cv-audit-april.py`(トークン再認証後に再利用可)
## 施術ページURL対応表(§G・2026-05-31 HP実機取得)
> CTA・内部リンクのURLはここから引く
…(以下 657 文字省略)文字起こしツールの有無を確認
which whisper mlx_whisper whisper-cpp 2>/dev/null; python3 -c "import mlx_whisper; print('mlx_whisper OK')" 2>/dev/null; python3 -c "import whisper; print('openai-whisper OK')" 2>/dev/null; python3 -c "import faster_whisper; print('faster_whisper OK')" 2>/dev/null; ls /opt/homebrew/bin | grep -i whisper; echo "---done---"結果
whisper not found mlx_whisper not found whisper-cpp not found mlx_whisper OK faster_whisper OK whisper-bench whisper-cli whisper-command whisper-lsp whisper-quantize whisper-server whisper-stream whisper-talk-llama whisper-vad-speech-segments ---done---
🐉
Apollo(ミニ竜)2026-09-25 08:46
素材はドクターの収録動画ですね。全尺を文字起こしして台本ブロックへの対応を取ります。並行して症例シートと過去動画のテロップ仕様を確認します。
⚙ Apolloの作業 6件(画像の確認 2件)08:46〜08:47
収録素材2本を文字起こし
cd /private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad && for n in 5596 5597; do ffmpeg -v error -y -i "/Users/[user]/Downloads/IMG_${n}_fixed.MOV" -map 0:a:0 -ac 1 -ar 16000 -c:a pcm_s16le "aud_${n}.wav"; done && ls -la aud_*.wav && python3 -c "
import mlx_whisper, json, time
for n in ['5596','5597']:
t0=time.time()
r = mlx_whisper.transcribe('aud_%s.wav'%n, path_or_hf_repo='mlx-community/whisper-large-v3-turbo', language='ja', word_timestamps=False, verbose=False)
json.dump(r, open('tr_%s.json'%n,'w'), ensure_ascii=False, indent=1)
print(n,'segments',len(r['segments']),'%.0fs'%(time.time()-t0))
"結果
Command running in background with ID: b3q5o4sv1. Output is being written to: /private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/tasks/b3q5o4sv1.output. You will be notified when it completes. To check interim output, use Read on that file path. Session cwd remains /Users/[user]/adgeeks-apollo; directory changes made by the backgrounded command do not apply to subsequent commands.
症例シートのタブ一覧
python3 -c "
import sys; sys.path.insert(0,'scripts/queue')
from helpers import get_access_token, sheets_get_metadata
t=get_access_token('info')
m=sheets_get_metadata('[伏せ字]', t)
for s in m.get('sheets',[]):
p=s['properties']; print('gid=%s | %s | %sx%s'%(p['sheetId'],p['title'],p.get('gridProperties',{}).get('rowCount'),p.get('gridProperties',{}).get('columnCount')))
"結果
gid=1871215363 | 症例写真掲載依頼 | 1000x31
症例シートの内容を取得
python3 -c "
import sys; sys.path.insert(0,'scripts/queue')
from helpers import get_access_token, sheets_get
t=get_access_token('info')
r=sheets_get('[伏せ字]', \"'症例写真掲載依頼'!A1:AE60\", t)
v=r.get('values',[])
print('rows',len(v))
hdr=v[0] if v else []
for i,row in enumerate(v,1):
line=' | '.join((c or '').replace(chr(10),' / ')[:70] for c in row)
if line.strip(' |'): print(i,'>>',line)
" 2>&1 | head -60結果
rows 36 1 >> 症例写真掲載依頼シート 2 >> ※1症例につき1行でご入力ください。 / ※費用欄は「標準価格(税込)」のみ記載可。キャンペーン・割引価格は記載不可。価格に幅がある場合は最 4 >> 症例管理No. | 症例画像 | 担当医師名 | 施術メニュー名 | 施術ページURL | 治療内容の詳細説明 | 主なリスク・副作用 | 標準的な費用 | 施術回数・期間の目安 | リード文 / (ドクターコメント) / ※記載がない場合非表示 | ドクターコメント / ※記載がない場合非表示 | 備考欄 5 >> CASE-0000 | Dropboxフォルダ / GoogleドライブなどのURL | 院長 | 二重埋没法(2点留め) | https://attracrea.jp/menu/eyes/futae/maibotsu/ | まぶたの裏側から糸を通し、皮膚と瞼板を糸で留めて二重のラインを形成する施術(切開なし) | 腫れ、内出血、左右差、糸のゆるみによる戻り、感染、つっぱり感等 | 88,000円(税込) | 1回 | 自然な仕上がりとダウンタイムの短さを重視した施術です。 | まぶたの厚みや脂肪量を診察の上、糸のかけ方・留める位置を調整し、左右差が出にくいよう設計しています。 | 全顔・部分モニターなどの / 注意事項 | ← 記入例 6 >> CASE-0001 | https://www.dropbox.com/scl/fo/da8aprua1tp1t7fd5zq0l/ALhLJ6vgU4X8jTUAq | 院長 | 糸リフト(スタンダード4本+ダブルアーム2本) | https://attracrea.jp/menu/contour/liftup/ | PDO製スタンダード糸4本とダブルアーム糸2本を組み合わせ、頬からフェイスラインにかけてのたるみを引き上げる施術 | 腫れ、内出血、つっぱり感、左右差、糸の露出、感染、皮膚のひきつれ、まれに神経損傷等 | 166,000円(税込) | 1回 | フェイスラインのもたつきを改善する施術です。 | スタンダード糸とダブルアーム糸を組み合わせた糸リフトの症例です。 頬からフェイスラインのたるみの程度に応じて糸の種類・本数・引き上げる方向を | | 一例として入力いたしました(張本) 7 >> CASE-0002 | [Google リンク・伏字] | 院長 | 糸リフト(スタンダード6本) | https://attracrea.jp/menu/contour/liftup/ | PDO製スタンダード糸6本を挿入し、頬からフェイスラインにかけてのたるみを引き上げる施術 | 腫れ、内出血、つっぱり感、左右差、糸の露出、感染、皮膚のひきつれ、まれに神経損傷等 | 114,000円(税込) | 1回 | フェイスラインのもたつきを改善する施術です。 | スタンダードリフトを左右に3本ずつ挿入し、リフトアップを行っています。頬コケを埋めるように角度を調整して施術を行い、結果としてしっかりとフェ | 全顔モニター 8 >> CASE-0003 | [Google リンク・伏字] | ナース施術 | ソフウェーブ全顔(額除く)、顎下、人中 | https://attracrea.jp/menu/dermatology/sofwave/ | SUPERB™(同期平行型超音波ビーム)により、皮膚表面と下層組織を傷つけずに、0.5〜2.0mmの真皮層に熱作用を局在させる、切らない医療 | 軽度の発赤・熱感(数時間〜1日程度) / 軽度の腫れ・膨隆疹(数日〜1週間程度) / 知覚鈍麻(まれ・一時的) / 熱傷(適切な設定・技術に | 228,000円(税込) | 1回・半年後 | | お悩みいだったフェイスラインのもたつき、口横のぽにょ感がしっかり改善されています。人中もかなり短かくなりました。 | 部分モニター 9 >> CASE-0004 | [Google リンク・伏字] | ナース施術 | ソフウェーブ全顔 | https://attracrea.jp/menu/dermatology/sofwave/ | SUPERB™(同期平行型超音波ビーム)により、皮膚表面と下層組織を傷つけずに、0.5〜2.0mmの真皮層に熱作用を局在させる、切らない医療 | 軽度の発赤・熱感(数時間〜1日程度) / 軽度の腫れ・膨隆疹(数日〜1週間程度) / 知覚鈍麻(まれ・一時的) / 熱傷(適切な設定・技術に | 165,000円(税込) | 1回・半年後 | | 全体的なお顔のたるみが気になるとのことでご来院。フェイスラインがシャープになり、スッキリとしたお顔周りになりました。 | 部分モニター / プレビュー(1枚目)には左斜め前の画像を使用してください。写真少し暗いので編集してください。 10 >> CASE-0005 | [Google リンク・伏字] | 院長 | 唇ヒアルロン酸 | https://attracrea.jp/menu/dermatology/hyaluronic/ | しわや凹み、ボリュームロスが気になる部位に直接ヒアルロン酸を注入し、内側からふっくらと持ち上げる治療です。 | 【一般的な副作用】 / 注射部位の赤み・腫れ(数日〜1週間) / 内出血(1〜2週間で消失) / 軽度の痛み・違和感(一時的) | 33,000円〜(税込) | 1回 | | 唇の厚みがない方、口角を上げたい方、上下のバランスをtくりたい方など、一口に唇と言っても形も好みも様々です。皆様のお悩みに応じて必要な場所に | 部分モニター 11 >> CASE-0006 | [Google リンク・伏字] | 院長 | 涙袋ヒアルロン酸 | https://attracrea.jp/menu/dermatology/hyaluronic/ | しわや凹み、ボリュームロスが気になる部位に直接ヒアルロン酸を注入し、内側からふっくらと持ち上げる治療です。 | 【一般的な副作用】 / 注射部位の赤み・腫れ(数日〜1週間) / 内出血(1〜2週間で消失) / 軽度の痛み・違和感(一時的) | 33,000円〜(税込) | 1回 | | ヒアルロン酸はただ注入するだけではありません。どの深さにどれだけの量を注入するか、これで仕上がりに差がつきます。 | 部分モニター …(以下 5546 文字省略)
過去動画2本のコンタクトシート作成
cd /private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad && ffmpeg -v error -y -i "/Users/[user]/Downloads/台本①(ソフウェーブ)79800円.mp4" -vf "fps=1/2,scale=170:302,tile=6x8:padding=4:color=0x333333" -frames:v 1 sheet1_a.png && ffmpeg -v error -y -i "/Users/[user]/Downloads/台本③(ソフウェーブ)修正版.mp4" -vf "fps=1/2,scale=170:302,tile=6x5:padding=4:color=0x333333" -frames:v 1 sheet3_a.png && ls -la sheet*.png
結果
-rw-r--r--@ 1 mizunoryuutarou wheel 2995979 Sep 25 08:47 sheet1_a.png -rw-r--r--@ 1 mizunoryuutarou wheel 2006424 Sep 25 08:47 sheet3_a.png
ファイルを読む:sheet1_a.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/sheet1_a.png
ファイルを読む:sheet3_a.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/sheet3_a.png
🐉
Apollo(ミニ竜)2026-09-25 08:47
主要なテロップを原寸で抜き出して、フォント・色・縁取りを特定します。
⚙ Apolloの作業 5件(画像の確認 3件)08:47〜08:52
原寸フレームを抽出
A="/Users/[user]/Downloads/台本①(ソフウェーブ)79800円.mp4"; C="/Users/[user]/Downloads/台本③(ソフウェーブ)修正版.mp4"; ffmpeg -v error -y -ss 2.2 -i "$C" -frames:v 1 f3_red.png; ffmpeg -v error -y -ss 4.5 -i "$C" -frames:v 1 f3_white.png; ffmpeg -v error -y -ss 50.5 -i "$C" -frames:v 1 f3_price.png; ffmpeg -v error -y -ss 26.5 -i "$A" -frames:v 1 f1_itai.png; ffmpeg -v error -y -ss 74.5 -i "$A" -frames:v 1 f1_price.png; ffmpeg -v error -y -ss 0.3 -i "$A" -frames:v 1 f1_hook.png; ls -la f*.png
結果
-rw-r--r--@ 1 mizunoryuutarou wheel 821729 Sep 25 08:52 f1_hook.png -rw-r--r--@ 1 mizunoryuutarou wheel 907681 Sep 25 08:52 f1_itai.png -rw-r--r--@ 1 mizunoryuutarou wheel 1604394 Sep 25 08:52 f1_price.png -rw-r--r--@ 1 mizunoryuutarou wheel 1091092 Sep 25 08:52 f3_price.png -rw-r--r--@ 1 mizunoryuutarou wheel 1414168 Sep 25 08:52 f3_red.png -rw-r--r--@ 1 mizunoryuutarou wheel 1611949 Sep 25 08:52 f3_white.png -rw-r--r--@ 1 mizunoryuutarou wheel 635357 Sep 25 07:03 frame_IMG_5596.png -rw-r--r--@ 1 mizunoryuutarou wheel 635357 Sep 25 07:03 frame_IMG_5596_stereo.png
ファイルを読む:f1_price.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/f1_price.png
ファイルを読む:f3_white.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/f3_white.png
ファイルを読む:f1_itai.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/f1_itai.png
文字起こし結果を表示
python3 -c "
import json
for n in ['5596','5597']:
d=json.load(open('tr_%s.json'%n))
print('#### IMG_%s (%d segments) ####'%(n,len(d['segments'])))
for s in d['segments']:
print('%7.1f-%7.1f | %s'%(s['start'],s['end'],s['text'].strip()))
print()
"結果
#### IMG_5596 (57 segments) ####
0.0- 16.4 | 正直に言います
16.4- 19.3 | ソフェーブはどこで受けても同じではありません
30.0- 36.5 | たるみって下がっている層は人によってそれぞれ違います
51.0- 52.0 | ここは分からない
52.0- 60.5 | 頬が膨らんで落ちている方
60.5- 66.1 | 首から引かれて輪郭がぼやけている方
66.1- 72.6 | それぞれ当てる場所も出力も違っています
75.4- 78.8 | 同じ機会でも当て方は全く異なります
78.8- 102.4 | だからうちは初めから医師が診察をします
102.4- 106.0 | 肌の状態と
106.0- 111.6 | 肌の状態とたるみ方を見て
111.6- 115.5 | 当てる場所と出力を決定します
115.5- 124.0 | 決め打ちの照射はしません
126.9- 128.1 | 当てている最中
128.1- 133.2 | 当てている最中でも
133.2- 137.6 | ここをもう少しと言っていただいても大丈夫です
137.6- 145.1 | 当てている最中でも
145.1- 148.5 | ここをもう少しと言っていただいても大丈夫です
148.5- 161.6 | 僕もともと脳神経外科医です
161.6- 167.9 | 20年間顔の解剖を見てきました
167.9- 172.5 | どこに何の層があって
172.5- 178.9 | どこが下がるとどう見えるのか
178.9- 184.1 | その知見で照射プランを考えています
184.1- 198.2 | この方は法令線を中心に当てました
198.2- 203.2 | 当てた範囲はこの赤いところです
203.2- 205.9 | 持ちは半年から1年間
205.9- 211.4 | 効果も持続も個人差はあります
226.4- 231.2 | 価格は定価16万5千円が7万9千8百円
231.2- 234.6 | 効果を実感していただけた方も
234.6- 243.4 | 価格は16万5千円のところ
243.4- 245.7 | 7万9千8百円です
245.7- 248.6 | 効果を実感していただいた方には
248.6- 249.3 | 2回目も
249.3- 257.4 | 効果を実感していただいた方には
257.4- 258.7 | 2回目も7千円
258.7- 264.6 | 効果を実感していただいた方には
264.6- 273.4 | 効果を実感していただいた方には
273.4- 276.3 | 2回目も7万9千8百円です
276.3- 282.3 | 1回受けてもう一度と思った方に
282.3- 283.7 | 値段が上がりません
283.7- 296.0 | もう一つ大事なこと
296.0- 299.1 | 診察して合わないと思ったときは
299.1- 300.1 | おすすめしません
300.1- 307.9 | もう一つ大事なこと
307.9- 310.8 | 診察して合わないと思ったら
310.8- 312.4 | 正直にお伝えします
312.4- 314.4 | 無理な関与はいたしません
314.4- 320.2 | ここは内のスタンスです
320.2- 339.0 | ご自身のたるみに合うのかどうか
339.0- 343.9 | それだけでも一度顔を見せに来てください
344.9- 347.9 | その日に
347.9- 351.9 | その日に決めなくても大丈夫です
351.9- 357.9 | ご自身のたるみに合うのかどうか
357.9- 362.7 | それだけでも一度顔を見せに来てください
362.7- 365.2 | その日に決める必要はありません
368.7- 370.7 | ありがとうございました
370.7- 372.7 | ありがとうございました
#### IMG_5597 (65 segments) ####
0.0- 28.8 | ソフェーブ痛いんでしょ
28.8- 30.5 | これ一番聞かれます
30.5- 33.5 | 実はうちでは麻酔クリームは使っていません
40.5- 41.9 | ソフェーブ痛いんでしょ
41.9- 44.3 | これ一番聞かれます
44.3- 48.3 | 先に言っておくと
48.3- 50.4 | うちでは麻酔クリームは使っていません
50.4- 64.1 | もう一つ先に
64.1- 69.3 | 診察して合わないと思ったら正直にお伝えしています
69.3- 71.0 | 無理な会員はいたしません
71.0- 77.0 | だから痛みが不安な方ほど
77.0- 79.7 | 聞くだけ聞きに来ていただけば
79.7- 91.3 | だから痛みが不安な方ほど
91.3- 93.2 | 聞くだけ聞きに来てほしいんです
93.2- 103.8 | 白状すると
103.8- 105.8 | 僕痛みにとても弱いんです
105.8- 112.6 | 髭脱毛でも涙が出るぐらい
112.6- 120.8 | その僕が
120.8- 125.0 | 自分でソフェーブを受けてみて
125.0- 127.0 | あ、これなら大丈夫と思って
127.0- 128.0 | 導入を決めました
128.0- 133.9 | 痛みに弱い人間が
133.9- 135.8 | 自分で受けて決めた治療です
135.8- 146.4 | なんで麻酔クリームを使わないのか
146.4- 150.7 | ソフェーブ本体にも
150.7- 152.8 | 冷却装置はついているんですけれども
152.8- 154.9 | うちはそこにもう一台
154.9- 156.7 | 専用の冷却器をつけています
156.7- 162.1 | しっかり冷やして痛みを取るので
165.8- 168.8 | クリームを塗って30分待つ
168.8- 173.0 | あの時間がもったいない
173.0- 177.6 | 当てているのは神秘の層です
177.6- 196.6 | この方はほうれい線に当てています
196.6- 202.5 | この方はほうれい線を中心に当てています
202.5- 207.7 | 持ちは1回で
…(以下 1346 文字省略)🐉
Apollo(ミニ竜)2026-09-25 08:53
IMG_5597 が今回作る台本A(痛み×冷却)の収録、IMG_5596 が台本B の収録でした。台本Aのブロック別テイクを秒単位で特定します。
⚙ Apolloの作業 2件08:53〜08:53
台本A素材を単語タイムスタンプ付きで再解析
python3 -c "
import mlx_whisper, json, time
t0=time.time()
r = mlx_whisper.transcribe('aud_5597.wav', path_or_hf_repo='mlx-community/whisper-large-v3-turbo', language='ja', word_timestamps=True, condition_on_previous_text=False, verbose=False)
json.dump(r, open('tr_5597_w.json','w'), ensure_ascii=False)
print('done %.0fs'%(time.time()-t0), len(r['segments']))
"結果
Command running in background with ID: bhxxhw0fe. Output is being written to: /private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/tasks/bhxxhw0fe.output. You will be notified when it completes. To check interim output, use Read on that file path.
テイク境界となる無音区間を検出
echo "=== 5597 無音区間(0.6s以上/-32dB) ===" && ffmpeg -v info -i aud_5597.wav -af "silencedetect=noise=-32dB:d=0.6" -f null - 2>&1 | grep -E "silence_(start|end)" | python3 -c "
import sys,re
starts=[];
for l in sys.stdin:
m=re.search(r'silence_start: ([\d.]+)',l)
if m: starts.append(('S',float(m.group(1))))
m=re.search(r'silence_end: ([\d.]+) \| silence_duration: ([\d.]+)',l)
if m: starts.append(('E',float(m.group(1)),float(m.group(2))))
prev_end=0.0
for i,x in enumerate(starts):
if x[0]=='S': print(' 発話 %7.2f -%7.2f (%5.2fs)'%(prev_end,x[1],x[1]-prev_end))
else: prev_end=x[1]; print(' [無音 %.2fs]'%x[2])
"結果
=== 5597 無音区間(0.6s以上/-32dB) ===
発話 0.00 - 1.11 ( 1.11s)
[無音 26.68s]
発話 27.79 - 28.51 ( 0.72s)
[無音 0.93s]
発話 29.44 - 30.28 ( 0.84s)
[無音 1.05s]
発話 31.33 - 33.47 ( 2.13s)
[無音 7.38s]
発話 40.85 - 41.91 ( 1.07s)
[無音 1.10s]
発話 43.01 - 44.08 ( 1.07s)
[無音 1.19s]
発話 45.27 - 45.83 ( 0.56s)
[無音 0.60s]
発話 46.43 - 46.46 ( 0.03s)
[無音 0.99s]
発話 47.45 - 50.32 ( 2.87s)
[無音 12.13s]
発話 62.46 - 63.47 ( 1.02s)
[無音 2.81s]
発話 66.29 - 68.73 ( 2.44s)
[無音 0.93s]
発話 69.66 - 70.84 ( 1.19s)
[無音 4.48s]
発話 75.33 - 76.98 ( 1.65s)
[無音 0.64s]
発話 77.62 - 78.98 ( 1.36s)
[無音 10.51s]
発話 89.50 - 92.85 ( 3.36s)
[無音 9.92s]
発話 102.77 - 105.43 ( 2.66s)
[無音 5.24s]
発話 110.67 - 112.22 ( 1.55s)
[無音 7.76s]
発話 119.98 - 120.67 ( 0.69s)
[無音 2.60s]
発話 123.27 - 124.42 ( 1.15s)
[無音 0.71s]
発話 125.13 - 127.74 ( 2.61s)
[無音 4.96s]
発話 132.70 - 135.47 ( 2.77s)
[無音 8.82s]
発話 144.29 - 145.74 ( 1.45s)
[無音 3.69s]
発話 149.43 - 151.85 ( 2.42s)
[無音 0.85s]
発話 152.70 - 152.74 ( 0.03s)
[無音 0.67s]
発話 153.41 - 156.24 ( 2.83s)
[無音 3.86s]
発話 160.09 - 162.12 ( 2.03s)
[無音 4.35s]
発話 166.47 - 168.46 ( 1.99s)
[無音 2.81s]
発話 171.27 - 172.70 ( 1.43s)
[無音 3.14s]
発話 175.84 - 177.23 ( 1.39s)
[無音 17.34s]
発話 194.57 - 196.18 ( 1.60s)
[無音 3.92s]
発話 200.09 - 202.02 ( 1.93s)
[無音 3.16s]
発話 205.18 - 207.35 ( 2.17s)
[無音 5.07s]
発話 212.42 - 213.93 ( 1.51s)
[無音 4.56s]
発話 218.49 - 221.53 ( 3.05s)
[無音 9.74s]
発話 231.27 - 233.04 ( 1.77s)
[無音 1.34s]
発話 234.38 - 237.17 ( 2.79s)
[無音 6.87s]
発話 244.04 - 246.51 ( 2.47s)
[無音 0.95s]
発話 247.45 - 247.62 ( 0.17s)
[無音 0.71s]
発話 248.33 - 249.04 ( 0.71s)
[無音 3.57s]
発話 252.61 - 253.43 ( 0.82s)
[無音 14.09s]
発話 267.52 - 268.01 ( 0.50s)
[無音 0.95s]
発話 268.97 - 269.59 ( 0.62s)
[無音 1.63s]
発話 271.22 - 271.65 ( 0.44s)
[無音 0.69s]
発話 272.34 - 275.87 ( 3.54s)
[無音 1.24s]
発話 277.12 - 281.18 ( 4.06s)
[無音 6.33s]
発話 287.51 - 289.40 ( 1.89s)
[無音 2.71s]
発話 292.11 - 293.43 ( 1.32s)
[無音 2.37s]
発話 295.79 - 299.19 ( 3.40s)
[無音 4.26s]
発話 303.45 - 305.23 ( 1.78s)
[無音 2.86s]
発話 308.08 - 312.13 ( 4.05s)
[無音 10.16s]
発話 322.29 - 324.50 ( 2.21s)
[無音 1.68s]
発話 326.18 - 328.44 ( 2.26s)
[無音 6.68s]
発話 335.12 - 336.37 ( 1.24s)
[無音 1.46s]
発話 337.82 - 337.84 ( 0.02s)
[無音 1.52s]
発話 339.36 - 339.37 ( 0.01s)
[無音 2.27s]
発話 341.64 - 344.85 ( 3.22s)
[無音 3.69s]
発話 348.54 - 350.13 ( 1.59s)
[無音 0.92s]
発話 351.05 - 352.56 ( 1.51s)
[無音 4.18s]
発話 356.74 - 356.79 ( 0.05s)
[無音 3.79s]🐉
Apollo(ミニ竜)2026-09-25 08:54
テイク境界が取れました。次に過去動画のスタイル仕様(色・フォント・BGM・SE)を実測します。
⚙ Apolloの作業 7件08:54〜08:55
テロップ色を画素単位で実測
python3 -c "
from PIL import Image
def sample(fn, pts):
im=Image.open(fn).convert('RGB')
print('###',fn, im.size)
for label,(x,y) in pts.items():
print(' %-24s (%4d,%4d) = #%02X%02X%02X'%((label,x,y)+im.getpixel((x,y))))
sample('f1_itai.png', {
'メインテロップ白文字':(320,890),'テロップ縁(左外)':(258,893),
'下帯テキスト':(200,1608),'下帯 数字':(560,1607),
})
sample('f1_price.png', {
'通常価格ピンク文字':(230,365),'18万円':(700,360),
'限定価格 黄':(180,880),'79800 ピンク':(210,1040),'79800 黄縁':(150,1010),
'55%OFF 黄':(700,710),'55%OFF 緑グロー':(640,640),
'キャンペーン中 ピンク':(200,1600),'背景ピンク':(60,150),
})
" 2>&1 | head -40結果
### f1_itai.png (1080, 1920) メインテロップ白文字 ( 320, 890) = #665B5E テロップ縁(左外) ( 258, 893) = #302A3B 下帯テキスト ( 200,1608) = #AB837E 下帯 数字 ( 560,1607) = #111E35 ### f1_price.png (1080, 1920) 通常価格ピンク文字 ( 230, 365) = #FF8C92 18万円 ( 700, 360) = #FDFDFD 限定価格 黄 ( 180, 880) = #FCCF00 79800 ピンク ( 210,1040) = #DE3B6C 79800 黄縁 ( 150,1010) = #DE3B6C 55%OFF 黄 ( 700, 710) = #FEFAED 55%OFF 緑グロー ( 640, 640) = #3B5454 キャンペーン中 ピンク ( 200,1600) = #FFFDFC 背景ピンク ( 60, 150) = #F6E4DD
過去動画の音声ラウドネスと無音状況
for n in 1 3; do case $n in 1) F="/Users/[user]/Downloads/台本①(ソフウェーブ)79800円.mp4";; 3) F="/Users/[user]/Downloads/台本③(ソフウェーブ)修正版.mp4";; esac; echo "=== 台本$n 音声 ==="; ffmpeg -v error -y -i "$F" -ac 1 -ar 16000 -c:a pcm_s16le "past_$n.wav"; ffmpeg -hide_banner -i "past_$n.wav" -af "ebur128=framelog=quiet,ametadata=mode=print:key=lavfi.r128.I" -f null - 2>&1 | tail -3; echo "-- 無音(-40dB/0.4s)でBGM有無判定 --"; ffmpeg -v info -i "past_$n.wav" -af "silencedetect=noise=-40dB:d=0.4" -f null - 2>&1 | grep -c silence_start; done
結果
Exit code 1
=== 台本1 音声 ===
LRA high: -26.4 LUFS
[out#0/null @ 0x9dec3c180] video:0KiB audio:2681KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
size=N/A time=00:01:25.80 bitrate=N/A speed=3.74e+03x elapsed=0:00:00.02
-- 無音(-40dB/0.4s)でBGM有無判定 --
0
=== 台本3 音声 ===
LRA high: -28.7 LUFS
[out#0/null @ 0x803044180] video:0KiB audio:1820KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: unknown
size=N/A time=00:00:58.24 bitrate=N/A speed=3.53e+03x elapsed=0:00:00.01
-- 無音(-40dB/0.4s)でBGM有無判定 --
0テロップ領域の主要色を抽出
python3 -c "
from PIL import Image
from collections import Counter
def dom(fn, box, label, n=6):
im=Image.open(fn).convert('RGB').crop(box)
c=Counter(im.getdata())
tot=sum(c.values())
print('##',label, box, '(%dpx)'%tot)
for col,cnt in c.most_common(n):
print(' #%02X%02X%02X %5.1f%%'%(col[0],col[1],col[2],100*cnt/tot))
dom('f1_itai.png',(240,840,860,1080),'台本① メインテロップ領域')
dom('f1_itai.png',(120,1580,960,1640),'台本① 下部固定帯')
dom('f3_white.png',(60,820,1020,1080),'台本③ メインテロップ(グラデ)')
dom('f3_white.png',(120,1660,960,1730),'台本③ 下部固定帯')
"結果
## 台本① メインテロップ領域 (240, 840, 860, 1080) (148800px) #FDFDFD 2.9% #0D1B31 0.8% #FEFCFD 0.8% #0A1B30 0.8% #091A30 0.7% #0A1B31 0.6% ## 台本① 下部固定帯 (120, 1580, 960, 1640) (50400px) #05172D 2.8% #08192F 2.3% #091B31 2.0% #091A30 1.6% #0A1C33 1.6% #021027 1.4% ## 台本③ メインテロップ(グラデ) (60, 820, 1020, 1080) (249600px) #FDFDFD 0.8% #ECE8DF 0.4% #ECE8DE 0.4% #ECE4DA 0.3% #FDFDFF 0.2% #FEFCFD 0.2% ## 台本③ 下部固定帯 (120, 1660, 960, 1730) (58800px) #D4D4D4 4.6% #D2D2D2 4.2% #D3D3D3 3.7% #D7D7D7 3.3% #D6D6D6 2.9% #D1D1D1 2.6%
過去動画のラウドネス測定
for n in 1 3; do echo "=== 台本$n ==="; ffmpeg -hide_banner -i "past_$n.wav" -af ebur128=framelog=quiet -f null - 2>&1 | grep -A6 "Integrated loudness"; done
結果
=== 台本1 ===
Integrated loudness:
I: -28.0 LUFS
Threshold: -38.2 LUFS
Loudness range:
LRA: 3.9 LU
Threshold: -48.3 LUFS
=== 台本3 ===
Integrated loudness:
I: -30.5 LUFS
Threshold: -40.5 LUFS
Loudness range:
LRA: 4.4 LU
Threshold: -50.6 LUFSBGM床レベルとSE候補の検出
python3 -c "
import numpy as np, wave
def load(fn):
w=wave.open(fn); n=w.getnframes(); sr=w.getframerate()
a=np.frombuffer(w.readframes(n),dtype=np.int16).astype(np.float32)/32768
return a,sr
for n in ['1','3']:
a,sr=load('past_%s.wav'%n)
win=int(sr*0.05); f=a[:len(a)//win*win].reshape(-1,win)
rms=20*np.log10(np.sqrt((f**2).mean(1))+1e-9)
lo,hi=np.percentile(rms,10),np.percentile(rms,90)
quiet=rms[rms<np.percentile(rms,20)]
print('台本%s: 全体RMS中央値 %.1fdB / 下位10%% %.1fdB / 上位10%% %.1fdB / 最小 %.1fdB'%(n,np.median(rms),lo,hi,rms.min()))
print(' 発話の谷(下位20%%)の平均 %.1fdB ← BGM床'%quiet.mean())
# transient detection
d=np.diff(rms); idx=np.where(d>9)[0]
times=[round(i*0.05,2) for i in idx]
merged=[]
for t in times:
if not merged or t-merged[-1]>0.35: merged.append(t)
print(' 立ち上がり候補(+9dB以上の急峻な立ち上がり) %d点: %s'%(len(merged),merged[:28]))
print()
"結果
台本1: 全体RMS中央値 -32.2dB / 下位10% -44.2dB / 上位10% -23.3dB / 最小 -74.9dB
発話の谷(下位20%)の平均 -45.3dB ← BGM床
立ち上がり候補(+9dB以上の急峻な立ち上がり) 105点: [np.float64(0.0), np.float64(0.6), np.float64(1.05), np.float64(2.45), np.float64(3.05), np.float64(3.7), np.float64(4.75), np.float64(5.55), np.float64(6.25), np.float64(6.7), np.float64(7.2), np.float64(8.0), np.float64(8.85), np.float64(9.5), np.float64(10.0), np.float64(10.95), np.float64(11.55), np.float64(12.05), np.float64(13.85), np.float64(14.75), np.float64(15.5), np.float64(16.45), np.float64(17.0), np.float64(17.4), np.float64(18.3), np.float64(18.9), np.float64(19.9), np.float64(20.9)]
台本3: 全体RMS中央値 -32.2dB / 下位10% -40.5dB / 上位10% -27.2dB / 最小 -61.8dB
発話の谷(下位20%)の平均 -41.2dB ← BGM床
立ち上がり候補(+9dB以上の急峻な立ち上がり) 58点: [np.float64(0.0), np.float64(1.55), np.float64(2.25), np.float64(2.75), np.float64(3.25), np.float64(3.65), np.float64(5.3), np.float64(6.0), np.float64(7.3), np.float64(7.7), np.float64(8.45), np.float64(9.05), np.float64(9.6), np.float64(10.25), np.float64(11.45), np.float64(12.2), np.float64(12.65), np.float64(13.85), np.float64(14.6), np.float64(15.3), np.float64(16.1), np.float64(16.95), np.float64(17.8), np.float64(18.45), np.float64(19.5), np.float64(20.3), np.float64(20.75), np.float64(22.15)]テイク単位の正確なIN/OUTを算出
python3 -c "
import json
d=json.load(open('tr_5597_w.json'))
words=[w for s in d['segments'] for w in s.get('words',[])]
print('words',len(words))
# group into utterances by gap>0.7s
groups=[]; cur=[]
for w in words:
if cur and w['start']-cur[-1]['end']>0.7:
groups.append(cur); cur=[]
cur.append(w)
if cur: groups.append(cur)
# merge groups into takes by gap>3.5s
takes=[]; curt=[groups[0]]
for g in groups[1:]:
if g[0]['start']-curt[-1][-1]['end']>3.5:
takes.append(curt); curt=[]
curt.append(g)
takes.append(curt)
for i,t in enumerate(takes,1):
s=t[0][0]['start']; e=t[-1][-1]['end']
txt=''.join(w['word'] for g in t for w in g)
print('T%02d %6.2f - %6.2f (%5.2fs) %s'%(i,s,e,e-s,txt.strip()[:95]))
"結果
words 567 T01 27.56 - 33.52 ( 5.96s) ソフェーブ痛いんでしょこれ一番聞かれます実はうちでは麻酔クリームは使っていません T02 40.54 - 50.34 ( 9.80s) ソフェーブ痛いんでしょうこれ一番聞かれます先に言っておくとうちでは麻酔クリームは使っていません T03 62.18 - 71.06 ( 8.88s) もう一つ先に診察して会わないと思ったら正直にお伝えしています無理な会員はいたしません T04 75.10 - 79.40 ( 4.30s) だから痛みが不安な方ほど聞くだけ聞きに来ていただけば T05 89.46 - 93.30 ( 3.84s) だから痛みが不安な方ほど聞くだけ聞きに来てほしいです T06 102.30 - 105.72 ( 3.42s) 白状すると僕痛みにとても弱いです T07 110.38 - 112.56 ( 2.18s) ひげ脱毛でも涙が出るぐらい T08 119.72 - 128.02 ( 8.30s) その僕が自分でソフェブを受けてみてあ、これなら大丈夫と思って導入を決めました T09 132.48 - 135.86 ( 3.38s) 痛みに弱い人間が自分で受けて決めた治療です T10 144.06 - 162.08 (18.02s) なんで麻酔クリームを使わないのかソフェブ本体にも冷却装置はついているんですけれどもうちはそこにもう一台専用の冷却器をつけていますしっかり冷やして痛みをとるので T11 166.14 - 177.60 (11.46s) クリームを塗って30分待つあの時間がもったいない当てているのは神秘の層です T12 194.28 - 207.60 (13.32s) この方は法令線に当てていますこの方は法令線を中心に当てています持ちは1回で半年から1年間 T13 212.12 - 214.18 ( 2.06s) 効果も持続も個人差はあります T14 218.26 - 221.82 ( 3.56s) フェイスラインや首元が気になる方も同じように見ています T15 231.16 - 237.68 ( 6.52s) 僕もともと脳神経外科医です20年間顔の皮膚の下に何があるかを見てきました T16 243.84 - 253.72 ( 9.88s) だからたるみ方を見て打つ場所、出力、それぞれ決めています決め打ちでは当てません T17 267.14 - 268.08 ( 0.94s) 価格です T18 271.92 - 281.52 ( 9.60s) 定価は16万5千円のところ79,800円効果を実感していただいた方には2回目も79,800円です T19 291.80 - 312.32 (20.52s) 効果を実感していただいた方には2回目も同じ価格です1回受けてもう一度と思った方一回受けてもう一度と思ったときに価格が上がりません T20 321.78 - 328.40 ( 6.62s) 痛みが不安な方こそ一度 T21 334.78 - 352.96 (18.18s) 痛みが不安な方こそ痛みが不安な方こそ一度お話を聞きに来てください会うかどうかはお顔を見てからその日に決めなくても大丈夫です T22 358.40 - 360.54 ( 2.14s) ご視聴ありがとうございました
文単位の正確な区切りを出力
python3 -c "
import json
d=json.load(open('tr_5597_w.json'))
words=[w for s in d['segments'] for w in s.get('words',[])]
groups=[]; cur=[]
for w in words:
if cur and w['start']-cur[-1]['end']>0.55:
groups.append(cur); cur=[]
cur.append(w)
if cur: groups.append(cur)
for g in groups:
s=g[0]['start']; e=g[-1]['end']
print('%6.2f - %6.2f (%5.2fs) %s'%(s,e,e-s,''.join(w['word'] for w in g).strip()))
"結果
27.56 - 30.44 ( 2.88s) ソフェーブ痛いんでしょこれ一番聞かれます 31.16 - 33.52 ( 2.36s) 実はうちでは麻酔クリームは使っていません 40.54 - 41.84 ( 1.30s) ソフェーブ痛いんでしょう 42.78 - 44.24 ( 1.46s) これ一番聞かれます 45.06 - 50.34 ( 5.28s) 先に言っておくとうちでは麻酔クリームは使っていません 62.18 - 63.92 ( 1.74s) もう一つ先に 66.02 - 71.06 ( 5.04s) 診察して会わないと思ったら正直にお伝えしています無理な会員はいたしません 75.10 - 79.40 ( 4.30s) だから痛みが不安な方ほど聞くだけ聞きに来ていただけば 89.46 - 93.30 ( 3.84s) だから痛みが不安な方ほど聞くだけ聞きに来てほしいです 102.30 - 105.72 ( 3.42s) 白状すると僕痛みにとても弱いです 110.38 - 112.56 ( 2.18s) ひげ脱毛でも涙が出るぐらい 119.72 - 128.02 ( 8.30s) その僕が自分でソフェブを受けてみてあ、これなら大丈夫と思って導入を決めました 132.48 - 135.86 ( 3.38s) 痛みに弱い人間が自分で受けて決めた治療です 144.06 - 146.12 ( 2.06s) なんで麻酔クリームを使わないのか 149.14 - 156.66 ( 7.52s) ソフェブ本体にも冷却装置はついているんですけれどもうちはそこにもう一台専用の冷却器をつけています 159.90 - 162.08 ( 2.18s) しっかり冷やして痛みをとるので 166.14 - 168.74 ( 2.60s) クリームを塗って30分待つ 171.06 - 172.98 ( 1.92s) あの時間がもったいない 175.58 - 177.60 ( 2.02s) 当てているのは神秘の層です 194.28 - 196.52 ( 2.24s) この方は法令線に当てています 199.78 - 202.54 ( 2.76s) この方は法令線を中心に当てています 204.86 - 207.60 ( 2.74s) 持ちは1回で半年から1年間 212.12 - 214.18 ( 2.06s) 効果も持続も個人差はあります 218.26 - 221.82 ( 3.56s) フェイスラインや首元が気になる方も同じように見ています 231.16 - 233.34 ( 2.18s) 僕もともと脳神経外科医です 234.20 - 237.68 ( 3.48s) 20年間顔の皮膚の下に何があるかを見てきました 243.84 - 249.36 ( 5.52s) だからたるみ方を見て打つ場所、出力、それぞれ決めています 252.18 - 253.72 ( 1.54s) 決め打ちでは当てません 267.14 - 268.08 ( 0.94s) 価格です 271.92 - 276.00 ( 4.08s) 定価は16万5千円のところ79,800円 276.76 - 281.52 ( 4.76s) 効果を実感していただいた方には2回目も79,800円です 291.80 - 299.86 ( 8.06s) 効果を実感していただいた方には2回目も同じ価格です 303.10 - 305.42 ( 2.32s) 1回受けてもう一度と思った方 307.76 - 312.32 ( 4.56s) 一回受けてもう一度と思ったときに価格が上がりません 321.78 - 328.40 ( 6.62s) 痛みが不安な方こそ一度 334.78 - 345.00 (10.22s) 痛みが不安な方こそ痛みが不安な方こそ一度お話を聞きに来てください 348.26 - 352.96 ( 4.70s) 会うかどうかはお顔を見てからその日に決めなくても大丈夫です 358.40 - 360.54 ( 2.14s) ご視聴ありがとうございました
🐉
Apollo(ミニ竜)2026-09-25 08:56
収録素材の画づくり(画角・服装・背景)を確認します。
⚙ Apolloの作業 5件(画像の確認 1件)08:56〜08:57
台本A素材のテイク頭フレーム一覧
F="/Users/[user]/Downloads/IMG_5597_fixed.MOV"; rm -f s97_*.png; i=0; for t in 28 46 67 91 103 121 150 167 176 195 205 232 245 272 292 308 336 349; do i=$((i+1)); ffmpeg -v error -y -ss $t -i "$F" -frames:v 1 -vf scale=180:320 $(printf "s97_%02d.png" $i); done; ffmpeg -v error -y -pattern_type glob -i "s97_*.png" -vf "tile=6x3:padding=6:color=0x222222" -frames:v 1 sheet97.png && ls -la sheet97.png
結果
(eval):1: no matches found: s97_*.png -rw-r--r--@ 1 mizunoryuutarou wheel 1356181 Sep 25 08:56 sheet97.png
ファイルを読む:sheet97.png
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/sheet97.png
テロップの実サイズを計測
python3 -c "
from PIL import Image
import numpy as np
def rows(fn,y0,y1,x0=0,x1=1080,thr=235,label=''):
im=np.array(Image.open(fn).convert('RGB'))[y0:y1,x0:x1]
mask=(im>thr).all(axis=2)
rs=mask.sum(1); cs=mask.sum(0)
ry=[i+y0 for i,v in enumerate(rs) if v>3]
cx=[i+x0 for i,v in enumerate(cs) if v>3]
if not ry: print(label,'該当なし'); return
print('%s 文字帯 y=%d〜%d (高さ%dpx) x=%d〜%d (幅%dpx)'%(label,ry[0],ry[-1],ry[-1]-ry[0]+1,cx[0],cx[-1],cx[-1]-cx[0]+1))
rows('f1_itai.png',820,1100,label='台本① メインテロップ2行')
rows('f1_itai.png',820,960,label='台本① メイン1行目')
rows('f1_itai.png',1560,1660,thr=215,label='台本① 下部固定帯')
rows('f1_hook.png',600,1000,label='台本① 0秒フック')
rows('f3_white.png',1640,1760,thr=215,label='台本③ 下部固定帯')
"結果
台本① メインテロップ2行 文字帯 y=820〜1099 (高さ280px) x=0〜798 (幅799px) 台本① メイン1行目 文字帯 y=820〜959 (高さ140px) x=0〜798 (幅799px) 台本① 下部固定帯 文字帯 y=1560〜1659 (高さ100px) x=0〜933 (幅934px) 台本① 0秒フック 文字帯 y=798〜987 (高さ190px) x=174〜905 (幅732px) 台本③ 下部固定帯 文字帯 y=1640〜1759 (高さ120px) x=178〜933 (幅756px)
下部固定帯の文字高さを行プロファイルで計測
python3 -c "
from PIL import Image
import numpy as np
im=np.array(Image.open('f1_itai.png').convert('RGB')).astype(int)
# 下部固定帯: 背景が暗い衣服。明るい画素のみ
reg=im[1550:1680,100:1000]
m=(reg.min(axis=2)>200)
prof=m.sum(1)
for i,v in enumerate(prof):
if v>0: print(1550+i, '#'*min(v//3,60), v)
" | head -60結果
1615 # 3 1616 ## 6 1617 #### 12 1618 ##### 17 1619 ###### 18 1620 ##################### 65 1621 ############################################################ 264 1622 ############################################################ 243 1623 ############################################################ 212 1624 ############################################################ 234 1625 ############################################################ 254 1626 ############################################################ 295 1627 ############################################################ 308 1628 ############################################################ 261 1629 ############################################################ 264 1630 ############################################################ 256 1631 ############################################################ 245 1632 ############################################################ 230 1633 ############################################################ 210 1634 ############################################################ 196 1635 ############################################################ 190 1636 ############################################################ 202 1637 ############################################################ 204 1638 ############################################################ 233 1639 ############################################################ 270 1640 ############################################################ 306 1641 ############################################################ 307 1642 ############################################################ 290 1643 ############################################################ 267 1644 ############################################################ 286 1645 ############################################################ 282 1646 ############################################################ 225 1647 ############################################################ 203 1648 ############################################################ 196 1649 ############################################################ 184 1650 ############################################################ 184 1651 ########################################################### 177 1652 ############################################################ 197 1653 ############################################################ 202 1654 ############################################################ 189 1655 ############################################################ 202 1656 ############################################################ 221 1657 ############################################################ 223 1658 ############################################################ 212 1659 ############################################################ 206 1660 ############################################################ 180 1661 ###################################################### 163 1662 ######################################### …(以下 224 文字省略)
メインテロップの行高さと位置を計測
python3 -c "
from PIL import Image
import numpy as np
im=np.array(Image.open('f1_itai.png').convert('RGB')).astype(int)
reg=im[820:1120,200:900]; m=(reg.min(axis=2)>200); prof=m.sum(1)
runs=[]; cur=None
for i,v in enumerate(prof):
if v>4 and cur is None: cur=i
if v<=4 and cur is not None: runs.append((820+cur,820+i-1)); cur=None
if cur is not None: runs.append((820+cur,820+len(prof)-1))
print('メインテロップ 行の帯:')
for a,b in runs: print(' y=%d〜%d 高さ%dpx'%(a,b,b-a+1))
cols=m.sum(0); cx=[i+200 for i,v in enumerate(cols) if v>4]
print(' x範囲 %d〜%d (幅%d, 中心%d)'%(cx[0],cx[-1],cx[-1]-cx[0]+1,(cx[0]+cx[-1])//2))
"結果
メインテロップ 行の帯: y=856〜948 高さ93px y=981〜1062 高さ82px x範囲 264〜798 (幅535, 中心531)
🐉
Apollo(ミニ竜)2026-09-25 08:57
素材・台本・過去動画の分析が揃いました。語りのラフカットを組みながら設計書を書きます。
⚙ Apolloの作業 3件08:57〜08:58
トーンマップ用フィルタの有無を確認
ffmpeg -hide_banner -filters 2>/dev/null | grep -E "^ .. (zscale|tonemap|libplacebo)" ; echo "---"; ffmpeg -hide_banner -filters 2>/dev/null | grep -cE "zscale"
結果
.S tonemap V->V Conversion to/from different dynamic ranges. --- 0
CTAブロックの単語タイムスタンプを確認
python3 -c "
import json
d=json.load(open('tr_5597_w.json'))
words=[w for s in d['segments'] for w in s.get('words',[])]
for w in words:
if 320<=w['start']<=356: print('%7.2f-%7.2f %s'%(w['start'],w['end'],w['word']))
"結果
321.78- 322.18 痛 322.18- 322.58 み 322.58- 322.72 が 322.72- 322.88 不 322.88- 323.02 安 323.02- 323.16 な 323.16- 323.38 方 323.38- 323.56 こ 323.56- 325.46 そ 325.46- 328.20 一 328.20- 328.40 度 334.78- 335.12 痛 335.12- 335.26 み 335.26- 335.40 が 335.40- 335.56 不 335.56- 335.66 安 335.66- 335.80 な 335.80- 336.00 方 336.00- 336.16 こ 336.16- 336.58 そ 336.58- 336.86 痛 336.86- 341.88 み 341.88- 342.02 が 342.02- 342.16 不 342.16- 342.30 安 342.30- 342.42 な 342.42- 342.60 方 342.60- 342.78 こ 342.78- 342.96 そ 342.96- 343.42 一 343.42- 343.60 度 343.60- 343.74 お 343.74- 343.94 話 343.94- 344.14 を 344.14- 344.30 聞 344.30- 344.40 き 344.40- 344.48 に 344.48- 344.58 来 344.58- 344.66 て 344.66- 345.00 ください 348.26- 348.60 会 348.60- 348.70 う 348.70- 348.84 か 348.84- 349.04 どう 349.04- 349.24 か 349.24- 349.42 は 349.42- 349.78 お 349.78- 349.96 顔 349.96- 350.10 を 350.10- 350.24 見て 350.24- 350.48 から 350.48- 351.14 その 351.14- 351.32 日 351.32- 351.46 に 351.46- 351.62 決 351.62- 351.72 め 351.72- 351.90 なく 351.90- 352.04 て 352.04- 352.16 も 352.16- 352.50 大丈夫 352.50- 352.96 です
価格ブロックの単語タイムスタンプ
python3 -c "
import json
d=json.load(open('tr_5597_w.json'))
words=[w for s in d['segments'] for w in s.get('words',[])]
out=[]
for w in words:
if 266<=w['start']<=313:
out.append('%7.2f %s'%(w['start'],w['word']))
print(' | '.join(out))
"結果
267.14 価 | 267.60 格 | 267.78 です | 271.92 定 | 272.38 価 | 272.58 は | 272.72 16 | 272.98 万 | 273.22 5 | 273.40 千 | 273.56 円 | 273.72 の | 273.82 ところ | 274.12 79, | 275.36 800 | 275.74 円 | 276.76 効 | 277.22 果 | 277.30 を | 277.42 実 | 277.60 感 | 277.80 して | 278.02 いただ | 278.26 いた | 278.46 方 | 278.64 には | 278.88 2 | 279.14 回 | 279.30 目 | 279.44 も | 279.62 79, | 280.66 800 | 281.06 円 | 281.24 です | 291.80 効 | 292.20 果 | 292.32 を | 292.42 実 | 292.58 感 | 292.80 して | 293.04 いただ | 293.24 いた | 297.16 方 | 297.34 には | 297.60 2 | 298.16 回 | 298.34 目 | 298.48 も | 298.66 同 | 299.06 じ | 299.20 価 | 299.38 格 | 299.52 です | 303.10 1 | 303.50 回 | 303.68 受 | 303.84 けて | 303.98 もう | 304.20 一 | 304.40 度 | 304.58 と思 | 305.02 った | 305.22 方 | 307.76 一 | 308.16 回 | 308.40 受 | 308.60 けて | 308.76 もう | 309.14 一 | 309.36 度 | 309.56 と思 | 310.18 った | 310.38 と | 310.52 き | 310.66 に | 310.92 価 | 311.28 格 | 311.44 が | 311.62 上 | 311.86 が | 311.92 り | 312.02 ません
🐉
Apollo(ミニ竜)2026-09-25 08:59
ラフカットを組みます。
⚙ Apolloの作業 5件08:59〜09:01
採用テイクの合計尺を算出
cat > segs.py <<'EOF'
SEGS = [
("01_フック", 40.29, 42.19, "ソフウェーブ、痛いんでしょう"),
("01_フック", 42.53, 44.59, "これ、いちばん聞かれます"),
("01_フック", 44.81, 50.69, "先に言っておくと、うちでは麻酔クリームは使っていません"),
("02_姿勢", 61.93, 64.27, "もう一つ先に"),
("02_姿勢", 65.77, 71.41, "診察して合わないと思ったら正直にお伝えしています。無理な勧誘はいたしません"),
("02_姿勢", 89.21, 93.65, "だから痛みが不安な方ほど、聞くだけ聞きに来てほしいです"),
("03_院長体験", 102.05, 106.07, "白状すると、僕、痛みにとても弱いです"),
("03_院長体験", 110.13, 112.91, "髭脱毛でも涙が出るぐらい"),
("03_院長体験", 119.47, 128.37, "その僕が、自分でソフウェーブを受けてみて、あ、これなら大丈夫と思って、導入を決めました"),
("03_院長体験", 132.23, 136.21, "痛みに弱い人間が、自分で受けて決めた治療です"),
("04_機序", 143.81, 146.47, "なんで麻酔クリームを使わないのか"),
("04_機序", 148.89, 157.01, "ソフウェーブ本体にも冷却装置はついているんですけれども、うちはそこにもう一台、専用の冷却器をつけています"),
("04_機序", 165.89, 169.09, "クリームを塗って30分待つ"),
("04_機序", 170.81, 173.33, "あの時間がもったいない"),
("04_機序", 175.33, 177.95, "当てているのは真皮の層です"),
("05_症例", 204.61, 207.95, "持ちは1回で半年から1年間"),
("05_症例", 211.87, 214.53, "効果も持続も個人差はあります"),
("05_症例", 218.01, 222.17, "フェイスラインや首元が気になる方も、同じように見ています"),
("06_権威", 230.91, 233.69, "僕、もともと脳神経外科医です"),
("06_権威", 233.95, 238.03, "20年間、顔の皮膚の下に何があるかを見てきました"),
("06_権威", 243.59, 249.71, "だから、たるみ方を見て、打つ場所、出力、それぞれ決めています"),
("06_権威", 251.93, 254.07, "決め打ちでは当てません"),
("07_価格", 266.89, 268.43, "価格です"),
("07_価格", 271.67, 276.35, "定価は16万5千円のところ、79,800円"),
("07_価格", 276.51, 281.87, "効果を実感していただいた方には、2回目も79,800円です"),
("07_価格", 307.51, 312.67, "1回受けて、もう一度と思ったときに、価格が上がりません"),
("08_CTA", 334.53, 336.93, "痛みが不安な方こそ"),
("08_CTA", 342.71, 345.35, "一度お話を聞きに来てください"),
("08_CTA", 348.01, 353.31, "合うかどうかはお顔を見てから。その日に決めなくても大丈夫です"),
]
EOF
python3 -c "
from segs import SEGS
tot=sum(e-s for _,s,e,_ in SEGS)
print('セグメント数',len(SEGS),' 合計 %.2f秒 (%d分%02d秒)'%(tot,tot//60,tot%60))
from collections import OrderedDict
d=OrderedDict()
for b,s,e,_ in SEGS: d[b]=d.get(b,0)+(e-s)
for b,v in d.items(): print(' %-12s %5.2f秒'%(b,v))
"結果
セグメント数 29 合計 113.42秒 (1分53秒) 01_フック 9.84秒 02_姿勢 12.42秒 03_院長体験 19.68秒 04_機序 19.12秒 05_症例 10.16秒 06_権威 15.12秒 07_価格 16.74秒 08_CTA 10.34秒
語りラフカットを書き出し
python3 -c "
from segs import SEGS
import subprocess, os
SRC='/Users/[user]/Downloads/IMG_5597_fixed.MOV'
os.makedirs('cuts',exist_ok=True)
lines=[]
for i,(b,s,e,t) in enumerate(SEGS,1):
out='cuts/%02d.mov'%i
cmd=['ffmpeg','-v','error','-y','-ss',str(s),'-to',str(e),'-i',SRC,
'-c:v','hevc_videotoolbox','-profile:v','main10','-pix_fmt','p010le','-b:v','14M','-tag:v','hvc1',
'-color_primaries','bt2020','-color_trc','arib-std-b67','-colorspace','bt2020nc','-color_range','tv',
'-af','afade=t=in:st=0:d=0.05,afade=t=out:st=%.3f:d=0.05'%(e-s-0.05),
'-c:a','aac','-b:a','256k','-ar','48000','-ac','2',out]
subprocess.run(cmd,check=True)
lines.append(\"file '%s'\"%out)
open('concat.txt','w').write('\n'.join(lines)+'\n')
print('cut',len(SEGS))
" && ffmpeg -v error -y -f concat -safe 0 -i concat.txt -c copy -movflags +faststart "/Users/[user]/Downloads/ソフウェーブA_痛み×冷却_語りラフカット_v1.mov" && ffprobe -v error -show_entries format=duration -show_entries stream=width,height,codec_name,channels -of compact "/Users/[user]/Downloads/ソフウェーブA_痛み×冷却_語りラフカット_v1.mov"結果
cut 29 stream|codec_name=hevc|width=1080|height=1920| stream|codec_name=aac|channels=2 format|duration=114.415495
ラフカットを文字起こしで検証
ffmpeg -v error -y -i "/Users/[user]/Downloads/ソフウェーブA_痛み×冷却_語りラフカット_v1.mov" -ac 1 -ar 16000 rough.wav && python3 -c "
import mlx_whisper,json
r=mlx_whisper.transcribe('rough.wav',path_or_hf_repo='mlx-community/whisper-large-v3-turbo',language='ja',verbose=False)
for s in r['segments']: print('%6.1f-%6.1f %s'%(s['start'],s['end'],s['text'].strip()))
"結果
Command running in background with ID: bxpug8vil. Output is being written to: /private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/tasks/bxpug8vil.output. You will be notified when it completes. To check interim output, use Read on that file path.
完成尺タイムラインを算出
python3 -c "
from segs import SEGS
t=0
print('| # | ブロック | 完成尺IN | 完成尺OUT | 素材IN | 素材OUT | セリフ |')
print('|---|---|---|---|---|---|---|')
for i,(b,s,e,txt) in enumerate(SEGS,1):
d=e-s
print('| %d | %s | %02d:%05.2f | %02d:%05.2f | %.2f | %.2f | %s |'%(i,b,t//60,t%60,(t+d)//60,(t+d)%60,s,e,txt))
t+=d
print('合計 %.2f'%t)
"結果
| # | ブロック | 完成尺IN | 完成尺OUT | 素材IN | 素材OUT | セリフ | |---|---|---|---|---|---|---| | 1 | 01_フック | 00:00.00 | 00:01.90 | 40.29 | 42.19 | ソフウェーブ、痛いんでしょう | | 2 | 01_フック | 00:01.90 | 00:03.96 | 42.53 | 44.59 | これ、いちばん聞かれます | | 3 | 01_フック | 00:03.96 | 00:09.84 | 44.81 | 50.69 | 先に言っておくと、うちでは麻酔クリームは使っていません | | 4 | 02_姿勢 | 00:09.84 | 00:12.18 | 61.93 | 64.27 | もう一つ先に | | 5 | 02_姿勢 | 00:12.18 | 00:17.82 | 65.77 | 71.41 | 診察して合わないと思ったら正直にお伝えしています。無理な勧誘はいたしません | | 6 | 02_姿勢 | 00:17.82 | 00:22.26 | 89.21 | 93.65 | だから痛みが不安な方ほど、聞くだけ聞きに来てほしいです | | 7 | 03_院長体験 | 00:22.26 | 00:26.28 | 102.05 | 106.07 | 白状すると、僕、痛みにとても弱いです | | 8 | 03_院長体験 | 00:26.28 | 00:29.06 | 110.13 | 112.91 | 髭脱毛でも涙が出るぐらい | | 9 | 03_院長体験 | 00:29.06 | 00:37.96 | 119.47 | 128.37 | その僕が、自分でソフウェーブを受けてみて、あ、これなら大丈夫と思って、導入を決めました | | 10 | 03_院長体験 | 00:37.96 | 00:41.94 | 132.23 | 136.21 | 痛みに弱い人間が、自分で受けて決めた治療です | | 11 | 04_機序 | 00:41.94 | 00:44.60 | 143.81 | 146.47 | なんで麻酔クリームを使わないのか | | 12 | 04_機序 | 00:44.60 | 00:52.72 | 148.89 | 157.01 | ソフウェーブ本体にも冷却装置はついているんですけれども、うちはそこにもう一台、専用の冷却器をつけています | | 13 | 04_機序 | 00:52.72 | 00:55.92 | 165.89 | 169.09 | クリームを塗って30分待つ | | 14 | 04_機序 | 00:55.92 | 00:58.44 | 170.81 | 173.33 | あの時間がもったいない | | 15 | 04_機序 | 00:58.44 | 01:01.06 | 175.33 | 177.95 | 当てているのは真皮の層です | | 16 | 05_症例 | 01:01.06 | 01:04.40 | 204.61 | 207.95 | 持ちは1回で半年から1年間 | | 17 | 05_症例 | 01:04.40 | 01:07.06 | 211.87 | 214.53 | 効果も持続も個人差はあります | | 18 | 05_症例 | 01:07.06 | 01:11.22 | 218.01 | 222.17 | フェイスラインや首元が気になる方も、同じように見ています | | 19 | 06_権威 | 01:11.22 | 01:14.00 | 230.91 | 233.69 | 僕、もともと脳神経外科医です | | 20 | 06_権威 | 01:14.00 | 01:18.08 | 233.95 | 238.03 | 20年間、顔の皮膚の下に何があるかを見てきました | | 21 | 06_権威 | 01:18.08 | 01:24.20 | 243.59 | 249.71 | だから、たるみ方を見て、打つ場所、出力、それぞれ決めています | | 22 | 06_権威 | 01:24.20 | 01:26.34 | 251.93 | 254.07 | 決め打ちでは当てません | | 23 | 07_価格 | 01:26.34 | 01:27.88 | 266.89 | 268.43 | 価格です | | 24 | 07_価格 | 01:27.88 | 01:32.56 | 271.67 | 276.35 | 定価は16万5千円のところ、79,800円 | | 25 | 07_価格 | 01:32.56 | 01:37.92 | 276.51 | 281.87 | 効果を実感していただいた方には、2回目も79,800円です | | 26 | 07_価格 | 01:37.92 | 01:43.08 | 307.51 | 312.67 | 1回受けて、もう一度と思ったときに、価格が上がりません | | 27 | 08_CTA | 01:43.08 | 01:45.48 | 334.53 | 336.93 | 痛みが不安な方こそ | | 28 | 08_CTA | 01:45.48 | 01:48.12 | 342.71 | 345.35 | 一度お話を聞きに来てください | | 29 | 08_CTA | 01:48.12 | 01:53.42 | 348.01 | 353.31 | 合うかどうかはお顔を見てから。その日に決めなくても大丈夫です | 合計 113.42
ファイルを読む:bxpug8vil.output
/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/tasks/bxpug8vil.output
結果
1 Fetching 4 files: 0%| | 0/4 [00:00<?, ?it/s] Fetching 4 files: 100%|██████████| 4/4 [00:00<00:00, 100462.37it/s] 2 0%| | 0/11434 [00:00<?, ?frames/s] 25%|██▌ | 2900/11434 [00:01<00:04, 1717.94frames/s] 51%|█████ | 5848/11434 [00:03<00:03, 1785.77frames/s] 63%|██████▎ | 7148/11434 [00:04<00:02, 1514.77frames/s] 76%|███████▌ | 8674/11434 [00:05<00:01, 1402.46frames/s] 90%|█████████ | 10324/11434 [00:07<00:00, 1374.67frames/s] 100%|█████████▉| 11400/11434 [00:08<00:00, 1237.54frames/s] 100%|██████████| 11434/11434 [00:09<00:00, 1256.65frames/s] 3 0.0- 1.6 ソフェーブ痛いんでしょう? 4 2.4- 3.7 これ一番聞かれます 5 3.7- 7.5 先に言っておくと 6 7.5- 9.7 うちでは麻酔クリームは使っていません 7 9.7- 12.2 もう一つ先に 8 12.2- 15.8 診察して合わないと思ったら正直にお伝えしています 9 15.8- 17.6 無理な会員はいたしません 10 17.6- 20.1 だから痛みが不安な方ほど 11 20.1- 22.2 聞くだけ聞きに来てほしいんです 12 22.2- 26.3 白状すると僕痛みにとても弱いんです 13 26.3- 29.0 ひげ脱毛でも涙が出るぐらい 14 29.0- 30.7 その僕が 15 30.7- 34.9 自分でソフェーブを受けてみて 16 34.9- 38.0 これなら大丈夫と思って導入を決めました 17 38.0- 42.0 痛みに弱い人間が自分で受けて決めた治療です 18 42.0- 44.8 なんで麻酔クリームを使わないのか 19 44.8- 49.3 ソフェーブ本体にも冷却装置はついているんですけれども 20 49.3- 52.8 うちはそこにもう一台専用の冷却器をつけています 21 52.8- 56.1 クリームを塗って30分待つ 22 56.1- 58.5 あの時間がもったいない 23 58.5- 62.0 当てているのは神秘の層です 24 62.0- 64.6 持ちは1回で半年から1年間 25 64.6- 67.3 効果も持続も個人差はあります 26 67.3- 71.5 フェイスラインや首元が気になる方も同じように見ています 27 71.5- 75.0 僕もともと脳神経外科医です 28 75.0- 78.4 20年間顔の皮膚の下に何があるかを見てきました 29 78.4- 82.3 だからたるみ方を見て打つ場所 30 82.3- 84.6 出力それぞれ決めています 31 84.6- 86.7 決め打ちでは当てません 32 86.7- 88.2 価格です 33 88.2- 92.9 定価は16万5千円のところ79,800円 34 92.9- 95.6 効果を実感していただいた方には 35 95.6- 98.2 2回目も79,800円です 36 98.2- 103.2 1回受けてもう一度と思った時に価格が上がりません 37 103.2- 106.7 痛みが不安な方こそ 38 106.7- 108.7 一度お話を聞きに来てください 39 108.7- 111.5 会うかどうかはお顔を見てから 40 111.5- 114.0 その日に決めなくても大丈夫です 41 114.0- 144.0 ご視聴ありがとうございました 42 43 [exited with code 0] 44
🐉
Apollo(ミニ竜)2026-09-25 09:01
ラフカットを検証しました。8ブロック全て台本順に並び、語りが途切れず1分53秒です。設計書を書きます。
⚙ Apolloの作業 7件09:04〜09:05
ファイルを書く:2026-09-25_台本A_ソフウェーブ痛み×冷却_編集設計書.md
# 台本A ソフウェーブ 痛み×冷却|編集設計書 作成 2026-09-25 / 担当 竜太朗 / クライアント アトラクレアビューティークリニック新宿(責任モデル A) 編集ソフト Adobe Premiere Pro + After Effects 台本 スプレッドシート gid=105「④台本_ソフウェーブA_痛み×冷却」v4最終確定版 症例 スプレッドシート gid=1871215363「症例写真掲載依頼」 --- ## 1. 結論 収録済みの `IMG_5597.MOV`(6分00秒)が台本Aの全8ブロックを含んでいました。使えるテイクを選んで語りをつないだラフカットを書き出し済みです。 - 成果物: `~/Downloads/ソフウェーブA_痛み×冷却_語りラフカット_v1.mov`(1分53秒 / 1080x1920 / 語り連続) - もう1本の `IMG_5596.MOV` は台本B(一人ひとり設計)の収録でした。今回は使いません。 想定尺との差が最大の論点です。台本は70秒設計ですが、先生の実際の話速で組むと**1分53秒**になります。台本が想定した毎秒8〜11字に対し、実収録は毎秒5.5字前後でした。尺を70秒に戻すには語りを削るしかなく、削り方は台本52行目の優先順に従う形になります。詳細は §7。 着手前に決めていただく必要がある項目が3件あります(§8)。うち1件(症例)は映像が成立しなくなるため、先に片付ける必要があります。 --- ## 2. 素材の実測結果 ### 2-1. 今回の収録素材 | ファイル | 尺 | 中身 | 判定 | |---|---|---|---| | IMG_5597.MOV | 6分00秒 | 台本A(痛み×冷却)全8ブロック | 今回使用 | | IMG_5596.MOV | 6分12秒 | 台本B(一人ひとり設計)全ブロック | 台本B制作時に使用 | どちらも音声が右チャンネルだけに入っていたため、両チャンネルに複製した修正版(`_fixed`)を作成済みです。編集には修正版を使ってください。 ### 2-2. 技術仕様と過去動画との差 | 項目 | 今回の収録素材 | 過去動画(台本①・③) | 対応 | |---|---|---|---| | 解像度 | 1080x1920 | 1080x1920 | 一致 | | フレームレート | 30fps | 29.97fps | シーケンスは29.97で作り、素材側を合わせる | | コーデック | HEVC 10bit | H.264 8bit | Premiereで中間コーデック(ProRes 422)に変換推奨 | | 色空間 | **BT.2020 / HLG(HDR)** | **BT.709(SDR)** | **要変換。後述** | | 音声 | ステレオ48kHz | ステレオ48kHz | 一致 | **色空間の変換が必須です。** 今回の収録はiPhoneのHDR(HLG)で、過去動画はSDRです。そのままPremiereに置くと、先生のカットだけ白っぽく眠い絵になり、過去素材と並べたときに明らかに浮きます。Lumetriカラーで入力LUTに「HLG to Rec.709」を当てるか、シーケンス設定のカラーマネジメントでRec.709固定にしてから調整してください。 ### 2-3. 画づくり 18箇所のテイク頭を確認しました。 - 画角 バストアップ固定。顔は画面中央からやや上。画面下2割は体と手で、字幕を置くスペースは確保できています - 背景 白い壁と木製のドア枠。モニターやカルテの映り込みはありません(台本49行目の条件を満たしています) - 手の所作 各テイクで自然に動いています。台本17行目が求めた「手元が自然に動く所作」は使えます - ピンマイク装着済み。環境ノイズは目立ちません **服装がグレーのスクラブです。** 台本49行目の指定は白衣で、過去動画(台本①・③)も全て白衣でした。今回だけスクラブになるため、同じ院長の連投として見たときにトーンが変わります。これは撮り直さない限り解消しません(§8-3)。 --- ## 3. テイク採用表 `IMG_5597_fixed.MOV` のタイムコードです。完成尺は上から順に並べた場合の位置です。 | # | ブロック | 完成尺 IN | 完成尺 OUT | 素材 IN | 素材 OUT | セリフ | |---|---|---|---|---|---|---| | 1 | ①フック | 0:00.00 | 0:01.90 | 40.29 | 42.19 | ソフウェーブ、痛いんでしょ …(以下 15248 文字省略)
結果
File created successfully at: /Users/[user]/adgeeks-apollo/clients/attracrea.jp/ads/2026-09-25_台本A_ソフウェーブ痛み×冷却_編集設計書.md (file state is current in your context — no need to Read it back)
執筆NG表現をチェック
cd /Users/[user]/adgeeks-apollo && F="clients/attracrea.jp/ads/2026-09-25_台本A_ソフウェーブ痛み×冷却_編集設計書.md" && echo "全角スラッシュ: $(grep -o '/' "$F" | wc -l)"; echo "em dash: $(grep -oE '—|──' "$F" | wc -l)"; echo "半角括弧: $(grep -oE '\([^)]*\)' "$F" | grep -vE '^\([a-zA-Z0-9_.:/, +-]*\)$' | head -5)"; echo "---"; grep -c '' "$F"
結果
全角スラッシュ: 34 em dash: 0 半角括弧: --- 518
全角スラッシュを半角に修正
F="clients/attracrea.jp/ads/2026-09-25_台本A_ソフウェーブ痛み×冷却_編集設計書.md" && python3 -c "
import io,sys
p='$F'
s=io.open(p,encoding='utf-8').read()
s=s.replace('/','/')
io.open(p,'w',encoding='utf-8').write(s)
" && echo "全角スラッシュ残: $(grep -o '/' "$F" | wc -l)" && ls -la "/Users/[user]/Downloads/ソフウェーブA_痛み×冷却_語りラフカット_v1.mov"結果
全角スラッシュ残: 0 -rw-r--r--@ 1 mizunoryuutarou staff 207844646 Sep 25 09:00 /Users/[user]/Downloads/ソフウェーブA_痛み×冷却_語りラフカット_v1.mov
設計書をコミットしてpush
git add "clients/attracrea.jp/ads/2026-09-25_台本A_ソフウェーブ痛み×冷却_編集設計書.md" && git commit -q -m "アトラクレア: 台本A(ソフウェーブ痛み×冷却)編集設計書を作成。収録素材のテイク採用表・過去動画のスタイル実測値・完成タイムライン・不足素材を確定 Co-Authored-By: Claude Opus 5 <[伏せ字]>" && git log --oneline -1 && echo "--- push ---" && git push -q origin main 2>&1 | tail -3 && echo "push OK"
結果
050467be7 アトラクレア: 台本A(ソフウェーブ痛み×冷却)編集設計書を作成。収録素材のテイク採用表・過去動画のスタイル実測値・完成タイムライン・不足素材を確定 --- push --- hint: its remote counterpart. If you want to integrate the remote changes, hint: use 'git pull' before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. push OK
push失敗後の同期状態を確認
git status -sb | head -3; echo "---"; git rev-list --left-right --count origin/main...main 2>/dev/null | awk '{print "behind="$1" ahead="$2}'結果
## main...origin/main [ahead 221, behind 2732] M clients/actwill.co.jp/articles/資金繰り_中小企業/資金繰り_中小企業_final_article.md M clients/actwill.co.jp/logs/2026-07.md --- behind=2732 ahead=221
アトラクレアのログファイルを確認
ls clients/attracrea.jp/logs/ 2>/dev/null | tail -3; F="clients/attracrea.jp/logs/2026-09.md"; [ -f "$F" ] && tail -3 "$F" || echo "(2026-09.md なし)"
結果
2026-08.md 2026-09-10_宮田MTG文字起こし_13-42-38-30.txt 2026-09.md 2026-09-24 20:59 | レポート生成 | §9-3-2追加:購入ベースで評価すると動画>権威性バナー(糸リフト¥5,033 vs ¥19,367・3.8倍)。タップ単価で判断した前版の結論を撤回。糸リフトはMeta購入5 vs B4A実予約1のズレあり 2026-09-25 00:36 | レポート生成 | §11 ソフウェーブ広告経由ROAS(8月7.58倍/9月6.15倍・B4A予約作成日基準で21件21件・15件15件突合)§12 糸リフトMeta購入5件 vs B4A入れ放題1件の差を分析(ソフウェーブへ流出の可能性・流入元78%空欄) 2026-09-25 06:13 | レポート生成 | §11 ROASを完了ベース本文採用に変更(8月3.45倍/9月2.81倍・9月は来院予定5件¥415,000残の注記付)。§12 糸リフト差分はキャンセル+他施術の両方と判明・二重カウントの疑いも記載。提出文にROASブロック追加
作業ログを追記してコミット
printf '%s\n' "2026-09-25 09:05 | 広告動画制作 | 台本A(ソフウェーブ痛み×冷却)編集設計書を作成。IMG_5597=台本A収録と特定し29カットのテイク採用表+完成尺1分53秒を確定(台本想定70秒との差を報告)。過去動画2本からテロップ実測値(白#FDFDFD/縁#0A1B30/字面82-93px/下帯45px/BGM差15-18dB/-28〜-30.5LUFS)を抽出。語りラフカットv1を書き出し。要確認3件(症例が全顔のみで語りと不整合・不足素材7点と元クリップ・服装がスクラブで過去動画と不一致)" >> clients/attracrea.jp/logs/2026-09.md && tail -1 clients/attracrea.jp/logs/2026-09.md | cut -c1-60 && git add clients/attracrea.jp/logs/2026-09.md && git commit -q -m "アトラクレア: 2026-09-25 台本A編集設計書作成をログ記録 Co-Authored-By: Claude Opus 5 <[伏せ字]>" && echo "commit OK"
結果
2026-09-25 09:05 | 広告動画制作 | 台本A(ソフウ� commit OK
📦
Apolloのアウトプット2026-09-25 09:05
台本A(ソフウェーブ 痛み×冷却)の編集設計書。テイク採用表・過去動画のスタイル実測値・完成タイムライン・不足素材を全て含んでいます。
📄 2026-09-25_台本A_ソフウェーブ痛み×冷却_編集設計書.md
# 台本A ソフウェーブ 痛み×冷却|編集設計書 作成 2026-09-25 / 担当 竜太朗 / クライアント アトラクレアビューティークリニック新宿(責任モデル A) 編集ソフト Adobe Premiere Pro + After Effects 台本 スプレッドシート gid=105「④台本_ソフウェーブA_痛み×冷却」v4最終確定版 症例 スプレッドシート gid=1871215363「症例写真掲載依頼」 --- ## 1. 結論 収録済みの `IMG_5597.MOV`(6分00秒)が台本Aの全8ブロックを含んでいました。使えるテイクを選んで語りをつないだラフカットを書き出し済みです。 - 成果物: `~/Downloads/ソフウェーブA_痛み×冷却_語りラフカット_v1.mov`(1分53秒 / 1080x1920 / 語り連続) - もう1本の `IMG_5596.MOV` は台本B(一人ひとり設計)の収録でした。今回は使いません。 想定尺との差が最大の論点です。台本は70秒設計ですが、先生の実際の話速で組むと**1分53秒**になります。台本が想定した毎秒8〜11字に対し、実収録は毎秒5.5字前後でした。尺を70秒に戻すには語りを削るしかなく、削り方は台本52行目の優先順に従う形になります。詳細は §7。 着手前に決めていただく必要がある項目が3件あります(§8)。うち1件(症例)は映像が成立しなくなるため、先に片付ける必要があります。 --- ## 2. 素材の実測結果 ### 2-1. 今回の収録素材 | ファイル | 尺 | 中身 | 判定 | |---|---|---|---| | IMG_5597.MOV | 6分00秒 | 台本A(痛み×冷却)全8ブロック | 今回使用 | | IMG_5596.MOV | 6分12秒 | 台本B(一人ひとり設計)全ブロック | 台本B制作時に使用 | どちらも音声が右チャンネルだけに入っていたため、両チャンネルに複製した修正版(`_fixed`)を作成済みです。編集には修正版を使ってください。 ### 2-2. 技術仕様と過去動画との差 | 項目 | 今回の収録素材 | 過去動画(台本①・③) | 対応 | |---|---|---|---| | 解像度 | 1080x1920 | 1080x1920 | 一致 | | フレームレート | 30fps | 29.97fps | シーケンスは29.97で作り、素材側を合わせる | | コーデック | HEVC 10bit | H.264 8bit | Premiereで中間コーデック(ProRes 422)に変換推奨 | | 色空間 | **BT.2020 / HLG(HDR)** | **BT.709(SDR)** | **要変換。後述** | | 音声 | ステレオ48kHz | ステレオ48kHz | 一致 | **色空間の変換が必須です。** 今回の収録はiPhoneのHDR(HLG)で、過去動画はSDRです。そのままPremiereに置くと、先生のカットだけ白っぽく眠い絵になり、過去素材と並べたときに明らかに浮きます。Lumetriカラーで入力LUTに「HLG to Rec.709」を当てるか、シーケンス設定のカラーマネジメントでRec.709固定にしてから調整してください。 ### 2-3. 画づくり 18箇所のテイク頭を確認しました。 - 画角 バストアップ固定。顔は画面中央からやや上。画面下2割は体と手で、字幕を置くスペースは確保できています - 背景 白い壁と木製のドア枠。モニターやカルテの映り込みはありません(台本49行目の条件を満たしています) - 手の所作 各テイクで自然に動いています。台本17行目が求めた「手元が自然に動く所作」は使えます - ピンマイク装着済み。環境ノイズは目立ちません **服装がグレーのスクラブです。** 台本49行目の指定は白衣で、過去動画(台本①・③)も全て白衣でした。今回だけスクラブになるため、同じ院長の連投として見たときにトーンが変わります。これは撮り直さない限り解消しません(§8-3)。 --- ## 3. テイク採用表 `IMG_5597_fixed.MOV` のタイムコードです。完成尺は上から順に並べた場合の位置です。 | # | ブロック | 完成尺 IN | 完成尺 OUT | 素材 IN | 素材 OUT | セリフ | |---|---|---|---|---|---|---| | 1 | ①フック | 0:00.00 | 0:01.90 | 40.29 | 42.19 | ソフウェーブ、痛いんでしょう | | 2 | ①フック | 0:01.90 | 0:03.96 | 42.53 | 44.59 | これ、いちばん聞かれます | | 3 | ①フック | 0:03.96 | 0:09.84 | 44.81 | 50.69 | 先に言っておくと、うちでは麻酔クリームは使っていません | | 4 | ②姿勢 | 0:09.84 | 0:12.18 | 61.93 | 64.27 | もう一つ先に | | 5 | ②姿勢 | 0:12.18 | 0:17.82 | 65.77 | 71.41 | 診察して合わないと思ったら正直にお伝えしています。無理な勧誘はいたしません | | 6 | ②姿勢 | 0:17.82 | 0:22.26 | 89.21 | 93.65 | だから痛みが不安な方ほど、聞くだけ聞きに来てほしいです | | 7 | ③院長体験 | 0:22.26 | 0:26.28 | 102.05 | 106.07 | 白状すると、僕、痛みにとても弱いです | | 8 | ③院長体験 | 0:26.28 | 0:29.06 | 110.13 | 112.91 | 髭脱毛でも涙が出るぐらい | | 9 | ③院長体験 | 0:29.06 | 0:37.96 | 119.47 | 128.37 | その僕が、自分でソフウェーブを受けてみて、あ、これなら大丈夫と思って、導入を決めました | | 10 | ③院長体験 | 0:37.96 | 0:41.94 | 132.23 | 136.21 | 痛みに弱い人間が、自分で受けて決めた治療です | | 11 | ④機序 | 0:41.94 | 0:44.60 | 143.81 | 146.47 | なんで麻酔クリームを使わないのか | | 12 | ④機序 | 0:44.60 | 0:52.72 | 148.89 | 157.01 | ソフウェーブ本体にも冷却装置はついているんですけれども、うちはそこにもう一台、専用の冷却器をつけています | | 13 | ④機序 | 0:52.72 | 0:55.92 | 165.89 | 169.09 | クリームを塗って30分待つ | | 14 | ④機序 | 0:55.92 | 0:58.44 | 170.81 | 173.33 | あの時間がもったいない | | 15 | ④機序 | 0:58.44 | 1:01.06 | 175.33 | 177.95 | 当てているのは真皮の層です | | 16 | ⑤症例 | 1:01.06 | 1:04.40 | 204.61 | 207.95 | 持ちは1回で半年から1年間 | | 17 | ⑤症例 | 1:04.40 | 1:07.06 | 211.87 | 214.53 | 効果も持続も個人差はあります | | 18 | ⑤症例 | 1:07.06 | 1:11.22 | 218.01 | 222.17 | フェイスラインや首元が気になる方も、同じように見ています | | 19 | ⑥権威 | 1:11.22 | 1:14.00 | 230.91 | 233.69 | 僕、もともと脳神経外科医です | | 20 | ⑥権威 | 1:14.00 | 1:18.08 | 233.95 | 238.03 | 20年間、顔の皮膚の下に何があるかを見てきました | | 21 | ⑥権威 | 1:18.08 | 1:24.20 | 243.59 | 249.71 | だから、たるみ方を見て、打つ場所、出力、それぞれ決めています | | 22 | ⑥権威 | 1:24.20 | 1:26.34 | 251.93 | 254.07 | 決め打ちでは当てません | | 23 | ⑦価格 | 1:26.34 | 1:27.88 | 266.89 | 268.43 | 価格です | | 24 | ⑦価格 | 1:27.88 | 1:32.56 | 271.67 | 276.35 | 定価は16万5千円のところ、79,800円 | | 25 | ⑦価格 | 1:32.56 | 1:37.92 | 276.51 | 281.87 | 効果を実感していただいた方には、2回目も79,800円です | | 26 | ⑦価格 | 1:37.92 | 1:43.08 | 307.51 | 312.67 | 1回受けて、もう一度と思ったときに、価格が上がりません | | 27 | ⑧CTA | 1:43.08 | 1:45.48 | 334.53 | 336.93 | 痛みが不安な方こそ | | 28 | ⑧CTA | 1:45.48 | 1:48.12 | 342.71 | 345.35 | 一度お話を聞きに来てください | | 29 | ⑧CTA | 1:48.12 | 1:53.42 | 348.01 | 353.31 | 合うかどうかはお顔を見てから。その日に決めなくても大丈夫です | ### 3-1. 不採用にしたテイクと理由 | 素材 IN-OUT | セリフ | 不採用の理由 | |---|---|---| | 27.56-33.52 | ソフウェーブ痛いんでしょ/実はうちでは麻酔クリームは使っていません | フックの1テイク目。台本の「先に言っておくと」が入っていない2テイク目より短い版。採用した3テイク目の方が台本どおり | | 159.90-162.08 | しっかり冷やして**痛みをとる**ので | **効果の言い切りに当たるため不使用を推奨。** 台本46行目が避けるよう指定した「効果を言い切って保証する言い方」に該当します。ここを抜いても「専用の冷却器をつけています」から「クリームを塗って30分待つ」へ語りはつながります | | 194.28-196.52 / 199.78-202.54 | この方はほうれい線を中心に当てています | **症例写真が全顔しかないため不使用。** §8-1 参照 | | 291.80-299.86 | 効果を実感していただいた方には2回目も同じ価格です | 文の途中に3.9秒の空白があり、つなぐと不自然。同義の 276.51-281.87 を採用 | | 303.10-305.42 | 1回受けてもう一度と思った方 | 言い直し前の短いテイク。完全な 307.51-312.67 を採用 | | 321.78-328.40 | 痛みが不安な方こそ一度 | 「一度」の後で止まっている未完成テイク | ### 3-2. つなぎに注意が必要な箇所 **#27 と #28 の間**(完成尺 1:45.48)。台本どおりの「痛みが不安な方こそ、一度お話を聞きに来てください」を1テイクで言い切った収録がなく、2つの発話をつないでいます。同じ画角どうしなので素のままだとジャンプカットになります。この位置に台本37行目が指定している間(密度の谷)を置くか、わずかにスケールを変えて切り替えてください。 --- ## 4. 過去動画の素材インベントリ 過去2本を全編確認し、どの素材がどこで使われているかを整理しました。今回の台本が要求するインサートと突き合わせています。 ### 4-1. 台本①(1分26秒) | 秒 | 素材 | 重ねていたテロップ | |---|---|---| | 0-2 | 先生トーク(診察室・白衣) | 脳外科医歴20年の院長が選んだ/たるみ治療!! | | 2-6 | **ソフウェーブ機器 全体像**(sofwaveロゴ) | 国内唯一の薬事承認 | | 6-8 | **施術カット**(ハンドピース+顔アップ) | メスも針も使わず/施術時間は約30分!! | | 8-14 | **施術カット**(横向き・赤茶タオル) | 肌の真皮層に作用/皮膚をひきしめコラーゲンを生成 | | 14-18 | 先生トーク | 効果が高いぶん/**痛い**(赤字) | | 18-22 | **施術カット+冷却ノズル** | 当院では/専用の冷却器を導入 | | 22-26 | **女性モデル メイク直し** | 施術後すぐにメイクOK!! | | 26-30 | **女性モデル 鏡前** | 忙しい方も隙間時間で受けられる | | 30-36 | 先生トーク | "神の手" 福島孝徳先生に師事/Duke Universityで頭部の解剖を研究 | | 36-40 | **手術シーン**(術衣・手元) | ミリ単位の技術を美容医療へ(縦書き) | | 40-46 | 先生トーク | 効果があるものを厳選して提供/美容外科歴30年 重本源先生に2年間師事 | | 48-50 | 光のエフェクト | 院長のもと選ばれたソフウェーブ | | 50-54 | **カウンセリング**(女性スタッフ+患者) | 一人一人丁寧にカウンセリング | | 54-60 | 先生トーク | あなたに本当に適した治療を!! | | 60-66 | 先生トーク | 無理な勧誘は一切ありません/迷っている方もお気軽にご相談ください | | 66-70 | **Attracreaロゴ**(ピンク背景・光の粒) | 2026年3月14日 新宿に開院! | | 70-78 | **価格面**(機器写真+ピンク背景) | 通常価格18万円/限定価格79,800円/55%OFF/キャンペーン中!! | | 78-86 | 先生トーク | このチャンスは開院直後の今だけ!!/まずはご相談から ▼▼▼ | ### 4-2. 台本③(58秒) | 秒 | 素材 | 特徴 | |---|---|---| | 0-4 | 施術カット全画面+**先生を左下に小窓(PIP)** | 先生の語りを流しながら施術を全画面で見せる構図 | | 4-12 | ソフウェーブ機器+先生PIP | 縦書きの黄色テロップを右端に使用 | | 12-20 | 機器+**肌の断面図**(角質層・表皮・真皮をオレンジのグラデで図示) | 台本の④機序が要求する断面図がここに既にあります | | 20-26 | カウンセリング/女性モデル | 冷却しながら照射するから/痛みはほぼゼロ!(赤) | | 26-32 | 先生トーク(**ピンク背景+Attracreaロゴ透かし**) | 経歴テロップを上下に配置。下部に「20年の経歴」+小さく注記 | | 32-36 | 手術シーン → **暗転+縦書き赤テロップ** | エビデンスが曖昧な治療が多い… | | 36-46 | 手術シーン/カウンセリング | 薬事承認済だからこそ/一人一人丁寧にカウンセリング | | 46-48 | 先生トーク | 合わないものは正直にお伝えします | | 48-54 | **価格面**(台本①と同一デザイン) | 通常価格18万円/限定価格79,800円/55%OFF | | 54-58 | **クリニック内観**(Attracreaサイン) | 残り枠わずか!!(赤帯)/まずはご相談から ▼▼▼▼ | ### 4-3. 今回の台本が要求するインサートと在庫の対応 | 台本が要求するカット | 過去動画での在庫 | 判定 | |---|---|---| | 頬からフェイスラインの肌アップ | 台本① 6-14秒の施術カット | 流用可 | | カウンセリング2ショット(斜め後ろ) | 台本① 50-54秒 | 流用可 | | 院長のデスク周り | なし | **不足** | | 冷却装置の実物アップ | 台本① 18-22秒に冷却ノズル付きの施術カットあり。装置単体のアップはなし | **一部不足** | | ハンドピースと冷風ノズルを肌に当てるフリ | 台本① 18-22秒 | 流用可 | | 演者がリラックスして施術を受けているアップ | 台本① 8-14秒 | 流用可 | | 肌の断面イラスト(表皮・真皮・脂肪層の3層) | 台本③ 12-20秒に断面図あり。ただし表示は角質層・表皮・真皮の2層構成 | **要改修**(脂肪層を足して真皮だけ光らせる) | | 施術後の演者がクリニックの外へ出て歩き出すカット | なし | **不足** | | 院長のデスクの資格証 | なし | **不足** | | タブレットに顔写真を映して指でなぞる手元 | なし | **不足** | | エンドカード(ロゴ+院名+価格+アクセス+ボタン) | 台本① 66-70秒のロゴ面、台本③ 54-58秒の内観が近い。台本指定の構成そのものはなし | **新規作成** | **過去動画はレンダリング済みのmp4です。** テロップが焼き込まれているため、そのまま切り出して使うと過去の文言が画面に残ります。流用可と書いたカットも、**元のクリップ素材(テロップを載せる前のファイル)が必要**です。§8-2 に必要な素材を一覧にしました。 --- ## 5. スタイル仕様 過去動画から実測した値です。測定は1080x1920の原寸フレームに対して行いました。 ### 5-1. メインテロップ | 項目 | 実測値 | |---|---| | 書体 | 太ウェイトの明朝体。縦線と横線のコントラストが強く、払いに明確な角がある | | 文字色 | #FDFDFD(ほぼ純白) | | 縁取り/影 | #0A1B30(濃紺に近い黒)。文字の下に落とす影として使用 | | 字面の高さ | 82〜93px(フォントサイズ換算で約95〜105px) | | 行間 | ベースライン間 125px | | 配置 | 水平センター(中心x=531、画面中心540に対しほぼ中央)/垂直は画面の45〜55%の帯 | | 行数 | 最大2行。1行あたり最大10文字前後 | 強調語には別処理が入ります。台本①の「痛い」は赤系の単色、台本③の「今一番オススメの治療です!!」は白からオレンジへのグラデーションに濃い茶色の縁と外側グローという構成でした。 書体の特定について。明朝体の太ウェイトであることは確実ですが、フォント名までは書き出し済みの映像からは断定できません。**過去動画のAdobeプロジェクトファイルがあれば、そこから拾うのが確実です。** ない場合、形状が近いAdobe Fontsの候補は「A-OTF 見出ミンMA31 Pr6N」「FOT-筑紫Aオールド明朝」「貂明朝」の3つです。実際に文字を置いて過去動画のフレームと重ねて確認してください。 ### 5-2. 下部の固定帯 | 項目 | 実測値 | |---|---| | 文言 | ソフウェーブ ¥79,800 55%OFF | | 書体 | 明朝体。数字部分はセリフ体 | | 字面の高さ | 45px(フォントサイズ換算で約50px) | | 縦位置 | y=1620〜1664。画面下端から256px上(画面高さの13.3%の位置) | | 色 | 白〜クリーム色の文字に金色寄りのオレンジの縁 | | 表示 | 全尺で常時表示 | **今回はこの帯の設計を変える必要があります。** 台本7行目が要求している限定解除表記(自由診療・施術名・治療内容・費用・主なリスクと副作用・お問い合わせ先)は、過去動画の1行帯には収まりません。§6-1 で新しい画面設計を提示します。 ### 5-3. 価格面 | 要素 | 色 | 備考 | |---|---|---| | 背景 | #F6E4DD(淡いピンクベージュ)+光の粒エフェクト | | | 通常価格の文字 | #FF8C92(サーモンピンク) | 白縁付き | | 金額「18万円」 | #FDFDFD(白) | ピンクの縁 | | 「限定価格」 | #FCCF00(黄) | | | 金額「79,800円」 | #DE3B6C(濃いピンク)+#FCCF00の縁 | 画面内で最大サイズ | | 「55%OFF」 | 淡い黄+緑のグロー | 円形バッジ風 | | 「キャンペーン中!!」 | 白+ピンクの縁 | | | 金額の書体 | 手書き風のポップ体(丸みのある太い筆画) | メインテロップの明朝体とは別書体 | ### 5-4. BGMと音声 | 項目 | 実測値 | |---|---| | BGM | 全編連続。-40dBを0.4秒以上下回る箇所が0だったため、途切れなく鳴っています | | BGMの音量 | 発話の谷の平均が台本① -45.3dB/台本③ -41.2dB。語りのピークとの差はおよそ15〜18dB | | 全体のラウドネス | 台本① -28.0 LUFS/台本③ -30.5 LUFS | | ラウドネスレンジ | 台本① 3.9 LU/台本③ 4.4 LU | **過去動画のラウドネスは -28〜-30.5 LUFS で、SNS動画としてはかなり小さい値です。** Meta・Instagramの標準は -14 LUFS前後で、このままだと他社の広告に挟まれたときに音量が明らかに小さく聞こえます。今回は **-14 LUFS / トゥルーピーク -1dBTP** で書き出すことを推奨します。BGMと語りの差は過去動画と同じ15〜18dBを維持してください。 効果音については、書き出し済みのミックスから語りとBGMを分離できないため、どのSEが何秒に入っているかは特定できませんでした。過去動画のプロジェクトファイルが手に入ればそこから拾えます。§6-3 に、台本の演出が求めるSEの入れどころを設計として提示しています。 --- ## 6. 完成タイムライン ### 6-1. 全編共通の画面設計 台本7行目の要求に沿って、9:16の画面を4段に分けます。先に固定してから中身を流し込んでください。 | 段 | 縦位置(1920基準) | 内容 | |---|---|---| | 上帯 | y=120〜175 | 「ソフウェーブの痛みが不安な方へ」。高さ40px程度の細い帯で常時表示 | | 中央コピー領域 | y=820〜1120 | メインテロップ。§5-1 の仕様どおり | | 字幕 | y=1480〜1620 | 先生のセリフ全文。1行あたり最大16文字、最大2行 | | 注記帯 | y=1650〜1860 | 限定解除表記と個人差注記。常時表示 | 注記帯に入れる文言は次のとおりです。文字サイズは32px以上を確保してください。 ``` 自由診療(公的医療保険適用外)/ソフウェーブ(約120ショット) 超音波を経皮的に照射し、顔面・頚部のしわの改善を図る施術。1回 費用:79,800円(税込) 主なリスク・副作用:赤み、ほてり、腫れ、色素沈着、まれに水疱・熱傷 お問い合わせ:アトラクレアビューティークリニック新宿 ※効果や持続には個人差があります ``` **①フックのブロックだけは例外です。** 台本7行目の指定どおり、注記帯を最下部1行に圧縮して中央のコピー領域を空けてください。 ### 6-2. ブロック別の設計 #### ①フック(0:00.00 - 0:09.84) | 項目 | 内容 | |---|---| | ベース映像 | 先生バストアップ。1フレーム目から話し始めている状態にする(頭に静止を残さない) | | インサート | 0:00.60 - 0:01.40 に頬からフェイスラインの肌アップを画面右下にワイプで0.8秒(語りは被せたまま) | | メインテロップ | 0:07.50 立ち上げ「麻酔クリーム、使いません」。最大サイズ | | 補助テロップ | 右上に小さく「脳神経外科医20年 院長」(0:00から常時) | | 字幕 | セリフ全文 | | SE | 「使いません」の語尾(0:07.50)に短い打撃系を1つ | | BGM | 0:00からフルレベルで入る。フェードインを付けない | #### ②姿勢(0:09.84 - 0:22.26) | 項目 | 内容 | |---|---| | ベース映像 | 先生バストアップ | | インサート | 0:13.00 - 0:16.00 にカウンセリング2ショットを斜め後ろから3秒(語りは被せたまま)。画面隅に小さく「カウンセリングイメージ」 | | メインテロップ | 0:12.20 「合わなければ、正直に言います」 | | 補助テロップ | 下部「無理な勧誘はしません」 | | 字幕 | セリフ全文 | | SE | メインテロップ立ち上げに1つ | #### ③院長体験(0:22.26 - 0:41.94) | 項目 | 内容 | |---|---| | ベース映像 | 先生が少し笑いながら話すカット。手の所作はそのまま残す | | インサート | 0:31.00 - 0:32.20 に院長のデスク周りを1.2秒(**素材不足**) | | メインテロップ | 0:37.96 「院長本人が、受けています」(2秒) | | 補助テロップ | 0:26.28 下部「髭脱毛では涙が出るほど、痛みに弱い」(2秒) | | 注記 | 読めるサイズで「※院長本人の体験です。感じ方には個人差があります」 | | 字幕 | セリフ全文 | | SE | 「導入を決めました」(0:37.96付近)に1つ | #### ④機序(0:41.94 - 1:01.06) 本編の密度の山です。語りを止めず、上に4つの素材を順に重ねます。 | 時間 | 重ねる素材 | テロップ | |---|---|---| | 0:49.50 - 0:52.00 | 冷却装置の実物アップ 2.5秒 全画面(**素材不足**) | 下部「本体の冷却に、専用の冷却装置を重ねる」 | | 0:52.72 - 0:54.72 | ハンドピースと冷風ノズルを肌に当てるフリ 2秒 | 画面隅「施術イメージ」 | | 0:55.92 - 0:57.42 | 演者がリラックスして施術を受けているアップ 1.5秒 | 下部「塗って待つ30分が、ありません」 | | 0:58.44 - 1:01.06 | 肌の断面イラストを画面右半分に(左に先生を残す) | 図解に「真皮の層」 | | 1:01.00 - 1:01.50 | 施術後の演者がクリニックの外へ出るカット 0.5秒フラッシュ(**素材不足**) | なし | 注記帯に「※痛みの感じ方には個人差があります」を追加表示してください。 断面図は台本③の既存図を改修します。現状は角質層・表皮・真皮の構成なので、脂肪層を足した3層にし、真皮の層だけが光るアニメーションを付けてください。 #### ⑤症例(1:01.06 - 1:11.22) **このブロックは §8-1 の確定待ちです。** 以下は確定後の設計です。 | 項目 | 内容 | |---|---| | ベース映像 | 症例写真を全画面で10秒フルに見せ切る。語りは写真の上に被せたまま | | 写真の加工 | トリミングのみ可。明るさ・肌・輪郭・体型の補正は不可 | | 写真上部 | 主訴の一言 | | 写真上 | 時点表示「1回・半年後」 | | 写真脇 | 「本症例の費用:165,000円(税込)・全顔・1回」+一段小さく「本症例の費用です。広告の価格とは異なります」 | | 下部 | 「1回で、半年から1年ほど」 | | 注記 | 「※効果や持続には個人差があります」 | | 価格の扱い | 症例を見せている間は注記帯の広告価格の強調を弱める | | 文字の置き方 | 写真に文字を重ねず、上下の帯へ逃がす | | SE | 写真の切り替わりに1つ。ブロック中は入れない | #### ⑥権威(1:11.22 - 1:26.34) | 時間 | 内容 | |---|---| | 1:14.00 - 1:18.08 | 経歴テロップを画面左に縦に積む。4枚を1枚あたり1.2秒以上。消さずに積み上げて4枚同時に読める状態で残す | | | 1枚目「脳神経外科医20年」/2枚目「福島孝徳先生に師事」/3枚目「Duke University留学」/4枚目「医学博士」 | | 1:18.08 - 1:18.88 | 院長のデスクの資格証を0.8秒(**素材不足**) | | 1:19.00 - 1:22.00 | タブレットに顔写真を映して当てる場所を指でなぞる手元を3秒(**素材不足**)。このカットがこのブロックで最も見せたい要素 | | 1:24.20 | 正面に戻る。下部「当てる場所と出力を、お一人ずつ」 | | SE | 経歴テロップ4枚それぞれの立ち上げに軽いものを1つずつ | 名前は語りに入れず、テロップだけで出します。 #### ⑦価格(1:26.34 - 1:43.08) | 時間 | 内容 | |---|---| | 1:26.34 - 1:26.84 | 白フラッシュ0.5秒。語りは被せたまま止めない | | 1:26.84 以降 | 先生を画面から消さない。上2/3に先生、下1/3に価格の面を重ねる | | 1:28.60 | 「定価 165,000円」を表示し、赤い取消線がスッと引かれる | | 1:31.00 | その下に「79,800円」を最大サイズ。すぐ下に一段小さく「ソフウェーブ 約120ショット・税込」 | | 1:35.50 | 右下に「2回目も、同じ価格。」のスタンプ | | SE | 取消線に1つ、79,800円の立ち上げに1つ(最も強いもの)、スタンプに1つ | 取消線とスタンプは79,800円より一段小さいサイズにして、同格に並べないでください。色は §5-3 の実測値に合わせます。 #### ⑧CTA(1:43.08 - 1:53.42) | 項目 | 内容 | |---|---| | ベース映像 | 先生が穏やかにカメラへ語りかけるバストアップ。ここだけ間を大きく取る | | メインテロップ | 2枚だけ。1:43.08「痛みが不安な方こそ」/1:48.12「その日に決めなくて、大丈夫です」 | | SE | なし。密度の谷として音を足さない | | BGM | 変えない | #### エンドカード(1:53.42 - 1:56.42 / 3秒) 無音の静止画1枚です。構成は次のとおり。 ``` アトラクレアビューティークリニック ロゴ アトラクレアビューティークリニック新宿 79,800円(税込) 京王線・都営地下鉄 新宿駅A1出口から徒歩1分 [ 詳しくはこちら ] ← ボタン風テロップ。最も目立たせる 下部に限定解除表記を常時表示 + ※効果や持続には個人差があります ``` 背景は台本①の66-70秒で使われていたピンク背景と光の粒を流用します。BGMはエンドカードの頭でフェードアウトさせず、最後まで鳴らして終端でカットしてください。 ### 6-3. SEの設計 過去動画からSEの特定ができなかったため、以下は台本の演出意図に沿った設計です。実際の音は過去動画のプロジェクトから拾うか、新規に選定してください。 | 用途 | 入れどころ | 性格 | |---|---|---| | メインテロップ立ち上げ | ①0:07.50 ②0:12.20 ③0:37.96 ⑧1:43.08 | 短い打撃系。0.2秒以内 | | 価格の強調 | ⑦1:28.60(取消線)/1:31.00(79,800円)/1:35.50(スタンプ) | 79,800円が最も強い。他は一段下 | | 経歴テロップ | ⑥1:14.00から4枚 | 軽い。積み上がる感じ | | フラッシュ | ⑦1:26.34 | 白フラッシュに同期 | | 症例・CTA | 入れない | 台本が「凝視させる」「間を取る」と指定しているため | SEの音量は語りのピークから-12dB程度に置いてください。 --- ## 7. 尺についての判断 実測1分53秒に対し、台本の設計は70秒です。 Meta広告の縦型としては1分53秒は長く、完走率が落ちます。短縮する場合は台本53行目が示した優先順の逆から削ります。 | 削る順 | ブロック | 削減 | 残り | |---|---|---|---| | 1 | ⑤症例 | -10.2秒 | 1分43秒 | | 2 | ⑥権威 | -15.1秒 | 1分28秒 | | 3 | ②姿勢 | -12.4秒 | 1分16秒 | **推奨は1分53秒のフル版をまず完成させることです。** 台本v4は語りの連続と密度の山谷で設計されていて、ブロックを抜くとその設計が崩れます。フル版を作ってから、広告入稿用に②姿勢を抜いた1分41秒版を派生させる形が、作り直しが最も少なくて済みます。 ただし⑤症例は §8-1 が未確定のため、先に決めていただかないとフル版が組めません。 --- ## 8. 確認していただきたいこと ### 8-1. 症例が台本の語りと合いません(最優先) 台本は「この方は、ほうれい線を中心に当てました」で撮る設計でしたが、**症例シートにあるソフウェーブ単独の症例は全て全顔です。** | CASE | 施術メニュー | 費用 | 判定 | |---|---|---|---| | CASE-0003 | ソフウェーブ全顔(額除く)、顎下、人中 | 228,000円 | 全顔 | | CASE-0004 | ソフウェーブ全顔 | 165,000円 | 全顔(台本の第一候補) | | CASE-0019 | ソフウェーブ全顔 | 165,000円 | 全顔 | | CASE-0020 | ソフウェーブ全顔+顎下 | 223,000円 | 全顔 | | CASE-0017 / 0018 | 糸リフト併用 | 併用のため不可 | 使えない | 台本27行目は「CASE-0004が確定した場合は語りを『この方は、全顔に当てました』へ差し替える」としていますが、**その言い回しは今回の収録に入っていません。** **推奨する対処:** ⑤症例ブロックの頭「この方は…」を使わず、「持ちは1回で半年から1年間」から入る構成にします。症例の範囲は写真とテロップ(「全顔・1回・半年後」)で示すので、語りと写真が食い違いません。§3 の採用表はこの形で組んであります。再撮影は不要です。 この対処で進めてよいか、それとも「全顔に当てました」を撮り直すかをご判断ください。 あわせて、使用するCASE番号の指定と、Instagram素材の二次利用可否の確認が必要です(台本27行目)。 ### 8-2. 不足している素材 次のカットは過去動画にも在庫がなく、撮影または作成が必要です。 | 素材 | 使用箇所 | 尺 | |---|---|---| | 院長のデスク周り | ③院長体験 0:31.00 | 1.2秒 | | 冷却装置の実物アップ | ④機序 0:49.50 | 2.5秒 | | 施術後の演者がクリニックの外へ出て歩き出すカット | ④機序 1:01.00 | 0.5秒 | | 院長のデスクの資格証 | ⑥権威 1:18.08 | 0.8秒 | | タブレットに顔写真を映して指でなぞる手元 | ⑥権威 1:19.00 | 3秒 | | エンドカード | 末尾 | 3秒(静止画・After Effectsで作成) | | 肌の断面図の改修(3層化・真皮を発光) | ④機序 0:58.44 | 2.6秒(既存図の改修) | 加えて、**過去動画で流用すると書いたカットは、テロップを載せる前の元クリップが必要です。** 過去動画のmp4はテロップが焼き込まれているため、切り出すと過去の文言が画面に残ります。次の元素材の所在を教えてください。 - ソフウェーブ機器の全体像 - 施術カット(ハンドピース+顔アップ/横向き・赤茶タオル/冷却ノズル付き) - カウンセリング2ショット - 演者のメイク直し・鏡前 - 手術シーン(術衣・手元) - Attracreaロゴ面とクリニック内観 過去動画のAdobeプロジェクトファイル(.prproj / .aep)があれば、フォント・SE・BGM・元クリップが一度に揃うので、それをいただくのが最短です。 ### 8-3. 服装が過去動画と違います 今回の収録はグレーのスクラブで、台本の指定と過去動画はどちらも白衣です。同じ院長の動画として連投したときにトーンが変わります。 このまま進めるか、白衣で撮り直すかのご判断をお願いします。編集で解消できる差ではありません。 ### 8-4. 台本の確定文言との差分(報告のみ) 収録が台本の文言と少しずれている箇所です。いずれも意味の骨格は保たれているため、このまま進めて問題ないと判断しています。 | ブロック | 台本の文言 | 実際の収録 | |---|---|---| | ②姿勢 | 正直にそうお伝えします | 正直にお伝えしています | | ③院長体験 | あ、これなら大丈夫だと思って | あ、これなら大丈夫と思って | | ⑥権威 | 当てる場所と出力を、お一人ずつ決めます | 打つ場所、出力、それぞれ決めています | | ⑦価格 | 2回目も同じ価格です | 2回目も79,800円です | ⑦価格の差分は、金額を明示している分むしろ審査上明確になるため、収録どおりで進める判断です。 なお台本47行目が指定していた保険テイク「1回受けていただいた方は、2回目も同じ価格です。」は**収録されていませんでした。** 審査で「効果を実感していただいた方には」に指摘が出た場合、差し替え素材がありません。 ### 8-5. 台本側の未確定事項(先生確認中) 台本に残っている未確定項目です。編集の着手は可能ですが、書き出し前に確定が必要です。 - 照射範囲を「全顔」と書けるか(確定するまで施術名は「ソフウェーブ(約120ショット)」のまま) - 165,000円での提供実績(二重価格の打ち消し表示の根拠。実績がない場合は打ち消しをやめて単価表示に切り替え) - 「塗って待つ30分」の院内基準(取れない場合は差し替えテイクが必要だが、今回の収録に該当テイクなし) - 照射体制(看護師照射の運用なら価格テロップに1行併記) --- ## 9. Adobeでの作業手順 1. Premiereで 1080x1920 / 29.97fps のシーケンスを作る 2. `IMG_5597_fixed.MOV` を読み込み、Lumetriで HLG から Rec.709 へ変換する。**先に色を決めてから編集に入る**(後から当てると全カットに当て直しになります) 3. §3 の採用表どおりに29カットを並べる。ラフカット `ソフウェーブA_痛み×冷却_語りラフカット_v1.mov` が並び順の確認用になります 4. §6-1 のセーフエリア4段を先に固定する。上帯・中央コピー・字幕・注記帯が重ならない高さを決めてから中身を流し込む 5. 注記帯と上帯を全尺に敷く(①フックだけは注記帯を最下部1行に圧縮) 6. 字幕を入れる。セリフ全文・1行16文字以内・最大2行 7. インサートを §6-2 のタイムコードに置く。**語りは切らない** 8. メインテロップをAfter Effectsで作る。書体と色は §5-1、価格面は §5-3 9. SEを §6-3 に従って配置する 10. BGMを全尺に敷く。語りとの差は15〜18dB 11. ラウドネスを -14 LUFS / トゥルーピーク -1dBTP に整える 12. スマートフォンの実機で、限定解除表記・リスクと副作用・字幕が読めるかを書き出したファイルで確認してから入稿する(台本52行目) --- ## 10. 成果物 | ファイル | 内容 | |---|---| | `~/Downloads/ソフウェーブA_痛み×冷却_語りラフカット_v1.mov` | 語りをつないだラフカット 1分53秒。並び順と尺の確認用 | | `~/Downloads/IMG_5597_fixed.MOV` | 台本A収録素材(音声両チャンネル・縦向き) | | `~/Downloads/IMG_5596_fixed.MOV` | 台本B収録素材(今回は未使用) | | 本ファイル | 編集設計書 |
✔ 当時送ったファイルそのもの
🐉
Apollo(ミニ竜)2026-09-25 09:05
添付いただいた
過去動画は -28〜-30.5 LUFS とSNS動画としてはかなり小さく、他社広告に挟まれると音量が明らかに負けます。今回は -14 LUFS で書き出すことを勧めます。
書体はフォント名までは断定できませんでした。過去動画のAdobeプロジェクトファイル(.prproj / .aep)があれば、フォント・SE・BGM・元クリップが一度に揃います。
先に決めていただきたいこと
1. 症例が語りと合いません。 台本は「ほうれい線を中心に当てました」で撮る設計でしたが、症例シートのソフウェーブ単独症例は CASE-0003 / 0004 / 0019 / 0020 の4件とも全顔です。台本が想定した差し替え文言「全顔に当てました」は今回の収録に入っていません。語りの頭を使わず「持ちは1回で半年から1年間」から入れば、写真とテロップで範囲を示せて食い違いが出ません。採用表はこの形で組んであります。この対処で進めるか、撮り直すかをご判断ください。
2. 不足素材が7点あります。 院長のデスク周り、冷却装置の実物アップ、資格証、タブレットの手元、施術後の外出カット、エンドカード、断面図の3層化です。加えて、過去動画はテロップが焼き込まれたmp4なので、流用するカットは元クリップが必要です。
3. 服装がグレーのスクラブです。 台本の指定も過去動画2本も白衣でした。編集では解消できません。
もうひとつ、「しっかり冷やして痛みをとるので」のテイクは効果の言い切りに当たるため不採用にしています。抜いても語りはつながります。
なお設計書はコミットしましたが、pushは失敗しています。 リポジトリが ahead 221 / behind 2732 で分岐しているためです。force pushはしません。同期は指示をください。
IMG_5597.MOV が台本Aの収録素材そのものでした。使えるテイクを選んで語りをつないだラフカットまで作ってあります。
成果物
- ~/Downloads/ソフウェーブA_痛み×冷却_語りラフカット_v1.mov(1分53秒)
- [編集設計書](clients/attracrea.jp/ads/2026-09-25_台本A_ソフウェーブ痛み×冷却_編集設計書.md)
ラフカットは文字起こしで検証済みです。8ブロック全てが台本順に並び、語りが途切れていません。
素材の確認結果
IMG_5597 が台本A(痛み×冷却)、IMG_5596 が台本B(一人ひとり設計)の収録でした。台本Aの8ブロック全てが収録されており、各ブロック2〜3テイクあります。29カットを選んで採用表にしました。素材のタイムコードと完成尺の位置を1カットずつ対応させてあるので、Premiereではその数字どおりに並べれば組み上がります。
尺が台本の想定と違います
台本は70秒設計ですが、先生の実際の話速で組むと1分53秒になります。台本が想定した毎秒8〜11字に対し、実収録は毎秒5.5字前後でした。
まずフル版を完成させることを勧めます。台本v4は語りの連続と密度の山谷で設計されているので、ブロックを抜くとその設計が崩れます。広告入稿用に短くするなら、台本の優先順どおり②姿勢を抜いて1分41秒にするのが作り直しが最も少ない形です。
過去動画から取った仕様
| 項目 | 実測値 |
|---|---|
| メインテロップ | 太ウェイトの明朝体・白 #FDFDFD・縁 #0A1B30・字面82〜93px・行間125px・画面中央 |
| 下部の固定帯 | 明朝体・字面45px・画面下端から256px上 |
| 価格の金額 | 手書き風ポップ体・79,800円は #DE3B6C に #FCCF00 の縁 |
| BGM | 全編連続。語りとの差15〜18dB |
| ラウドネス | -28.0 / -30.5 LUFS |
竜太朗さん(依頼 #5)2026-09-25 09:12
<local-command-stdout>Set model to
claude-opus-5-5</local-command-stdout>竜太朗さん(依頼 #6)2026-09-25 09:38
過去動画のAdobeプロジェクトファイル:[Google リンク・伏字]
撮影素材:[Google リンク・伏字]
これも使っていいから全て中身確認して
⚙ Apolloの作業 2件09:38〜09:38
Driveフォルダ2つの中身を再帰的に一覧
python3 - <<'EOF'
import sys, json, urllib.request, urllib.parse
sys.path.insert(0,'scripts/queue')
from helpers import get_access_token
t=get_access_token('info')
def ls(fid):
out=[]; tok=None
while True:
q={'q':f"'{fid}' in parents and trashed=false",'fields':'nextPageToken,files(id,name,mimeType,size,modifiedTime)','pageSize':1000,'supportsAllDrives':'true','includeItemsFromAllDrives':'true'}
if tok: q['pageToken']=tok
r=urllib.request.Request('https://www.googleapis.com/drive/v3/files?'+urllib.parse.urlencode(q),headers={'Authorization':'Bearer '+t})
d=json.load(urllib.request.urlopen(r)); out+=d.get('files',[]); tok=d.get('nextPageToken')
if not tok: return out
def walk(fid,depth=0,path=''):
for f in sorted(ls(fid),key=lambda x:x['name']):
folder=f['mimeType']=='application/vnd.google-apps.folder'
sz=int(f.get('size',0))/1e6
print(' '*depth+('📁 ' if folder else '- ')+f['name']+('' if folder else f' ({sz:.1f}MB) {f["mimeType"].split("/")[-1]} id={f["id"]}'))
if folder: walk(f['id'],depth+1)
for name,fid in [('プロジェクトファイル','[伏せ字]'),('撮影素材','[伏せ字]')]:
print('=====',name,'=====')
try: walk(fid)
except Exception as e: print('ERR',e)
EOF結果
===== プロジェクトファイル ===== - 20260307_a7c2_sh_0840.MP4 (134.5MB) mp4 id=[伏せ字] - 20260307_a7c2_sh_0843.MP4 (134.5MB) mp4 id=[伏せ字] - 20260307_a7c2_sh_0844.MP4 (134.5MB) mp4 id=[伏せ字] - 20260307_a7c2_sh_0856.MP4 (134.5MB) mp4 id=[伏せ字] - 20260307_a7c2_sh_0859.MP4 (67.4MB) mp4 id=[伏せ字] - 20260307_a7c2_sh_0860.MP4 (67.4MB) mp4 id=[伏せ字] - 20260307_a7c2_sh_0861.MP4 (67.4MB) mp4 id=[伏せ字] - 20260307_a7c2_sh_0867-001.MP4 (2751.8MB) mp4 id=[伏せ字] - 20260307_a7c2_sh_0868.MP4 (1543.8MB) mp4 id=[伏せ字] - Alex Zado - Fairy Elephant.wav (40.2MB) wav id=[伏せ字] - Generated Light Leak 9 (242bee85)_1080x1920.aegraphic (0.0MB) x-zip id=[伏せ字] - HP.png (2.9MB) png id=[伏せ字] - IMG_1788.mov (6.6MB) quicktime id=[伏せ字] - IMG_1789.HEIC (2.4MB) heif id=[伏せ字] - IMG_1793.HEIC (2.3MB) heif id=[伏せ字] - IMG_1796.HEIC (2.0MB) heif id=[伏せ字] - IMG_4855.MOV (18.1MB) quicktime id=[伏せ字] - IMG_4856.MOV (266.0MB) quicktime id=[伏せ字] - IMG_4857.MOV (446.8MB) quicktime id=[伏せ字] - IMG_4858.MOV (402.3MB) quicktime id=[伏せ字] - IMG_4859.MOV (322.9MB) quicktime id=[伏せ字] - IMG_4860.MOV (277.2MB) quicktime id=[伏せ字] - IMG_4861.MOV (261.5MB) quicktime id=[伏せ字] - IMG_4865.MOV (10.9MB) quicktime id=[伏せ字] - IMG_4868.MOV (11.4MB) quicktime id=[伏せ字] - IMG_4870.MOV (8.4MB) quicktime id=[伏せ字] - IMG_4876.MOV (8.4MB) quicktime id=[伏せ字] - IMG_4877.MOV (19.1MB) quicktime id=[伏せ字] - IMG_4879.MOV (15.1MB) quicktime id=[伏せ字] - IMG_4881.MOV (87.9MB) quicktime id=[伏せ字] - IMG_4882.MOV (159.1MB) quicktime id=[伏せ字] - IMG_4883.MOV (136.9MB) quicktime id=[伏せ字] - IMG_4884.MOV (190.3MB) quicktime id=[伏せ字] - IMG_4885.MOV (65.0MB) quicktime id=[伏せ字] - IMG_4886.MOV (246.4MB) quicktime id=[伏せ字] - IMG_4887.MOV (27.1MB) quicktime id=[伏せ字] - IMG_4889.MOV (24.0MB) quicktime id=[伏せ字] - IMG_4890.MOV (113.5MB) quicktime id=[伏せ字] - IMG_4891.MOV (111.0MB) quicktime id=[伏せ字] - IMG_4892.MOV (92.8MB) q …(以下 14679 文字省略)
重複確認と動画の尺・解像度を取得
python3 - <<'EOF'
import sys, json, urllib.request, urllib.parse
sys.path.insert(0,'scripts/queue')
from helpers import get_access_token
t=get_access_token('info')
def ls(fid):
q={'q':f"'{fid}' in parents and trashed=false",'fields':'files(id,name,mimeType,size,md5Checksum,videoMediaMetadata,imageMediaMetadata)','pageSize':1000,'supportsAllDrives':'true','includeItemsFromAllDrives':'true'}
r=urllib.request.Request('https://www.googleapis.com/drive/v3/files?'+urllib.parse.urlencode(q),headers={'Authorization':'Bearer '+t})
return json.load(urllib.request.urlopen(r))['files']
proj=ls('[伏せ字]')
root=ls('[伏せ字]')
pm={f['md5Checksum']:f['name'] for f in proj if 'md5Checksum' in f}
print('プロジェクト側',len(proj),'件')
only_root=[f for f in root if f['mimeType']!='application/vnd.google-apps.folder' and f.get('md5Checksum') not in pm]
print('撮影素材ルートのうちプロジェクト側に無いもの:',[f['name'] for f in only_root])
json.dump(proj,open('/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/drive_proj.json','w'),ensure_ascii=False,indent=1)
print()
for f in sorted(proj,key=lambda x:x['name']):
v=f.get('videoMediaMetadata') or {}
if v: print('%-34s %5.1fs %sx%s'%(f['name'],int(v.get('durationMillis',0))/1000,v.get('width'),v.get('height')))
EOF
df -h /private/tmp | tail -1結果
プロジェクト側 92 件 撮影素材ルートのうちプロジェクト側に無いもの: ['IMG_5596.MOV', 'IMG_5597.MOV'] 20260307_a7c2_sh_0840.MP4 11.0s 3840x2160 20260307_a7c2_sh_0843.MP4 10.5s 3840x2160 20260307_a7c2_sh_0844.MP4 10.5s 3840x2160 20260307_a7c2_sh_0856.MP4 11.0s 3840x2160 20260307_a7c2_sh_0859.MP4 8.5s 3840x2160 20260307_a7c2_sh_0860.MP4 7.5s 3840x2160 20260307_a7c2_sh_0861.MP4 9.5s 3840x2160 IMG_1788.mov 5.0s 1080x1920 IMG_4855.MOV 9.0s 2160x3840 IMG_4856.MOV 119.1s 2160x3840 IMG_4857.MOV 199.9s 2160x3840 IMG_4858.MOV 179.5s 2160x3840 IMG_4859.MOV 144.9s 2160x3840 IMG_4860.MOV 133.0s 2160x3840 IMG_4861.MOV 122.1s 2160x3840 IMG_4865.MOV 5.7s 2160x3840 IMG_4868.MOV 5.9s 2160x3840 IMG_4870.MOV 3.9s 2160x3840 IMG_4876.MOV 2.9s 2160x3840 IMG_4877.MOV 9.4s 2160x3840 IMG_4879.MOV 7.2s 2160x3840 IMG_4881.MOV 39.6s 2160x3840 IMG_4882.MOV 71.8s 2160x3840 IMG_4883.MOV 62.6s 2160x3840 IMG_4884.MOV 86.9s 2160x3840 IMG_4885.MOV 31.3s 2160x3840 IMG_4886.MOV 113.7s 2160x3840 IMG_4887.MOV 13.0s 2160x3840 IMG_4889.MOV 11.4s 2160x3840 IMG_4890.MOV 53.8s 2160x3840 IMG_4891.MOV 50.2s 2160x3840 IMG_4892.MOV 41.8s 2160x3840 IMG_4893.MOV 34.8s 2160x3840 IMG_4894.MOV 6.2s 2160x3840 IMG_4895.MOV 56.9s 2160x3840 IMG_4896.MOV 14.4s 2160x3840 IMG_4912.MOV 4.7s 2160x3840 IMG_4914.MOV 3.8s 2160x3840 IMG_4918.MOV 4.0s 2160x3840 IMG_4921.MOV 30.2s 2160x3840 IMG_4937.MOV 3.7s 2160x3840 IMG_4946.MOV 11.4s 2160x3840 IMG_4949.MOV 10.0s 2160x3840 IMG_4954.MOV 3.0s 2160x3840 IMG_4959.MOV 12.0s 2160x3840 IMG_4960.MOV 8.0s 2160x3840 IMG_4961.MOV 2.4s 2160x3840 IMG_4962.MOV 2.9s 2160x3840 IMG_4969.MOV 4.9s 2160x3840 /dev/disk3s5 228Gi 172Gi 21Gi 90% 1.3M 221M 1% /System/Volumes/Data
🐉
Apollo(ミニ竜)2026-09-25 09:38
空き容量が21GBなので、動画は全部落とさずDriveから直接ストリームで解析します。先にプロジェクトファイルを落として中身を読みます。
⚙ Apolloの作業 8件09:38〜09:42
プロジェクト・画像・音声ファイルをダウンロード
S=/private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/drive && mkdir -p $S && python3 - <<EOF
import sys, json, urllib.request
sys.path.insert(0,'scripts/queue')
from helpers import get_access_token
t=get_access_token('info')
proj=json.load(open('$S/../drive_proj.json'))
for f in proj:
n=f['name']; sz=int(f.get('size',0))
if n.endswith(('.prproj','.prin','.aegraphic','.png','.bmp','.HEIC','.xmp')) or (n.endswith(('.mp3','.wav')) ):
r=urllib.request.Request(f"https://www.googleapis.com/drive/v3/files/{f['id']}?alt=media&supportsAllDrives=true",headers={'Authorization':'Bearer '+t})
open(f"$S/{n}",'wb').write(urllib.request.urlopen(r).read())
print('ok')
EOF
ls -la $S | head -60; file "$S/アトラクレア_台本3.prproj"結果
ok total 140736 drwxr-xr-x@ 43 mizunoryuutarou wheel 1376 Sep 25 09:40 . drwx------@ 50 mizunoryuutarou wheel 1600 Sep 25 09:38 .. -rw-r--r--@ 1 mizunoryuutarou wheel 40162516 Sep 25 09:39 Alex Zado - Fairy Elephant.wav -rw-r--r--@ 1 mizunoryuutarou wheel 13682 Sep 25 09:39 Generated Light Leak 9 (242bee85)_1080x1920.aegraphic -rw-r--r--@ 1 mizunoryuutarou wheel 2896986 Sep 25 09:39 HP.png -rw-r--r--@ 1 mizunoryuutarou wheel 2421807 Sep 25 09:40 IMG_1789.HEIC -rw-r--r--@ 1 mizunoryuutarou wheel 2281514 Sep 25 09:40 IMG_1793.HEIC -rw-r--r--@ 1 mizunoryuutarou wheel 1994288 Sep 25 09:40 IMG_1796.HEIC -rw-r--r--@ 1 mizunoryuutarou wheel 5131258 Sep 25 09:40 SUMMER_TRIANGLE.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 276820 Sep 25 09:39 Swoosh Transition 28.wav -rw-r--r--@ 1 mizunoryuutarou wheel 26749 Sep 25 09:40 【AI音声】45%オフ!.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 31764 Sep 25 09:40 【AI音声】施術は約30分.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 36362 Sep 25 09:39 【AI音声】脳外科手術で….mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 28839 Sep 25 09:40 【AI音声】腫れも3日......落ち着き、(1).mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 65201 Sep 25 09:40 【AI音声】腫れを最小限に….mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 48065 Sep 25 09:39 【AI音声】通常18万円→9万8千円.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 76486 Sep 25 09:40 【AI音声】通常18万円のところ.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 3690571 Sep 25 09:39 しゅわしゅわハニーレモン350ml_2.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 85980 Sep 25 09:39 アトラクレア_台本3.prin -rw-r--r--@ 1 mizunoryuutarou wheel 25224 Sep 25 09:39 アトラクレア_台本3.prproj -rw-r--r--@ 1 mizunoryuutarou wheel 26496 Sep 25 09:40 キラッ1.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 49527 Sep 25 09:39 キラッ2.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 43257 Sep 25 09:40 シャキーン1.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 75858 Sep 25 09:40 チリン.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 86516 Sep 25 09:40 チーン1.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 9403 Sep 25 09:40 ナイフを投げる.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 10030 Sep 25 09:39 ビシッとツッコミ3.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 59161 Sep 25 09:40 ロゴ.png -rw-r--r--@ 1 mizunoryuutarou wheel 6220854 Sep 25 09:39 台本⑤静止画.bmp -rw-r--r--@ 1 mizunoryuutarou wheel 4474 Sep 25 09:39 台本⑤静止画.bmp.xmp -rw-r--r--@ 1 mizunoryuutarou wheel 18432 Sep 25 09:40 和太鼓でカカッ.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 38592 Sep 25 09:39 和太鼓でドドン.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 1515719 Sep 25 09:39 壁紙)ピンク、白、シンプル、キラキラ.png -rw-r--r--@ 1 mizunoryuutarou wheel 28800 Sep 25 09:40 拍子木2.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 21315 Sep 25 09:39 決定ボタンを押す1.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 12537 Sep 25 09:39 決定ボタンを押す13.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 23195 Sep 25 09:39 決定ボタンを押す22.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 23616 Sep 25 09:39 決定ボタンを押す41.mp3 -rw-r--r--@ 1 mizunoryuutarou wheel 46 …(以下 554 文字省略)
プロジェクトファイルを展開
cd /private/tmp/claude-501/-Users-mizunoryuutarou-adgeeks-apollo/8142a0cb-f583-406e-90d0-02f2c38e3425/scratchpad/drive && gunzip -c "アトラクレア_台本3.prproj" > p3.xml && gunzip -c "(修正4再)アトラクレアクリニック ショート9本(台本③以外).prproj" > p9.xml && gunzip -c "アトラクレア_台本3.prin" > p3in.xml 2>/dev/null; gunzip -c "(修正4再)アトラクレアクリニック ショート9本(台本③以外).prin" > p9in.xml 2>/dev/null; ls -la p*.xml; head -c 600 p3.xml; echo; echo ----; head -c 800 p3in.xml
結果
-rw-r--r--@ 1 mizunoryuutarou wheel 207428 Sep 25 09:41 p3.xml
-rw-r--r--@ 1 mizunoryuutarou wheel 85952 Sep 25 09:41 p3in.xml
-rw-r--r--@ 1 mizunoryuutarou wheel 20357985 Sep 25 09:41 p9.xml
-rw-r--r--@ 1 mizunoryuutarou wheel 2867024 Sep 25 09:41 p9in.xml
<?xml version="1.0" encoding="UTF-8" ?>
<PremiereData Version="3">
<Project ObjectRef="1"/>
<Project ObjectID="1" ClassID="62ad66dd-0dcd-42da-a660-6d8fbde94876" Version="45">
<Node Version="1">
<Properties Version="1">
<ProjectViewState.List ObjectID="2" ClassID="aab0946f-7a21-4425-8908-fafa2119e30e" Version="3">
<ProjectViewStates Version="1">
<ProjectViewState Version="1" Index="0">
<First>3a2abac6-f78a-4f3c-848a-c893a7b898e4</First>
<Second ObjectRef="1"/>
</ProjectViewState>
</ProjectViewStates>
<ProjectViewState ObjectID="1" ClassID="18f
----
0��� @� ���X B LinearFeatureVectorIndex:AudioClipAudioFP16-20250912Temporal:1.0.0 @� �� $� �� � �� �� h� ܙ P� Ĉ 8� �w o �f ^ |U �L dD �; L3 �* 4"