{"text": "大家好,我是小木頭。今天我發現用Deepseek V4 Flash配合Hyperframes做視頻,價廉物美。又能保持保料完成工作,真是蠻香的。事情的起因是這樣的,我的Codex額度用完了。與其馬上充值,我想著不如趁這個機會把Deepseek最近的V4 Flash接近Codex試一試。這期就跟你一起從零把它配好。配完當場用它基於Hyperframes,做一個視頻給你看看,效果確實不錯。為什麼挑V4 Flash?幾個點。首先,上下文有100萬Token,如常文件,寫在碼都夠用。另一方面,價格便宜,輸入每100萬Token1.4美元,輸出2.8美元。它本身還是個會推理的模型。更關鍵的一點是,它這次原生支持了OpenAI的Responses API,也就是Codex在用的那套協議。所以它能直接接近Codex,非常方便。先去Deepseek開放平台,建一個API Key,複製好。然後打開Codex的配置文件,加上這幾行。模型,寫Deepseek v4 Flash,Provider直到Deepseek。base URL就是API.Deepseek.com。注意別多此一句,加slash v1。key走環境變量。最重要的是這一行,while API要寫Responses,不是Chat。旧教程大多寫的是Chat。那是Deepseek早期只支持ChatCompletion的時候的寫法。現在v4 Flash原生支持Responses,再寫Chat,反而會出問題。這就是不少人照著老教程配不通的原因。對了,我這裡的key是演示用的假的API Key。你記得換成自己真的key哦。正好,設上環境變量,啟動Codex。頂上顯示Deepseek v4 Flash,就說明它已經在用Deepseek了。隨手發一句,讓它回個OK,能正常的回,這條鏈路就通了。配好了,咱們就來動真格的。我給它一個任務。用我平時做視頻的那個skills,做一期短視頻。講講agent裡面,skills是怎麼工作的。風格用我常用的糖果色快吧。接下來就交給它了。它先理解需求做規劃,然後一步步拍畫面,可以旁白,最後渲染。中間它會問我幾個問題,我就照著答就行。整個過程我加速給你看,該規劃的規劃,該寫的寫,該渲染的渲染,一步沒落。渲染完,出篇。這就是Deepseek剛做出來的視頻,一期講skills工作原理的短篇。你現在看到的,是它從我依據需求,一路做到成篇。回頭看這一套,配置沒想像中那麼麻煩,關鍵的就那一行Wire API。做視頻這種事,V4 Flash也能接得住,做得也不錯。速度和質量都在線,關鍵成本還很低。柔度用完那點焦慮一下就沒了。所以Codex加Deepseek V4 Flash,看起來做視頻真是蠻不錯的。當然了,它不僅僅是做視頻,大家還可以用它在Codex上。在Codex做許許多多自己日常工作當中,期望Agent幫助你完成的工作。這期要是對你有用,就一鍵三連支持一下吧。我是小木頭,我們下期見。- 下期見。- 下期見。- 下期見。- 下期見。- 下期見。- 下期見。- 下期見。- 下期見。", "segments": [{"id": 0, "seek": 0, "start": 0.0, "end": 30.0, "text": "大家好,我是小木頭。今天我發現用Deepseek V4 Flash配合Hyperframes做視頻,價廉物美。又能保持保料完成工作,真是蠻香的。事情的起因是這樣的,我的Codex額度用完了。與其馬上充值,我想著不如趁這個機會把Deepseek最近的V4 Flash接近Codex試一試。這期就跟你一起從零把它配好。配完當場用它基於Hyperframes,", "tokens": [50365, 15248, 11, 15914, 7322, 41437, 19921, 1543, 12074, 1654, 38927, 9254, 11089, 595, 405, 916, 691, 19, 20232, 38846, 14245, 38792, 610, 43277, 10907, 27333, 29940, 11, 45441, 17527, 231, 23516, 9175, 1543, 17047, 8225, 24302, 17694, 24302, 33404, 41509, 41315, 11, 6303, 1541, 164, 254, 119, 16017, 1546, 1543, 24675, 1546, 9147, 8698, 1541, 39425, 11, 14200, 34, 1429, 87, 10178, 235, 13127, 9254, 41665, 1543, 34127, 9572, 29098, 5708, 2347, 227, 40242, 11, 25246, 19382, 1960, 8238, 9759, 223, 6287, 46520, 16075, 11089, 595, 405, 916, 46777, 1546, 53, 19, 20232, 14468, 17463, 34, 1429, 87, 22099, 2257, 22099, 1543, 2664, 16786, 3111, 24131, 29567, 21068, 6306, 114, 42061, 38846, 2131, 1543, 38846, 14128, 13118, 21446, 9254, 11284, 26008, 19488, 38792, 610, 43277, 11], "temperature": 0, "avg_logprob": -0.19154012203216553, "compression_ratio": 1.215625, "no_speech_prob": 9.866572836525478e-12}, {"id": 1, "seek": 3000, "start": 30.0, "end": 59.980000000000004, "text": "做一個視頻給你看看,效果確實不錯。為什麼挑V4 Flash?幾個點。首先,上下文有100萬Token,如常文件,寫在碼都夠用。另一方面,價格便宜,輸入每100萬Token1.4美元,輸出2.8美元。它本身還是個會推理的模型。更關鍵的一點是,它這次原生支持了OpenAI的Responses API,也就是Codex在用的那套協議。所以它能直接接近Codex,非常方便。", "tokens": [50365, 10907, 8990, 27333, 29940, 17798, 16529, 4200, 11, 43076, 9319, 24293, 10376, 30967, 1543, 18987, 49067, 53, 19, 20232, 30, 23575, 3338, 8216, 1543, 36490, 11, 5708, 4438, 17174, 2412, 6879, 14099, 51, 8406, 11, 8238, 11279, 17174, 20485, 11, 4510, 104, 3581, 16337, 120, 7182, 31649, 9254, 1543, 22762, 2257, 39604, 11, 45441, 30921, 27364, 2415, 250, 11, 12290, 116, 14028, 23664, 6879, 14099, 51, 8406, 16, 13, 19, 39433, 11, 12290, 116, 7781, 17, 13, 23, 39433, 1543, 11284, 8802, 19847, 25583, 3338, 6236, 33597, 13876, 1546, 41908, 39823, 1543, 19002, 14899, 41668, 113, 1546, 19202, 1541, 11, 11284, 2664, 9487, 19683, 8244, 35488, 2289, 45569, 48698, 1546, 49, 13361, 892, 279, 9362, 11, 6404, 5620, 34, 1429, 87, 3581, 9254, 1546, 4184, 1881, 245, 5322, 242, 24686, 1543, 7239, 11284, 8225, 43297, 14468, 17463, 34, 1429, 87, 11, 14392, 9249, 27364, 1543, 51864], "temperature": 0, "avg_logprob": -0.10790844221372863, "compression_ratio": 1.1540616246498598, "no_speech_prob": 1.3151598733662784e-11}, {"id": 2, "seek": 6000, "start": 60.0, "end": 89.98, "text": "先去Deepseek開放平台,建一個API Key,複製好。然後打開Codex的配置文件,加上這幾行。模型,寫Deepseek v4 Flash,Provider直到Deepseek。base URL就是API.Deepseek.com。注意別多此一句,加slash v1。key走環境變量。最重要的是這一行,while API要寫Responses,不是Chat。", "tokens": [50365, 10108, 6734, 11089, 595, 405, 916, 8949, 12744, 16716, 15433, 11, 34157, 8990, 4715, 40, 12759, 11, 164, 97, 229, 8083, 121, 2131, 1543, 10213, 12467, 8949, 34, 1429, 87, 1546, 38846, 34719, 17174, 20485, 11, 9990, 5708, 2664, 23575, 8082, 1543, 41908, 39823, 11, 4510, 104, 11089, 595, 405, 916, 371, 19, 20232, 11, 12681, 85, 1438, 16186, 4511, 11089, 595, 405, 916, 1543, 17429, 12905, 5620, 4715, 40, 13, 11089, 595, 405, 916, 13, 1112, 1543, 40794, 16158, 6392, 17947, 2257, 34592, 11, 9990, 10418, 1299, 371, 16, 1543, 4119, 9575, 40063, 108, 47885, 26327, 26748, 1543, 8661, 24928, 24620, 32260, 8082, 11, 7723, 9362, 4275, 4510, 104, 49, 13361, 892, 279, 11, 7296, 41683, 1543, 51864], "temperature": 0, "avg_logprob": -0.21312816083923844, "compression_ratio": 1.1178571428571429, "no_speech_prob": 2.0472082362665844e-11}, {"id": 3, "seek": 9000, "start": 90.0, "end": 104.0, "text": "旧教程大多寫的是Chat。那是Deepseek早期只支持ChatCompletion的時候的寫法。現在v4 Flash原生支持Responses,再寫Chat,反而會出問題。", "tokens": [50365, 4479, 100, 21936, 29649, 3582, 6392, 4510, 104, 24620, 41683, 1543, 4184, 1541, 11089, 595, 405, 916, 21176, 16786, 14003, 35488, 41683, 14627, 14657, 313, 20643, 1546, 4510, 104, 11148, 1543, 12648, 85, 19, 20232, 19683, 8244, 35488, 49, 13361, 892, 279, 11, 8623, 4510, 104, 41683, 11, 22138, 11070, 6236, 7781, 17197, 1543, 51065], "temperature": 0, "avg_logprob": -0.20673299657887426, "compression_ratio": 1.0, "no_speech_prob": 1.9233748274616325e-11}, {"id": 4, "seek": 10400, "start": 104.0, "end": 114.0, "text": "這就是不少人照著老教程配不通的原因。對了,我這裡的key是演示用的假的API Key。你記得換成自己真的key哦。", "tokens": [50365, 2664, 5620, 1960, 15686, 4035, 32150, 19382, 10439, 21936, 29649, 38846, 1960, 19550, 1546, 42577, 1543, 45839, 11, 1654, 18771, 1546, 4119, 1541, 31382, 25696, 9254, 1546, 31706, 1546, 4715, 40, 12759, 1543, 2166, 30872, 36338, 11336, 17645, 8034, 4119, 14659, 1543, 50865], "temperature": 0, "avg_logprob": -0.13890418799027152, "compression_ratio": 1.0502092050209204, "no_speech_prob": 2.078822183837481e-11}, {"id": 5, "seek": 10400, "start": 114.0, "end": 124.0, "text": "正好,設上環境變量,啟動Codex。頂上顯示Deepseek v4 Flash,就說明它已經在用Deepseek了。", "tokens": [50865, 15789, 2131, 11, 39035, 5708, 40063, 108, 47885, 26327, 26748, 11, 3284, 253, 12572, 34, 1429, 87, 1543, 8313, 224, 5708, 46605, 25696, 11089, 595, 405, 916, 371, 19, 20232, 11, 3111, 4622, 11100, 11284, 25338, 3581, 9254, 11089, 595, 405, 916, 2289, 1543, 51365], "temperature": 0, "avg_logprob": -0.13890418799027152, "compression_ratio": 1.0502092050209204, "no_speech_prob": 2.078822183837481e-11}, {"id": 6, "seek": 12400, "start": 124.0, "end": 131.0, "text": "隨手發一句,讓它回個OK,能正常的回,這條鏈路就通了。", "tokens": [50365, 48890, 11389, 14637, 2257, 34592, 11, 21195, 11284, 8350, 3338, 9443, 11, 8225, 15789, 11279, 1546, 8350, 11, 2664, 31106, 46241, 230, 24658, 3111, 19550, 2289, 1543, 50715], "temperature": 0, "avg_logprob": -0.19652788606408525, "compression_ratio": 1.0857142857142856, "no_speech_prob": 2.0700141253882087e-11}, {"id": 7, "seek": 12400, "start": 131.0, "end": 140.0, "text": "配好了,咱們就來動真格的。我給它一個任務。用我平時做視頻的那個skills,做一期短視頻。", "tokens": [50715, 38846, 12621, 11, 8975, 109, 4623, 3111, 3763, 12572, 6303, 30921, 1546, 1543, 1654, 17798, 11284, 8990, 26443, 39517, 1543, 9254, 1654, 16716, 6611, 10907, 27333, 29940, 1546, 20754, 5161, 2565, 11, 10907, 2257, 16786, 5881, 255, 27333, 29940, 1543, 51165], "temperature": 0, "avg_logprob": -0.19652788606408525, "compression_ratio": 1.0857142857142856, "no_speech_prob": 2.0700141253882087e-11}, {"id": 8, "seek": 14000, "start": 140.0, "end": 150.0, "text": "講講agent裡面,skills是怎麼工作的。風格用我常用的糖果色快吧。", "tokens": [50365, 11932, 11932, 559, 317, 32399, 11, 5161, 2565, 1541, 11614, 41315, 1546, 1543, 22713, 30921, 9254, 1654, 11279, 9254, 1546, 48217, 9319, 17673, 10251, 6062, 1543, 50865], "temperature": 0, "avg_logprob": -0.17477392113727072, "compression_ratio": 1.032258064516129, "no_speech_prob": 1.7909337207688836e-11}, {"id": 9, "seek": 14000, "start": 150.0, "end": 158.0, "text": "接下來就交給它了。它先理解需求做規劃,然後一步步拍畫面,可以旁白,最後渲染。", "tokens": [50865, 40012, 3111, 28455, 17798, 11284, 2289, 1543, 11284, 10108, 13876, 17278, 32535, 32718, 10907, 2888, 237, 5087, 225, 11, 10213, 2257, 31429, 31429, 31113, 43822, 8833, 11, 6723, 4479, 223, 13558, 11, 20578, 9592, 110, 46568, 1543, 51265], "temperature": 0, "avg_logprob": -0.17477392113727072, "compression_ratio": 1.032258064516129, "no_speech_prob": 1.7909337207688836e-11}, {"id": 10, "seek": 15800, "start": 158.0, "end": 171.0, "text": "中間它會問我幾個問題,我就照著答就行。整個過程我加速給你看,該規劃的規劃,該寫的寫,該渲染的渲染,一步沒落。", "tokens": [50365, 5975, 11016, 11284, 6236, 11361, 1654, 23575, 3338, 17197, 11, 22020, 32150, 19382, 28223, 3111, 8082, 1543, 27662, 3338, 8816, 29649, 1654, 9990, 31217, 17798, 16529, 11, 22033, 2888, 237, 5087, 225, 1546, 2888, 237, 5087, 225, 11, 22033, 4510, 104, 1546, 4510, 104, 11, 22033, 9592, 110, 46568, 1546, 9592, 110, 46568, 11, 2257, 31429, 4913, 30848, 1543, 51015], "temperature": 0, "avg_logprob": -0.13491898491269066, "compression_ratio": 1.246031746031746, "no_speech_prob": 1.811406406815319e-11}, {"id": 11, "seek": 15800, "start": 171.0, "end": 179.0, "text": "渲染完,出篇。這就是Deepseek剛做出來的視頻,一期講skills工作原理的短篇。", "tokens": [51015, 9592, 110, 46568, 14128, 11, 7781, 20878, 229, 1543, 2664, 5620, 11089, 595, 405, 916, 16940, 10907, 29741, 1546, 27333, 29940, 11, 2257, 16786, 11932, 5161, 2565, 41315, 19683, 13876, 1546, 5881, 255, 20878, 229, 1543, 51415], "temperature": 0, "avg_logprob": -0.13491898491269066, "compression_ratio": 1.246031746031746, "no_speech_prob": 1.811406406815319e-11}, {"id": 12, "seek": 15800, "start": 179.0, "end": 185.0, "text": "你現在看到的,是它從我依據需求,一路做到成篇。", "tokens": [51415, 2166, 12648, 18032, 1546, 11, 1541, 11284, 21068, 1654, 3254, 251, 36841, 32535, 32718, 11, 2257, 24658, 10907, 4511, 11336, 20878, 229, 1543, 51715], "temperature": 0, "avg_logprob": -0.13491898491269066, "compression_ratio": 1.246031746031746, "no_speech_prob": 1.811406406815319e-11}, {"id": 13, "seek": 18500, "start": 185.0, "end": 194.0, "text": "回頭看這一套,配置沒想像中那麼麻煩,關鍵的就那一行Wire API。", "tokens": [50365, 8350, 19921, 4200, 32260, 1881, 245, 11, 38846, 34719, 4913, 7093, 12760, 5975, 20504, 38999, 17867, 102, 11, 14899, 41668, 113, 1546, 3111, 4184, 2257, 8082, 54, 621, 9362, 1543, 50815], "temperature": 0, "avg_logprob": -0.1583418035182823, "compression_ratio": 1.1980830670926517, "no_speech_prob": 1.551681179379205e-11}, {"id": 14, "seek": 18500, "start": 194.0, "end": 202.0, "text": "做視頻這種事,V4 Flash也能接得住,做得也不錯。速度和質量都在線,關鍵成本還很低。", "tokens": [50815, 10907, 27333, 29940, 33005, 6973, 11, 53, 19, 20232, 6404, 8225, 14468, 5916, 21632, 11, 10907, 5916, 6404, 30967, 1543, 31217, 13127, 12565, 43450, 26748, 7182, 3581, 31699, 11, 14899, 41668, 113, 11336, 8802, 7824, 4563, 41377, 1543, 51215], "temperature": 0, "avg_logprob": -0.1583418035182823, "compression_ratio": 1.1980830670926517, "no_speech_prob": 1.551681179379205e-11}, {"id": 15, "seek": 18500, "start": 202.0, "end": 205.0, "text": "柔度用完那點焦慮一下就沒了。", "tokens": [51215, 17238, 242, 13127, 9254, 14128, 4184, 8216, 4971, 99, 12358, 106, 8861, 3111, 4913, 2289, 1543, 51365], "temperature": 0, "avg_logprob": -0.1583418035182823, "compression_ratio": 1.1980830670926517, "no_speech_prob": 1.551681179379205e-11}, {"id": 16, "seek": 18500, "start": 205.0, "end": 210.0, "text": "所以Codex加Deepseek V4 Flash,看起來做視頻真是蠻不錯的。", "tokens": [51365, 7239, 34, 1429, 87, 9990, 11089, 595, 405, 916, 691, 19, 20232, 11, 4200, 21670, 10907, 27333, 29940, 6303, 1541, 164, 254, 119, 30967, 1546, 1543, 51615], "temperature": 0, "avg_logprob": -0.1583418035182823, "compression_ratio": 1.1980830670926517, "no_speech_prob": 1.551681179379205e-11}, {"id": 17, "seek": 18500, "start": 210.0, "end": 214.0, "text": "當然了,它不僅僅是做視頻,大家還可以用它在Codex上。", "tokens": [51615, 21707, 2289, 11, 11284, 1960, 9502, 227, 9502, 227, 1541, 10907, 27333, 29940, 11, 6868, 7824, 6723, 9254, 11284, 3581, 34, 1429, 87, 5708, 1543, 51815], "temperature": 0, "avg_logprob": -0.1583418035182823, "compression_ratio": 1.1980830670926517, "no_speech_prob": 1.551681179379205e-11}, {"id": 18, "seek": 21400, "start": 214.0, "end": 221.0, "text": "在Codex做許許多多自己日常工作當中,期望Agent幫助你完成的工作。", "tokens": [50365, 3581, 34, 1429, 87, 10907, 40914, 40914, 6392, 6392, 17645, 6890, 11279, 41315, 13118, 5975, 11, 16786, 22694, 32, 6930, 32187, 37618, 2166, 41509, 1546, 41315, 1543, 50715], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 19, "seek": 21400, "start": 221.0, "end": 225.0, "text": "這期要是對你有用,就一鍵三連支持一下吧。", "tokens": [50715, 2664, 16786, 4275, 1541, 2855, 43320, 9254, 11, 3111, 2257, 41668, 113, 10960, 36252, 35488, 8861, 6062, 1543, 50915], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 20, "seek": 21400, "start": 225.0, "end": 227.0, "text": "我是小木頭,我們下期見。", "tokens": [50915, 15914, 7322, 41437, 19921, 11, 5884, 4438, 16786, 10470, 1543, 51015], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 21, "seek": 21400, "start": 227.0, "end": 229.0, "text": "- 下期見。", "tokens": [51015, 12, 220, 4438, 16786, 10470, 1543, 51115], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 22, "seek": 21400, "start": 229.0, "end": 231.0, "text": "- 下期見。", "tokens": [51115, 12, 220, 4438, 16786, 10470, 1543, 51215], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 23, "seek": 21400, "start": 231.0, "end": 233.0, "text": "- 下期見。", "tokens": [51215, 12, 220, 4438, 16786, 10470, 1543, 51315], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 24, "seek": 21400, "start": 233.0, "end": 235.0, "text": "- 下期見。", "tokens": [51315, 12, 220, 4438, 16786, 10470, 1543, 51415], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 25, "seek": 21400, "start": 235.0, "end": 237.0, "text": "- 下期見。", "tokens": [51415, 12, 220, 4438, 16786, 10470, 1543, 51515], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 26, "seek": 21400, "start": 237.0, "end": 239.0, "text": "- 下期見。", "tokens": [51515, 12, 220, 4438, 16786, 10470, 1543, 51615], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 27, "seek": 21400, "start": 239.0, "end": 241.0, "text": "- 下期見。", "tokens": [51615, 12, 220, 4438, 16786, 10470, 1543, 51715], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}, {"id": 28, "seek": 21400, "start": 241.0, "end": 242.0, "text": "- 下期見。", "tokens": [51715, 12, 220, 4438, 16786, 10470, 1543, 51765], "temperature": 0, "avg_logprob": -0.2609538581427627, "compression_ratio": 1.6477272727272727, "no_speech_prob": 1.953354145101116e-11}], "language": "zh"}