charlesmccarthy / addwatermark
Add a watermark to your videos using the power of Replicate brought to you from your friends at FullJourney.AI
Prediction
charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57IDrijpf3rbyr4e55arjlerfuvejyStatusSucceededSourceWebHardwareCPUTotal durationCreatedInput
- size
- 40
- video
- watermark
- FULLJOURNEY.AI
{ "size": 40, "video": "https://replicate.delivery/pbxt/JzweHYSSY69C9uUq2wAcqX3suV9zdL3C6Ujk2hrxynOJ0JHm/vidswap600883.mp4", "watermark": "FULLJOURNEY.AI" }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run charlesmccarthy/addwatermark using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57", { input: { size: 40, video: "https://replicate.delivery/pbxt/JzweHYSSY69C9uUq2wAcqX3suV9zdL3C6Ujk2hrxynOJ0JHm/vidswap600883.mp4", watermark: "FULLJOURNEY.AI" } } ); // To access the file URL: console.log(output.url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run charlesmccarthy/addwatermark using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57", input={ "size": 40, "video": "https://replicate.delivery/pbxt/JzweHYSSY69C9uUq2wAcqX3suV9zdL3C6Ujk2hrxynOJ0JHm/vidswap600883.mp4", "watermark": "FULLJOURNEY.AI" } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run charlesmccarthy/addwatermark using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "version": "charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57", "input": { "size": 40, "video": "https://replicate.delivery/pbxt/JzweHYSSY69C9uUq2wAcqX3suV9zdL3C6Ujk2hrxynOJ0JHm/vidswap600883.mp4", "watermark": "FULLJOURNEY.AI" } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2023-12-05T22:32:15.135512Z", "created_at": "2023-12-05T22:32:13.002154Z", "data_removed": false, "error": null, "id": "rijpf3rbyr4e55arjlerfuvejy", "input": { "size": 40, "video": "https://replicate.delivery/pbxt/JzweHYSSY69C9uUq2wAcqX3suV9zdL3C6Ujk2hrxynOJ0JHm/vidswap600883.mp4", "watermark": "FULLJOURNEY.AI" }, "logs": "ffmpeg version 5.1.4-0+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers\nbuilt with gcc 12 (Debian 12.2.0-14)\nconfiguration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared\nlibavutil 57. 28.100 / 57. 28.100\nlibavcodec 59. 37.100 / 59. 37.100\nlibavformat 59. 27.100 / 59. 27.100\nlibavdevice 59. 7.100 / 59. 7.100\nlibavfilter 8. 44.100 / 8. 44.100\nlibswscale 6. 7.100 / 6. 7.100\nlibswresample 4. 7.100 / 4. 7.100\nlibpostproc 56. 6.100 / 56. 6.100\nInput #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/tmpzf079ddnvidswap600883.mp4':\nMetadata:\nmajor_brand : mp42\nminor_version : 0\ncompatible_brands: isommp42\ncreation_time : 2023-11-30T18:53:16.000000Z\ncom.android.version: 13\nDuration: 00:00:06.83, start: 0.000000, bitrate: 610 kb/s\nStream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt470bg/bt470bg/smpte170m, progressive), 596x480, 479 kb/s, 30 fps, 30 tbr, 90k tbn (default)\nMetadata:\ncreation_time : 2023-11-30T18:53:16.000000Z\nhandler_name : VideoHandle\nvendor_id : [0][0][0][0]\nStream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)\nMetadata:\ncreation_time : 2023-11-30T18:53:16.000000Z\nhandler_name : SoundHandle\nvendor_id : [0][0][0][0]\nStream mapping:\nStream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))\nStream #0:1 -> #0:1 (copy)\nPress [q] to stop, [?] for help\n[libx264 @ 0x5c4a79b24680] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2\n[libx264 @ 0x5c4a79b24680] profile High, level 3.0, 4:2:0, 8-bit\n[libx264 @ 0x5c4a79b24680] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00\nOutput #0, mp4, to '/tmp/tmpzf079ddnvidswap600883_watermarked.mp4':\nMetadata:\nmajor_brand : mp42\nminor_version : 0\ncompatible_brands: isommp42\ncom.android.version: 13\nencoder : Lavf59.27.100\nStream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt470bg/bt470bg/smpte170m, progressive), 596x480, q=2-31, 30 fps, 15360 tbn (default)\nMetadata:\ncreation_time : 2023-11-30T18:53:16.000000Z\nhandler_name : VideoHandle\nvendor_id : [0][0][0][0]\nencoder : Lavc59.37.100 libx264\nSide data:\ncpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A\nStream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)\nMetadata:\ncreation_time : 2023-11-30T18:53:16.000000Z\nhandler_name : SoundHandle\nvendor_id : [0][0][0][0]\nframe= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.99 bitrate= 0.4kbits/s speed= 151x\nframe= 150 fps=0.0 q=29.0 size= 0kB time=00:00:05.99 bitrate= 0.1kbits/s speed=11.7x\nframe= 205 fps=203 q=-1.0 Lsize= 493kB time=00:00:06.78 bitrate= 595.8kbits/s speed=6.71x\nvideo:379kB audio:106kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.710108%\n[libx264 @ 0x5c4a79b24680] frame I:1 Avg QP:20.26 size: 10425\n[libx264 @ 0x5c4a79b24680] frame P:87 Avg QP:22.68 size: 3243\n[libx264 @ 0x5c4a79b24680] frame B:117 Avg QP:26.57 size: 808\n[libx264 @ 0x5c4a79b24680] consecutive B-frames: 22.4% 2.9% 4.4% 70.2%\n[libx264 @ 0x5c4a79b24680] mb I I16..4: 17.3% 76.4% 6.3%\n[libx264 @ 0x5c4a79b24680] mb P I16..4: 3.6% 5.8% 0.2% P16..4: 44.2% 11.1% 4.1% 0.0% 0.0% skip:31.0%\n[libx264 @ 0x5c4a79b24680] mb B I16..4: 0.2% 0.2% 0.0% B16..8: 35.5% 1.8% 0.1% direct: 0.5% skip:61.7% L0:51.1% L1:47.3% BI: 1.5%\n[libx264 @ 0x5c4a79b24680] 8x8 transform intra:61.5% inter:89.7%\n[libx264 @ 0x5c4a79b24680] coded y,uvDC,uvAC intra: 32.4% 67.7% 4.7% inter: 8.7% 11.3% 0.0%\n[libx264 @ 0x5c4a79b24680] i16 v,h,dc,p: 22% 38% 14% 25%\n[libx264 @ 0x5c4a79b24680] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 28% 24% 3% 4% 5% 6% 4% 4%\n[libx264 @ 0x5c4a79b24680] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 37% 28% 14% 2% 4% 4% 4% 3% 3%\n[libx264 @ 0x5c4a79b24680] i8c dc,h,v,p: 44% 29% 18% 9%\n[libx264 @ 0x5c4a79b24680] Weighted P-Frames: Y:0.0% UV:0.0%\n[libx264 @ 0x5c4a79b24680] ref P L0: 71.3% 12.4% 12.9% 3.4%\n[libx264 @ 0x5c4a79b24680] ref B L0: 91.2% 7.4% 1.4%\n[libx264 @ 0x5c4a79b24680] ref B L1: 96.9% 3.1%\n[libx264 @ 0x5c4a79b24680] kb/s:453.21\nWatermarked video saved to /tmp/tmpzf079ddnvidswap600883_watermarked.mp4", "metrics": { "predict_time": 2.11727, "total_time": 2.133358 }, "output": "https://replicate.delivery/pbxt/nll0sjfsxGwbNy6A5zfIur4nlZM6An58NYas6ufKgdWd3qeHB/tmpzf079ddnvidswap600883_watermarked.mp4", "started_at": "2023-12-05T22:32:13.018242Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/rijpf3rbyr4e55arjlerfuvejy", "cancel": "https://api.replicate.com/v1/predictions/rijpf3rbyr4e55arjlerfuvejy/cancel" }, "version": "f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57" }
Generated inffmpeg version 5.1.4-0+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14) configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared libavutil 57. 28.100 / 57. 28.100 libavcodec 59. 37.100 / 59. 37.100 libavformat 59. 27.100 / 59. 27.100 libavdevice 59. 7.100 / 59. 7.100 libavfilter 8. 44.100 / 8. 44.100 libswscale 6. 7.100 / 6. 7.100 libswresample 4. 7.100 / 4. 7.100 libpostproc 56. 6.100 / 56. 6.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/tmpzf079ddnvidswap600883.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 creation_time : 2023-11-30T18:53:16.000000Z com.android.version: 13 Duration: 00:00:06.83, start: 0.000000, bitrate: 610 kb/s Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt470bg/bt470bg/smpte170m, progressive), 596x480, 479 kb/s, 30 fps, 30 tbr, 90k tbn (default) Metadata: creation_time : 2023-11-30T18:53:16.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] Stream #0:1[0x2](und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) Metadata: creation_time : 2023-11-30T18:53:16.000000Z handler_name : SoundHandle vendor_id : [0][0][0][0] Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (copy) Press [q] to stop, [?] for help [libx264 @ 0x5c4a79b24680] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x5c4a79b24680] profile High, level 3.0, 4:2:0, 8-bit [libx264 @ 0x5c4a79b24680] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to '/tmp/tmpzf079ddnvidswap600883_watermarked.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: isommp42 com.android.version: 13 encoder : Lavf59.27.100 Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt470bg/bt470bg/smpte170m, progressive), 596x480, q=2-31, 30 fps, 15360 tbn (default) Metadata: creation_time : 2023-11-30T18:53:16.000000Z handler_name : VideoHandle vendor_id : [0][0][0][0] encoder : Lavc59.37.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) Metadata: creation_time : 2023-11-30T18:53:16.000000Z handler_name : SoundHandle vendor_id : [0][0][0][0] frame= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.99 bitrate= 0.4kbits/s speed= 151x frame= 150 fps=0.0 q=29.0 size= 0kB time=00:00:05.99 bitrate= 0.1kbits/s speed=11.7x frame= 205 fps=203 q=-1.0 Lsize= 493kB time=00:00:06.78 bitrate= 595.8kbits/s speed=6.71x video:379kB audio:106kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.710108% [libx264 @ 0x5c4a79b24680] frame I:1 Avg QP:20.26 size: 10425 [libx264 @ 0x5c4a79b24680] frame P:87 Avg QP:22.68 size: 3243 [libx264 @ 0x5c4a79b24680] frame B:117 Avg QP:26.57 size: 808 [libx264 @ 0x5c4a79b24680] consecutive B-frames: 22.4% 2.9% 4.4% 70.2% [libx264 @ 0x5c4a79b24680] mb I I16..4: 17.3% 76.4% 6.3% [libx264 @ 0x5c4a79b24680] mb P I16..4: 3.6% 5.8% 0.2% P16..4: 44.2% 11.1% 4.1% 0.0% 0.0% skip:31.0% [libx264 @ 0x5c4a79b24680] mb B I16..4: 0.2% 0.2% 0.0% B16..8: 35.5% 1.8% 0.1% direct: 0.5% skip:61.7% L0:51.1% L1:47.3% BI: 1.5% [libx264 @ 0x5c4a79b24680] 8x8 transform intra:61.5% inter:89.7% [libx264 @ 0x5c4a79b24680] coded y,uvDC,uvAC intra: 32.4% 67.7% 4.7% inter: 8.7% 11.3% 0.0% [libx264 @ 0x5c4a79b24680] i16 v,h,dc,p: 22% 38% 14% 25% [libx264 @ 0x5c4a79b24680] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 28% 24% 3% 4% 5% 6% 4% 4% [libx264 @ 0x5c4a79b24680] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 37% 28% 14% 2% 4% 4% 4% 3% 3% [libx264 @ 0x5c4a79b24680] i8c dc,h,v,p: 44% 29% 18% 9% [libx264 @ 0x5c4a79b24680] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x5c4a79b24680] ref P L0: 71.3% 12.4% 12.9% 3.4% [libx264 @ 0x5c4a79b24680] ref B L0: 91.2% 7.4% 1.4% [libx264 @ 0x5c4a79b24680] ref B L1: 96.9% 3.1% [libx264 @ 0x5c4a79b24680] kb/s:453.21 Watermarked video saved to /tmp/tmpzf079ddnvidswap600883_watermarked.mp4
Prediction
charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57IDqyedtuzb4afkphcrea25mdtbzyStatusSucceededSourceWebHardwareCPUTotal durationCreatedInput
- size
- 119
- video
- watermark
- FULLJOURNEY.AI
{ "size": 119, "video": "https://replicate.delivery/pbxt/JzwfDJxaLGnAQID5LQYxWWVUzCOOOnOQ9MGMZjpOxQ6KB1HE/vidswap385792.mp4", "watermark": "FULLJOURNEY.AI" }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run charlesmccarthy/addwatermark using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57", { input: { size: 119, video: "https://replicate.delivery/pbxt/JzwfDJxaLGnAQID5LQYxWWVUzCOOOnOQ9MGMZjpOxQ6KB1HE/vidswap385792.mp4", watermark: "FULLJOURNEY.AI" } } ); // To access the file URL: console.log(output.url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run charlesmccarthy/addwatermark using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57", input={ "size": 119, "video": "https://replicate.delivery/pbxt/JzwfDJxaLGnAQID5LQYxWWVUzCOOOnOQ9MGMZjpOxQ6KB1HE/vidswap385792.mp4", "watermark": "FULLJOURNEY.AI" } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run charlesmccarthy/addwatermark using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "version": "charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57", "input": { "size": 119, "video": "https://replicate.delivery/pbxt/JzwfDJxaLGnAQID5LQYxWWVUzCOOOnOQ9MGMZjpOxQ6KB1HE/vidswap385792.mp4", "watermark": "FULLJOURNEY.AI" } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2023-12-05T22:33:55.072335Z", "created_at": "2023-12-05T22:33:30.394908Z", "data_removed": false, "error": null, "id": "qyedtuzb4afkphcrea25mdtbzy", "input": { "size": 119, "video": "https://replicate.delivery/pbxt/JzwfDJxaLGnAQID5LQYxWWVUzCOOOnOQ9MGMZjpOxQ6KB1HE/vidswap385792.mp4", "watermark": "FULLJOURNEY.AI" }, "logs": "ffmpeg version 5.1.4-0+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers\nbuilt with gcc 12 (Debian 12.2.0-14)\nconfiguration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared\nlibavutil 57. 28.100 / 57. 28.100\nlibavcodec 59. 37.100 / 59. 37.100\nlibavformat 59. 27.100 / 59. 27.100\nlibavdevice 59. 7.100 / 59. 7.100\nlibavfilter 8. 44.100 / 8. 44.100\nlibswscale 6. 7.100 / 6. 7.100\nlibswresample 4. 7.100 / 4. 7.100\nlibpostproc 56. 6.100 / 56. 6.100\nInput #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/tmp1f04rweyvidswap385792.mp4':\nMetadata:\nmajor_brand : isom\nminor_version : 512\ncompatible_brands: isomiso2avc1mp41\nDuration: 00:00:05.60, start: 0.000000, bitrate: 10549 kb/s\nStream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 3840x2160, 10546 kb/s, 25 fps, 25 tbr, 12800 tbn (default)\nMetadata:\nhandler_name : VideoHandler\nvendor_id : [0][0][0][0]\nStream mapping:\nStream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))\nPress [q] to stop, [?] for help\n[libx264 @ 0x5b1c2d366940] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2\n[libx264 @ 0x5b1c2d366940] profile High, level 5.1, 4:2:0, 8-bit\n[libx264 @ 0x5b1c2d366940] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00\nOutput #0, mp4, to '/tmp/tmp1f04rweyvidswap385792_watermarked.mp4':\nMetadata:\nmajor_brand : isom\nminor_version : 512\ncompatible_brands: isomiso2avc1mp41\nencoder : Lavf59.27.100\nStream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 3840x2160, q=2-31, 25 fps, 12800 tbn (default)\nMetadata:\nhandler_name : VideoHandler\nvendor_id : [0][0][0][0]\nencoder : Lavc59.37.100 libx264\nSide data:\ncpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A\nframe= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x\nframe= 26 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x\nframe= 45 fps= 38 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x\nframe= 47 fps= 17 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x\nframe= 54 fps= 17 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x\nframe= 59 fps= 15 q=28.0 size= 256kB time=00:00:00.00 bitrate=26891487.2kbits/s speed=1.98e-05x\nframe= 63 fps= 14 q=28.0 size= 512kB time=00:00:00.16 bitrate=26204.0kbits/s speed=0.0348x\nframe= 66 fps= 13 q=28.0 size= 512kB time=00:00:00.28 bitrate=14976.9kbits/s speed=0.054x\nframe= 70 fps= 12 q=28.0 size= 768kB time=00:00:00.44 bitrate=14297.1kbits/s speed=0.0741x\nframe= 75 fps= 11 q=28.0 size= 1024kB time=00:00:00.64 bitrate=13106.2kbits/s speed=0.0966x\nframe= 81 fps= 11 q=28.0 size= 1280kB time=00:00:00.88 bitrate=11915.0kbits/s speed=0.118x\nframe= 85 fps= 11 q=28.0 size= 1536kB time=00:00:01.04 bitrate=12098.4kbits/s speed=0.131x\nframe= 89 fps= 10 q=28.0 size= 1536kB time=00:00:01.20 bitrate=10485.4kbits/s speed=0.138x\nframe= 93 fps=9.9 q=28.0 size= 1792kB time=00:00:01.36 bitrate=10793.8kbits/s speed=0.144x\nframe= 96 fps=9.6 q=28.0 size= 2048kB time=00:00:01.48 bitrate=11335.6kbits/s speed=0.148x\nframe= 102 fps=9.5 q=28.0 size= 2304kB time=00:00:01.72 bitrate=10973.2kbits/s speed=0.16x\nframe= 106 fps=9.2 q=28.0 size= 2560kB time=00:00:01.88 bitrate=11154.8kbits/s speed=0.163x\nframe= 110 fps=9.1 q=28.0 size= 2560kB time=00:00:02.04 bitrate=10280.0kbits/s speed=0.169x\nframe= 113 fps=8.9 q=28.0 size= 2816kB time=00:00:02.16 bitrate=10679.7kbits/s speed=0.171x\nframe= 117 fps=8.8 q=28.0 size= 3072kB time=00:00:02.32 bitrate=10847.1kbits/s speed=0.174x\nframe= 122 fps=8.8 q=28.0 size= 3328kB time=00:00:02.52 bitrate=10818.5kbits/s speed=0.182x\nframe= 125 fps=8.7 q=28.0 size= 3328kB time=00:00:02.64 bitrate=10326.7kbits/s speed=0.183x\nframe= 130 fps=8.5 q=28.0 size= 3584kB time=00:00:02.84 bitrate=10337.9kbits/s speed=0.187x\nframe= 134 fps=8.4 q=28.0 size= 3840kB time=00:00:03.00 bitrate=10485.6kbits/s speed=0.188x\nframe= 139 fps=8.5 q=28.0 size= 4096kB time=00:00:03.20 bitrate=10485.6kbits/s speed=0.195x\nframe= 140 fps=6.1 q=-1.0 Lsize= 6895kB time=00:00:05.48 bitrate=10306.5kbits/s speed=0.238x\nvideo:6892kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.036047%\n[libx264 @ 0x5b1c2d366940] frame I:1 Avg QP:22.35 size:195187\n[libx264 @ 0x5b1c2d366940] frame P:39 Avg QP:22.18 size:102150\n[libx264 @ 0x5b1c2d366940] frame B:100 Avg QP:24.75 size: 28778\n[libx264 @ 0x5b1c2d366940] consecutive B-frames: 1.4% 2.9% 21.4% 74.3%\n[libx264 @ 0x5b1c2d366940] mb I I16..4: 18.7% 79.1% 2.2%\n[libx264 @ 0x5b1c2d366940] mb P I16..4: 6.3% 17.0% 0.4% P16..4: 48.4% 8.0% 1.7% 0.0% 0.0% skip:18.1%\n[libx264 @ 0x5b1c2d366940] mb B I16..4: 0.7% 1.0% 0.0% B16..8: 31.8% 1.7% 0.2% direct: 2.6% skip:61.9% L0:41.5% L1:56.1% BI: 2.4%\n[libx264 @ 0x5b1c2d366940] 8x8 transform intra:70.4% inter:94.9%\n[libx264 @ 0x5b1c2d366940] coded y,uvDC,uvAC intra: 33.2% 68.1% 8.9% inter: 6.5% 17.1% 0.0%\n[libx264 @ 0x5b1c2d366940] i16 v,h,dc,p: 45% 22% 11% 22%\n[libx264 @ 0x5b1c2d366940] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 34% 17% 21% 3% 5% 6% 5% 6% 3%\n[libx264 @ 0x5b1c2d366940] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 15% 10% 5% 10% 8% 7% 5% 1%\n[libx264 @ 0x5b1c2d366940] i8c dc,h,v,p: 45% 22% 27% 7%\n[libx264 @ 0x5b1c2d366940] Weighted P-Frames: Y:0.0% UV:0.0%\n[libx264 @ 0x5b1c2d366940] ref P L0: 71.7% 10.6% 14.5% 3.2%\n[libx264 @ 0x5b1c2d366940] ref B L0: 93.4% 5.2% 1.4%\n[libx264 @ 0x5b1c2d366940] ref B L1: 98.2% 1.8%\n[libx264 @ 0x5b1c2d366940] kb/s:10081.17\nWatermarked video saved to /tmp/tmp1f04rweyvidswap385792_watermarked.mp4", "metrics": { "predict_time": 24.663542, "total_time": 24.677427 }, "output": "https://replicate.delivery/pbxt/M8lfTzkMoeqePoGkRep2hr2nX7AeGg6yfl8hDRTSMj9kUX1fIA/tmp1f04rweyvidswap385792_watermarked.mp4", "started_at": "2023-12-05T22:33:30.408793Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/qyedtuzb4afkphcrea25mdtbzy", "cancel": "https://api.replicate.com/v1/predictions/qyedtuzb4afkphcrea25mdtbzy/cancel" }, "version": "f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57" }
Generated inffmpeg version 5.1.4-0+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14) configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared libavutil 57. 28.100 / 57. 28.100 libavcodec 59. 37.100 / 59. 37.100 libavformat 59. 27.100 / 59. 27.100 libavdevice 59. 7.100 / 59. 7.100 libavfilter 8. 44.100 / 8. 44.100 libswscale 6. 7.100 / 6. 7.100 libswresample 4. 7.100 / 4. 7.100 libpostproc 56. 6.100 / 56. 6.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/tmp1f04rweyvidswap385792.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 Duration: 00:00:05.60, start: 0.000000, bitrate: 10549 kb/s Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 3840x2160, 10546 kb/s, 25 fps, 25 tbr, 12800 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Press [q] to stop, [?] for help [libx264 @ 0x5b1c2d366940] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x5b1c2d366940] profile High, level 5.1, 4:2:0, 8-bit [libx264 @ 0x5b1c2d366940] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to '/tmp/tmp1f04rweyvidswap385792_watermarked.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf59.27.100 Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 3840x2160, q=2-31, 25 fps, 12800 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] encoder : Lavc59.37.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A frame= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x frame= 26 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x frame= 45 fps= 38 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x frame= 47 fps= 17 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x frame= 54 fps= 17 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x frame= 59 fps= 15 q=28.0 size= 256kB time=00:00:00.00 bitrate=26891487.2kbits/s speed=1.98e-05x frame= 63 fps= 14 q=28.0 size= 512kB time=00:00:00.16 bitrate=26204.0kbits/s speed=0.0348x frame= 66 fps= 13 q=28.0 size= 512kB time=00:00:00.28 bitrate=14976.9kbits/s speed=0.054x frame= 70 fps= 12 q=28.0 size= 768kB time=00:00:00.44 bitrate=14297.1kbits/s speed=0.0741x frame= 75 fps= 11 q=28.0 size= 1024kB time=00:00:00.64 bitrate=13106.2kbits/s speed=0.0966x frame= 81 fps= 11 q=28.0 size= 1280kB time=00:00:00.88 bitrate=11915.0kbits/s speed=0.118x frame= 85 fps= 11 q=28.0 size= 1536kB time=00:00:01.04 bitrate=12098.4kbits/s speed=0.131x frame= 89 fps= 10 q=28.0 size= 1536kB time=00:00:01.20 bitrate=10485.4kbits/s speed=0.138x frame= 93 fps=9.9 q=28.0 size= 1792kB time=00:00:01.36 bitrate=10793.8kbits/s speed=0.144x frame= 96 fps=9.6 q=28.0 size= 2048kB time=00:00:01.48 bitrate=11335.6kbits/s speed=0.148x frame= 102 fps=9.5 q=28.0 size= 2304kB time=00:00:01.72 bitrate=10973.2kbits/s speed=0.16x frame= 106 fps=9.2 q=28.0 size= 2560kB time=00:00:01.88 bitrate=11154.8kbits/s speed=0.163x frame= 110 fps=9.1 q=28.0 size= 2560kB time=00:00:02.04 bitrate=10280.0kbits/s speed=0.169x frame= 113 fps=8.9 q=28.0 size= 2816kB time=00:00:02.16 bitrate=10679.7kbits/s speed=0.171x frame= 117 fps=8.8 q=28.0 size= 3072kB time=00:00:02.32 bitrate=10847.1kbits/s speed=0.174x frame= 122 fps=8.8 q=28.0 size= 3328kB time=00:00:02.52 bitrate=10818.5kbits/s speed=0.182x frame= 125 fps=8.7 q=28.0 size= 3328kB time=00:00:02.64 bitrate=10326.7kbits/s speed=0.183x frame= 130 fps=8.5 q=28.0 size= 3584kB time=00:00:02.84 bitrate=10337.9kbits/s speed=0.187x frame= 134 fps=8.4 q=28.0 size= 3840kB time=00:00:03.00 bitrate=10485.6kbits/s speed=0.188x frame= 139 fps=8.5 q=28.0 size= 4096kB time=00:00:03.20 bitrate=10485.6kbits/s speed=0.195x frame= 140 fps=6.1 q=-1.0 Lsize= 6895kB time=00:00:05.48 bitrate=10306.5kbits/s speed=0.238x video:6892kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.036047% [libx264 @ 0x5b1c2d366940] frame I:1 Avg QP:22.35 size:195187 [libx264 @ 0x5b1c2d366940] frame P:39 Avg QP:22.18 size:102150 [libx264 @ 0x5b1c2d366940] frame B:100 Avg QP:24.75 size: 28778 [libx264 @ 0x5b1c2d366940] consecutive B-frames: 1.4% 2.9% 21.4% 74.3% [libx264 @ 0x5b1c2d366940] mb I I16..4: 18.7% 79.1% 2.2% [libx264 @ 0x5b1c2d366940] mb P I16..4: 6.3% 17.0% 0.4% P16..4: 48.4% 8.0% 1.7% 0.0% 0.0% skip:18.1% [libx264 @ 0x5b1c2d366940] mb B I16..4: 0.7% 1.0% 0.0% B16..8: 31.8% 1.7% 0.2% direct: 2.6% skip:61.9% L0:41.5% L1:56.1% BI: 2.4% [libx264 @ 0x5b1c2d366940] 8x8 transform intra:70.4% inter:94.9% [libx264 @ 0x5b1c2d366940] coded y,uvDC,uvAC intra: 33.2% 68.1% 8.9% inter: 6.5% 17.1% 0.0% [libx264 @ 0x5b1c2d366940] i16 v,h,dc,p: 45% 22% 11% 22% [libx264 @ 0x5b1c2d366940] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 34% 17% 21% 3% 5% 6% 5% 6% 3% [libx264 @ 0x5b1c2d366940] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 38% 15% 10% 5% 10% 8% 7% 5% 1% [libx264 @ 0x5b1c2d366940] i8c dc,h,v,p: 45% 22% 27% 7% [libx264 @ 0x5b1c2d366940] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x5b1c2d366940] ref P L0: 71.7% 10.6% 14.5% 3.2% [libx264 @ 0x5b1c2d366940] ref B L0: 93.4% 5.2% 1.4% [libx264 @ 0x5b1c2d366940] ref B L1: 98.2% 1.8% [libx264 @ 0x5b1c2d366940] kb/s:10081.17 Watermarked video saved to /tmp/tmp1f04rweyvidswap385792_watermarked.mp4
Prediction
charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57ID43znm3rbhtxvol6pjzne5eikxaStatusSucceededSourceWebHardwareCPUTotal durationCreatedInput
- size
- 240
- video
- watermark
- FULLJOURNEY.AI
{ "size": 240, "video": "https://replicate.delivery/pbxt/JzwghioyIP95E2VjbTzG0xoKPMgIWt8hNme4qKstawUUVEBu/video36031.mp4", "watermark": "FULLJOURNEY.AI" }
Install Replicate’s Node.js client library:npm install replicate
Import and set up the client:import Replicate from "replicate"; const replicate = new Replicate({ auth: process.env.REPLICATE_API_TOKEN, });
Run charlesmccarthy/addwatermark using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
const output = await replicate.run( "charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57", { input: { size: 240, video: "https://replicate.delivery/pbxt/JzwghioyIP95E2VjbTzG0xoKPMgIWt8hNme4qKstawUUVEBu/video36031.mp4", watermark: "FULLJOURNEY.AI" } } ); // To access the file URL: console.log(output.url()); //=> "http://example.com" // To write the file to disk: fs.writeFile("my-image.png", output);
To learn more, take a look at the guide on getting started with Node.js.
Install Replicate’s Python client library:pip install replicate
Import the client:import replicate
Run charlesmccarthy/addwatermark using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
output = replicate.run( "charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57", input={ "size": 240, "video": "https://replicate.delivery/pbxt/JzwghioyIP95E2VjbTzG0xoKPMgIWt8hNme4qKstawUUVEBu/video36031.mp4", "watermark": "FULLJOURNEY.AI" } ) print(output)
To learn more, take a look at the guide on getting started with Python.
Run charlesmccarthy/addwatermark using Replicate’s API. Check out the model's schema for an overview of inputs and outputs.
curl -s -X POST \ -H "Authorization: Bearer $REPLICATE_API_TOKEN" \ -H "Content-Type: application/json" \ -H "Prefer: wait" \ -d $'{ "version": "charlesmccarthy/addwatermark:f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57", "input": { "size": 240, "video": "https://replicate.delivery/pbxt/JzwghioyIP95E2VjbTzG0xoKPMgIWt8hNme4qKstawUUVEBu/video36031.mp4", "watermark": "FULLJOURNEY.AI" } }' \ https://api.replicate.com/v1/predictions
To learn more, take a look at Replicate’s HTTP API reference docs.
Output
{ "completed_at": "2023-12-05T22:35:50.970878Z", "created_at": "2023-12-05T22:35:44.640538Z", "data_removed": false, "error": null, "id": "43znm3rbhtxvol6pjzne5eikxa", "input": { "size": 240, "video": "https://replicate.delivery/pbxt/JzwghioyIP95E2VjbTzG0xoKPMgIWt8hNme4qKstawUUVEBu/video36031.mp4", "watermark": "FULLJOURNEY.AI" }, "logs": "ffmpeg version 5.1.4-0+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers\nbuilt with gcc 12 (Debian 12.2.0-14)\nconfiguration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared\nlibavutil 57. 28.100 / 57. 28.100\nlibavcodec 59. 37.100 / 59. 37.100\nlibavformat 59. 27.100 / 59. 27.100\nlibavdevice 59. 7.100 / 59. 7.100\nlibavfilter 8. 44.100 / 8. 44.100\nlibswscale 6. 7.100 / 6. 7.100\nlibswresample 4. 7.100 / 4. 7.100\nlibpostproc 56. 6.100 / 56. 6.100\nInput #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/tmp55cc2jfrvideo36031.mp4':\nMetadata:\nmajor_brand : isom\nminor_version : 512\ncompatible_brands: isomiso2avc1mp41\nDuration: 00:00:03.05, start: 0.000000, bitrate: 16036 kb/s\nStream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1200, 16032 kb/s, 20 fps, 20 tbr, 10240 tbn (default)\nMetadata:\nhandler_name : VideoHandler\nvendor_id : [0][0][0][0]\nStream mapping:\nStream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))\nPress [q] to stop, [?] for help\n[libx264 @ 0x5d1e1fbab580] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2\n[libx264 @ 0x5d1e1fbab580] profile High, level 5.0, 4:2:0, 8-bit\n[libx264 @ 0x5d1e1fbab580] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=20 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00\nOutput #0, mp4, to '/tmp/tmp55cc2jfrvideo36031_watermarked.mp4':\nMetadata:\nmajor_brand : isom\nminor_version : 512\ncompatible_brands: isomiso2avc1mp41\nencoder : Lavf59.27.100\nStream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 1920x1200, q=2-31, 20 fps, 10240 tbn (default)\nMetadata:\nhandler_name : VideoHandler\nvendor_id : [0][0][0][0]\nencoder : Lavc59.37.100 libx264\nSide data:\ncpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A\nframe= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x\nframe= 47 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x\nframe= 60 fps= 40 q=28.0 size= 256kB time=00:00:00.05 bitrate=41868.7kbits/s speed=0.0336x\nframe= 61 fps= 13 q=-1.0 Lsize= 5630kB time=00:00:02.90 bitrate=15903.4kbits/s speed=0.602x\nvideo:5628kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.028455%\n[libx264 @ 0x5d1e1fbab580] frame I:1 Avg QP:24.99 size:183286\n[libx264 @ 0x5d1e1fbab580] frame P:16 Avg QP:24.82 size:145213\n[libx264 @ 0x5d1e1fbab580] frame B:44 Avg QP:26.42 size: 74003\n[libx264 @ 0x5d1e1fbab580] consecutive B-frames: 3.3% 0.0% 4.9% 91.8%\n[libx264 @ 0x5d1e1fbab580] mb I I16..4: 9.8% 61.0% 29.2%\n[libx264 @ 0x5d1e1fbab580] mb P I16..4: 4.2% 27.7% 12.5% P16..4: 32.4% 12.6% 5.1% 0.0% 0.0% skip: 5.5%\n[libx264 @ 0x5d1e1fbab580] mb B I16..4: 0.7% 4.0% 3.4% B16..8: 38.6% 11.8% 4.2% direct: 8.7% skip:28.6% L0:47.4% L1:35.4% BI:17.2%\n[libx264 @ 0x5d1e1fbab580] 8x8 transform intra:58.5% inter:72.9%\n[libx264 @ 0x5d1e1fbab580] coded y,uvDC,uvAC intra: 80.1% 64.4% 26.2% inter: 32.4% 23.1% 0.9%\n[libx264 @ 0x5d1e1fbab580] i16 v,h,dc,p: 58% 24% 5% 14%\n[libx264 @ 0x5d1e1fbab580] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 14% 14% 6% 8% 10% 7% 10% 9%\n[libx264 @ 0x5d1e1fbab580] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 11% 12% 8% 9% 9% 6% 9% 7%\n[libx264 @ 0x5d1e1fbab580] i8c dc,h,v,p: 56% 19% 19% 6%\n[libx264 @ 0x5d1e1fbab580] Weighted P-Frames: Y:0.0% UV:0.0%\n[libx264 @ 0x5d1e1fbab580] ref P L0: 57.8% 17.1% 16.7% 8.4%\n[libx264 @ 0x5d1e1fbab580] ref B L0: 92.2% 6.7% 1.1%\n[libx264 @ 0x5d1e1fbab580] ref B L1: 98.6% 1.4%\n[libx264 @ 0x5d1e1fbab580] kb/s:15115.66\nWatermarked video saved to /tmp/tmp55cc2jfrvideo36031_watermarked.mp4", "metrics": { "predict_time": 6.316416, "total_time": 6.33034 }, "output": "https://replicate.delivery/pbxt/sw7uPe5bSqwPTaeMZVe0FGoxHsT44NDAmcG0dUiNWoDMeV9HB/tmp55cc2jfrvideo36031_watermarked.mp4", "started_at": "2023-12-05T22:35:44.654462Z", "status": "succeeded", "urls": { "get": "https://api.replicate.com/v1/predictions/43znm3rbhtxvol6pjzne5eikxa", "cancel": "https://api.replicate.com/v1/predictions/43znm3rbhtxvol6pjzne5eikxa/cancel" }, "version": "f274d1efdd9d249cef68fccd028d70e4134b2d59f2b02b42a4e78350849d0e57" }
Generated inffmpeg version 5.1.4-0+deb12u1 Copyright (c) 2000-2023 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14) configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared libavutil 57. 28.100 / 57. 28.100 libavcodec 59. 37.100 / 59. 37.100 libavformat 59. 27.100 / 59. 27.100 libavdevice 59. 7.100 / 59. 7.100 libavfilter 8. 44.100 / 8. 44.100 libswscale 6. 7.100 / 6. 7.100 libswresample 4. 7.100 / 4. 7.100 libpostproc 56. 6.100 / 56. 6.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/tmp55cc2jfrvideo36031.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 Duration: 00:00:03.05, start: 0.000000, bitrate: 16036 kb/s Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1200, 16032 kb/s, 20 fps, 20 tbr, 10240 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Press [q] to stop, [?] for help [libx264 @ 0x5d1e1fbab580] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x5d1e1fbab580] profile High, level 5.0, 4:2:0, 8-bit [libx264 @ 0x5d1e1fbab580] 264 - core 164 r3095 baee400 - H.264/MPEG-4 AVC codec - Copyleft 2003-2022 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=20 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to '/tmp/tmp55cc2jfrvideo36031_watermarked.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf59.27.100 Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(progressive), 1920x1200, q=2-31, 20 fps, 10240 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] encoder : Lavc59.37.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A frame= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x frame= 47 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x frame= 60 fps= 40 q=28.0 size= 256kB time=00:00:00.05 bitrate=41868.7kbits/s speed=0.0336x frame= 61 fps= 13 q=-1.0 Lsize= 5630kB time=00:00:02.90 bitrate=15903.4kbits/s speed=0.602x video:5628kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.028455% [libx264 @ 0x5d1e1fbab580] frame I:1 Avg QP:24.99 size:183286 [libx264 @ 0x5d1e1fbab580] frame P:16 Avg QP:24.82 size:145213 [libx264 @ 0x5d1e1fbab580] frame B:44 Avg QP:26.42 size: 74003 [libx264 @ 0x5d1e1fbab580] consecutive B-frames: 3.3% 0.0% 4.9% 91.8% [libx264 @ 0x5d1e1fbab580] mb I I16..4: 9.8% 61.0% 29.2% [libx264 @ 0x5d1e1fbab580] mb P I16..4: 4.2% 27.7% 12.5% P16..4: 32.4% 12.6% 5.1% 0.0% 0.0% skip: 5.5% [libx264 @ 0x5d1e1fbab580] mb B I16..4: 0.7% 4.0% 3.4% B16..8: 38.6% 11.8% 4.2% direct: 8.7% skip:28.6% L0:47.4% L1:35.4% BI:17.2% [libx264 @ 0x5d1e1fbab580] 8x8 transform intra:58.5% inter:72.9% [libx264 @ 0x5d1e1fbab580] coded y,uvDC,uvAC intra: 80.1% 64.4% 26.2% inter: 32.4% 23.1% 0.9% [libx264 @ 0x5d1e1fbab580] i16 v,h,dc,p: 58% 24% 5% 14% [libx264 @ 0x5d1e1fbab580] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 14% 14% 6% 8% 10% 7% 10% 9% [libx264 @ 0x5d1e1fbab580] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 11% 12% 8% 9% 9% 6% 9% 7% [libx264 @ 0x5d1e1fbab580] i8c dc,h,v,p: 56% 19% 19% 6% [libx264 @ 0x5d1e1fbab580] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x5d1e1fbab580] ref P L0: 57.8% 17.1% 16.7% 8.4% [libx264 @ 0x5d1e1fbab580] ref B L0: 92.2% 6.7% 1.1% [libx264 @ 0x5d1e1fbab580] ref B L1: 98.6% 1.4% [libx264 @ 0x5d1e1fbab580] kb/s:15115.66 Watermarked video saved to /tmp/tmp55cc2jfrvideo36031_watermarked.mp4
Want to make some of these yourself?
Run this model