[{"data":1,"prerenderedAt":1176},["ShallowReactive",2],{"blog-\u002Fblog\u002Fautomate-short-form-ai-video-generation":3,"blog-related-\u002Fblog\u002Fautomate-short-form-ai-video-generation":909},{"id":4,"title":5,"author":6,"body":7,"category":892,"cover":893,"description":894,"draft":895,"extension":896,"image":892,"launchCta":892,"listingCover":892,"meta":897,"navigation":898,"ogImage":892,"path":899,"publishedAt":900,"readTime":892,"seo":901,"stem":902,"tags":903,"toolCategory":892,"updatedAt":892,"__hash__":908},"blogUnlisted\u002Fblog\u002Fautomate-short-form-ai-video-generation.md","Automate Short-Form AI Video Generation From a Text Prompt","The Monid Team",{"type":8,"value":9,"toc":876},"minimark",[10,28,32,120,125,198,202,207,216,224,232,236,293,301,305,308,311,317,320,324,327,356,371,375,388,434,440,474,477,528,535,539,549,552,655,665,669,679,713,736,742,746,763,767,776,780,796,818,836,848,857,861,872],[11,12,13,14,21,22,27],"p",{},"You can turn a sentence into a finished, audio-synced MP4 with one API call and no GPU of your own. Point ",[15,16,20],"a",{"href":17,"rel":18},"https:\u002F\u002Fwww.bytedance.com",[19],"nofollow","ByteDance"," Seedance at a text prompt, pick a resolution, wait tens of seconds, and download a short-form clip ready for TikTok, Reels, or an ad slot. ",[15,23,26],{"href":24,"rel":25},"https:\u002F\u002Fmonid.ai",[19],"Monid"," is a pay-per-call data API marketplace: one interface and one wallet reach hundreds of external endpoints across scraping, enrichment, and generative media, with no separate signup per vendor. This is a hands-on cookbook for the whole video job, from writing the prompt to holding the MP4.",[11,29,31],{"style":30},"font-size:18px !important;line-height:1.65 !important;margin:0 0 24px;color:inherit;","Copy this line to your agent to generate a short-form product video from a prompt.",[33,34,39],"pre",{"className":35,"code":36,"language":37,"meta":38,"style":38},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use bytedance \u002Fv1\u002Fvideo\u002Fseedance-2.0-mini to generate a 5-second 720p product video from a text prompt, then give me the MP4 url\n","sh","",[40,41,42],"code",{"__ignoreMap":38},[43,44,47,51,55,58,61,64,67,70,73,76,79,82,85,88,91,94,96,99,102,105,108,111,114,117],"span",{"class":45,"line":46},"line",1,[43,48,50],{"class":49},"s2Zo4","set",[43,52,54],{"class":53},"sfazB"," up",[43,56,57],{"class":53}," https:\u002F\u002Fmonid.ai\u002FSKILL.md",[43,59,60],{"class":53}," and",[43,62,63],{"class":53}," use",[43,65,66],{"class":53}," bytedance",[43,68,69],{"class":53}," \u002Fv1\u002Fvideo\u002Fseedance-2.0-mini",[43,71,72],{"class":53}," to",[43,74,75],{"class":53}," generate",[43,77,78],{"class":53}," a",[43,80,81],{"class":53}," 5-second",[43,83,84],{"class":53}," 720p",[43,86,87],{"class":53}," product",[43,89,90],{"class":53}," video",[43,92,93],{"class":53}," from",[43,95,78],{"class":53},[43,97,98],{"class":53}," text",[43,100,101],{"class":53}," prompt,",[43,103,104],{"class":53}," then",[43,106,107],{"class":53}," give",[43,109,110],{"class":53}," me",[43,112,113],{"class":53}," the",[43,115,116],{"class":53}," MP4",[43,118,119],{"class":53}," url\n",[121,122,124],"h2",{"id":123},"tldr","TL;DR",[126,127,128,139,154,157,186,195],"ul",{},[129,130,131,138],"li",{},[15,132,135],{"href":133,"rel":134},"https:\u002F\u002Fdocs.byteplus.com\u002Fen\u002Fdocs\u002FModelArk",[19],[40,136,137],{},"bytedance \u002Fv1\u002Fvideo\u002Fseedance-2.0-mini"," takes a text prompt and returns a downloadable MP4 with synchronized audio, up to 720p.",[129,140,141,142,145,146,149,150,153],{},"The body is a ",[40,143,144],{},"content"," array. A ",[40,147,148],{},"{\"type\":\"text\",\"text\":\"...\"}"," item is a text-to-video prompt; swap in an ",[40,151,152],{},"image_url"," item to animate a still instead.",[129,155,156],{},"Dialogue you put in double quotes inside the prompt drives the generated audio, so the voice track is written the same place as the visuals.",[129,158,159,162,163,166,167,170,171,174,175,162,178,181,182,185],{},[40,160,161],{},"resolution"," (",[40,164,165],{},"480p"," or ",[40,168,169],{},"720p",") is both the quality knob and the price selector; ",[40,172,173],{},"duration"," (4 to 15 seconds) and ",[40,176,177],{},"ratio",[40,179,180],{},"16:9",", ",[40,183,184],{},"9:16",", and so on) shape the clip.",[129,187,188,189,194],{},"Billing is per token by resolution, so cost tracks pixels times seconds. A short 720p clip lands at a few dollars, current magnitudes at ",[15,190,193],{"href":191,"rel":192},"https:\u002F\u002Fmonid.ai\u002Ftools",[19],"monid.ai\u002Ftools",".",[129,196,197],{},"The alternative is standing up a local diffusion-video pipeline (GPUs, model weights, orchestration) yourself. This is one call on a shared wallet instead.",[121,199,201],{"id":200},"set-up-once","Set up once",[203,204,206],"h3",{"id":205},"for-agents","For agents",[11,208,209,210,215],{},"Grab an API key at ",[15,211,214],{"href":212,"rel":213},"https:\u002F\u002Fapp.monid.ai\u002F",[19],"app.monid.ai",", then paste this to your agent and hand it the key:",[33,217,222],{"className":218,"code":220,"language":221},[219],"language-text","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md\n","text",[40,223,220],{"__ignoreMap":38},[11,225,226,227,194],{},"It learns the whole discover, inspect, run workflow itself. More details in the ",[15,228,231],{"href":229,"rel":230},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-skill",[19],"agent quickstart",[203,233,235],{"id":234},"for-humans","For humans",[33,237,241],{"className":238,"code":239,"language":240,"meta":38,"style":38},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npm install -g @monid-ai\u002Fcli\nmonid keys add --label main --key \u003Cyour-api-key>\n","bash",[40,242,243,258],{"__ignoreMap":38},[43,244,245,249,252,255],{"class":45,"line":46},[43,246,248],{"class":247},"sBMFI","npm",[43,250,251],{"class":53}," install",[43,253,254],{"class":53}," -g",[43,256,257],{"class":53}," @monid-ai\u002Fcli\n",[43,259,261,264,267,270,273,276,279,283,286,290],{"class":45,"line":260},2,[43,262,263],{"class":247},"monid",[43,265,266],{"class":53}," keys",[43,268,269],{"class":53}," add",[43,271,272],{"class":53}," --label",[43,274,275],{"class":53}," main",[43,277,278],{"class":53}," --key",[43,280,282],{"class":281},"sMK4o"," \u003C",[43,284,285],{"class":53},"your-api-ke",[43,287,289],{"class":288},"sTEyZ","y",[43,291,292],{"class":281},">\n",[11,294,295,296,194],{},"More details in the ",[15,297,300],{"href":298,"rel":299},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-cli",[19],"CLI quickstart",[121,302,304],{"id":303},"step-1-write-the-prompt-including-the-dialogue","Step 1: Write the prompt, including the dialogue",[11,306,307],{},"The prompt is the whole creative brief, and it does double duty. Describe the shot the way a director would, camera, subject, motion, light, and put any spoken line in double quotes so the model knows to voice it. Seedance generates synchronized audio by default, so a line in quotes becomes an actual voice track in the clip, not a caption.",[11,309,310],{},"A product spot for a matte black water bottle might read like this:",[33,312,315],{"className":313,"code":314,"language":221},[219],"a cinematic product shot of a matte black water bottle rotating slowly on a\nmarble kitchen counter, soft morning daylight from the left, shallow depth of\nfield. a calm voice says \"hydration, redesigned.\"\n",[40,316,314],{"__ignoreMap":38},[11,318,319],{},"The descriptive half controls the visuals; the quoted half controls the audio. Keep prompts under about 1000 words (the field caps at 6000 characters), and be concrete about motion, since a still-sounding prompt tends to produce a static-looking clip.",[121,321,323],{"id":322},"step-2-inspect-the-schema-for-free-then-confirm-the-price","Step 2: Inspect the schema for free, then confirm the price",[11,325,326],{},"Inspect is free and does not touch your wallet, so check the input shape and the live per-token rate before you spend.",[33,328,330],{"className":238,"code":329,"language":240,"meta":38,"style":38},"monid inspect -p bytedance -e \u002Fv1\u002Fvideo\u002Fseedance-2.0-mini\n# -> input schema, field docs, and the per-token price matrix (free)\n",[40,331,332,350],{"__ignoreMap":38},[43,333,334,336,339,342,344,347],{"class":45,"line":46},[43,335,263],{"class":247},[43,337,338],{"class":53}," inspect",[43,340,341],{"class":53}," -p",[43,343,66],{"class":53},[43,345,346],{"class":53}," -e",[43,348,349],{"class":53}," \u002Fv1\u002Fvideo\u002Fseedance-2.0-mini\n",[43,351,352],{"class":45,"line":260},[43,353,355],{"class":354},"sHwdD","# -> input schema, field docs, and the per-token price matrix (free)\n",[11,357,358,359,361,362,364,365,367,368,370],{},"Two things in that output matter before your first run. The ",[40,360,144],{}," array is the only required field, and ",[40,363,161],{}," is the price selector: ",[40,366,165],{}," and ",[40,369,169],{}," are billed at the same per-token rate, but 720p simply spends more tokens for the same second of video, because tokens scale with pixels. Roughly, tokens are width times height times 24fps times seconds, so a 720p 16:9 second is about 21,600 tokens.",[121,372,374],{"id":373},"step-3-run-the-text-to-video-generation","Step 3: Run the text-to-video generation",[11,376,377,380,381,384,385,387],{},[40,378,379],{},"run"," is the only step that bills. The ",[40,382,383],{},"-w"," flag waits for the job and prints the result when it lands. This is the exact verified command, one text item in the ",[40,386,144],{}," array:",[33,389,391],{"className":238,"code":390,"language":240,"meta":38,"style":38},"monid run -p bytedance -e \u002Fv1\u002Fvideo\u002Fseedance-2.0-mini \\\n  -i '{\"content\":[{\"type\":\"text\",\"text\":\"a cinematic product shot of a matte black water bottle rotating on a marble counter, soft daylight\"}]}' -w\n# -> COMPLETED: a video_url (MP4) plus usage tokens, billed per token by resolution\n",[40,392,393,411,428],{"__ignoreMap":38},[43,394,395,397,400,402,404,406,408],{"class":45,"line":46},[43,396,263],{"class":247},[43,398,399],{"class":53}," run",[43,401,341],{"class":53},[43,403,66],{"class":53},[43,405,346],{"class":53},[43,407,69],{"class":53},[43,409,410],{"class":288}," \\\n",[43,412,413,416,419,422,425],{"class":45,"line":260},[43,414,415],{"class":53},"  -i",[43,417,418],{"class":281}," '",[43,420,421],{"class":53},"{\"content\":[{\"type\":\"text\",\"text\":\"a cinematic product shot of a matte black water bottle rotating on a marble counter, soft daylight\"}]}",[43,423,424],{"class":281},"'",[43,426,427],{"class":53}," -w\n",[43,429,431],{"class":45,"line":430},3,[43,432,433],{"class":354},"# -> COMPLETED: a video_url (MP4) plus usage tokens, billed per token by resolution\n",[11,435,436,437,439],{},"To take control of the format instead of the defaults, add the top-level fields alongside ",[40,438,144],{},":",[33,441,443],{"className":238,"code":442,"language":240,"meta":38,"style":38},"monid run -p bytedance -e \u002Fv1\u002Fvideo\u002Fseedance-2.0-mini \\\n  -i '{\"content\":[{\"type\":\"text\",\"text\":\"a matte black water bottle rotating slowly on a marble counter, soft morning daylight, a calm voice says \\\"hydration, redesigned\\\"\"}],\"resolution\":\"720p\",\"duration\":6,\"ratio\":\"9:16\"}' -w\n",[40,444,445,461],{"__ignoreMap":38},[43,446,447,449,451,453,455,457,459],{"class":45,"line":46},[43,448,263],{"class":247},[43,450,399],{"class":53},[43,452,341],{"class":53},[43,454,66],{"class":53},[43,456,346],{"class":53},[43,458,69],{"class":53},[43,460,410],{"class":288},[43,462,463,465,467,470,472],{"class":45,"line":260},[43,464,415],{"class":53},[43,466,418],{"class":281},[43,468,469],{"class":53},"{\"content\":[{\"type\":\"text\",\"text\":\"a matte black water bottle rotating slowly on a marble counter, soft morning daylight, a calm voice says \\\"hydration, redesigned\\\"\"}],\"resolution\":\"720p\",\"duration\":6,\"ratio\":\"9:16\"}",[43,471,424],{"class":281},[43,473,427],{"class":53},[11,475,476],{},"The fields that shape the output:",[126,478,479,493,500,516],{},[129,480,481,486,487,489,490,492],{},[482,483,484],"strong",{},[40,485,161],{},": ",[40,488,165],{}," for cheap drafts and bulk variations, ",[40,491,169],{}," for the take you actually ship. This is also what moves the bill.",[129,494,495,499],{},[482,496,497],{},[40,498,173],{},": 4 to 15 seconds. Short-form wants short, and duration multiplies tokens linearly, so a 6-second clip costs roughly half of a 12-second one.",[129,501,502,486,506,508,509,511,512,515],{},[482,503,504],{},[40,505,177],{},[40,507,184],{}," for TikTok, Reels, and Shorts, ",[40,510,180],{}," for YouTube and landing pages, ",[40,513,514],{},"1:1"," for feed tiles. Omit it to let the model pick.",[129,517,518,523,524,527],{},[482,519,520],{},[40,521,522],{},"generate_audio",": on by default, no price impact. Set it ",[40,525,526],{},"false"," if you plan to score the clip with your own music later.",[11,529,530],{},[531,532],"img",{"alt":533,"src":534},"Write the prompt (dialogue in quotes), pick resolution, ratio, and duration, run the only billing step, poll for tens of seconds, and download the MP4 from a video_url that expires in about a day","\u002Fimg\u002Fblog\u002Fautomate-short-form-ai-video-generation-fig-prompt-to-mp4.png",[121,536,538],{"id":537},"step-4-poll-for-the-finished-mp4","Step 4: Poll for the finished MP4",[11,540,541,542,544,545,548],{},"Generation takes tens of seconds to a few minutes. With ",[40,543,383],{}," the CLI holds the connection and hands you the result when the job completes, so for a single clip there is nothing else to do. The completed run returns a ",[40,546,547],{},"video_url",", a direct link to the MP4, plus the usage tokens you were billed for.",[11,550,551],{},"One thing to respect: that URL expires in about 24 hours. Download the file as soon as the run finishes rather than treating the link as permanent storage.",[33,553,555],{"className":238,"code":554,"language":240,"meta":38,"style":38},"# -w already waited; grab the url from the result and save the file\nmonid run -p bytedance -e \u002Fv1\u002Fvideo\u002Fseedance-2.0-mini \\\n  -i '{\"content\":[{\"type\":\"text\",\"text\":\"a matte black water bottle rotating on a marble counter, soft daylight\"}],\"resolution\":\"720p\"}' -w \\\n  -o clip.json\nVIDEO_URL=$(jq -r '.video_url' clip.json)\ncurl -L \"$VIDEO_URL\" -o bottle.mp4\n",[40,556,557,562,578,594,603,631],{"__ignoreMap":38},[43,558,559],{"class":45,"line":46},[43,560,561],{"class":354},"# -w already waited; grab the url from the result and save the file\n",[43,563,564,566,568,570,572,574,576],{"class":45,"line":260},[43,565,263],{"class":247},[43,567,399],{"class":53},[43,569,341],{"class":53},[43,571,66],{"class":53},[43,573,346],{"class":53},[43,575,69],{"class":53},[43,577,410],{"class":288},[43,579,580,582,584,587,589,592],{"class":45,"line":430},[43,581,415],{"class":53},[43,583,418],{"class":281},[43,585,586],{"class":53},"{\"content\":[{\"type\":\"text\",\"text\":\"a matte black water bottle rotating on a marble counter, soft daylight\"}],\"resolution\":\"720p\"}",[43,588,424],{"class":281},[43,590,591],{"class":53}," -w",[43,593,410],{"class":288},[43,595,597,600],{"class":45,"line":596},4,[43,598,599],{"class":53},"  -o",[43,601,602],{"class":53}," clip.json\n",[43,604,606,609,612,615,618,620,623,625,628],{"class":45,"line":605},5,[43,607,608],{"class":288},"VIDEO_URL",[43,610,611],{"class":281},"=$(",[43,613,614],{"class":247},"jq",[43,616,617],{"class":53}," -r",[43,619,418],{"class":281},[43,621,622],{"class":53},".video_url",[43,624,424],{"class":281},[43,626,627],{"class":53}," clip.json",[43,629,630],{"class":281},")\n",[43,632,634,637,640,643,646,649,652],{"class":45,"line":633},6,[43,635,636],{"class":247},"curl",[43,638,639],{"class":53}," -L",[43,641,642],{"class":281}," \"",[43,644,645],{"class":288},"$VIDEO_URL",[43,647,648],{"class":281},"\"",[43,650,651],{"class":53}," -o",[43,653,654],{"class":53}," bottle.mp4\n",[11,656,657,658,661,662,664],{},"Now ",[40,659,660],{},"bottle.mp4"," is on disk, sound and all, ready to trim or post. For a batch, drop the run into a loop over a list of prompts and let each ",[40,663,383],{}," call block until its clip is ready.",[121,666,668],{"id":667},"step-5-the-image-to-video-variant","Step 5: The image-to-video variant",[11,670,671,672,674,675,678],{},"Text-to-video invents the scene. If you already have a product photo you want to keep exact, animate that still instead by swapping the text item for an ",[40,673,152],{}," item with ",[40,676,677],{},"role: first_frame",". The model treats your image as the opening frame and generates motion from there, so the bottle in the clip is your bottle, not a look-alike the model imagined.",[33,680,682],{"className":238,"code":681,"language":240,"meta":38,"style":38},"monid run -p bytedance -e \u002Fv1\u002Fvideo\u002Fseedance-2.0-mini \\\n  -i '{\"content\":[{\"type\":\"image_url\",\"image_url\":{\"url\":\"https:\u002F\u002Fyoursite.com\u002Fbottle.png\"},\"role\":\"first_frame\"},{\"type\":\"text\",\"text\":\"the bottle rotates slowly, light glints across the matte finish\"}]}' -w\n",[40,683,684,700],{"__ignoreMap":38},[43,685,686,688,690,692,694,696,698],{"class":45,"line":46},[43,687,263],{"class":247},[43,689,399],{"class":53},[43,691,341],{"class":53},[43,693,66],{"class":53},[43,695,346],{"class":53},[43,697,69],{"class":53},[43,699,410],{"class":288},[43,701,702,704,706,709,711],{"class":45,"line":260},[43,703,415],{"class":53},[43,705,418],{"class":281},[43,707,708],{"class":53},"{\"content\":[{\"type\":\"image_url\",\"image_url\":{\"url\":\"https:\u002F\u002Fyoursite.com\u002Fbottle.png\"},\"role\":\"first_frame\"},{\"type\":\"text\",\"text\":\"the bottle rotates slowly, light glints across the matte finish\"}]}",[43,710,424],{"class":281},[43,712,427],{"class":53},[11,714,715,716,719,720,723,724,727,728,731,732,735],{},"You can mix a ",[40,717,718],{},"first_frame"," and a ",[40,721,722],{},"last_frame"," image to pin both ends of the motion, or pass ",[40,725,726],{},"reference_image"," items to steer style. Two rules from the schema save a wasted call: reference URLs must be public ",[40,729,730],{},"https:\u002F\u002F"," links or ",[40,733,734],{},"asset:\u002F\u002F"," ids (inline base64 is rejected), and stills containing real human faces are refused upstream, so use product shots or authorized assets.",[11,737,738],{},[531,739],{"alt":740,"src":741},"If you have just a description, pass a text content item for text-to-video; if you have an exact product still, pass an image_url first_frame item for image-to-video; both use the same endpoint and return an MP4","\u002Fimg\u002Fblog\u002Fautomate-short-form-ai-video-generation-fig-text-vs-image.png",[121,743,745],{"id":744},"what-a-clip-costs","What a clip costs",[11,747,748,749,752,753,758,759,762],{},"Seedance bills per token by resolution, and tokens are pixels times frames, so cost tracks the two dials you already set: resolution and duration. A short 720p clip lands in the few-dollars range; the same length at 480p is meaningfully cheaper, which is why the draft-at-480p, ship-at-720p habit is worth building. There is no subscription and no per-vendor minimum underneath it, and the exact price is shown before every run and listed at ",[15,750,193],{"href":191,"rel":751},[19],". If you want a cheaper, lower-fidelity option for volume drafts, ",[15,754,757],{"href":755,"rel":756},"https:\u002F\u002Fwww.minimax.io",[19],"MiniMax"," ",[40,760,761],{},"\u002Fv1\u002Fvideo_generation"," sits on the same Monid wallet, so you can rough-cut on the budget model and finish on Seedance without a second account.",[121,764,766],{"id":765},"why-not-run-your-own-video-model","Why not run your own video model?",[11,768,769,770,775],{},"Because the do-it-yourself path is a full ",[15,771,774],{"href":772,"rel":773},"https:\u002F\u002Fhuggingface.co\u002Fdocs\u002Fdiffusers\u002Fen\u002Fusing-diffusers\u002Ftext-img2vid",[19],"diffusion-video pipeline",", and the video part is the smallest part of it. You provision GPUs with enough memory to hold the weights, download and version the model, build the inference and queue orchestration, handle the audio-sync stack separately, and keep all of it patched as new checkpoints ship. That is a standing infrastructure bill and an on-call rotation for something you might run a few dozen times a week. A hosted call turns that whole stack into one line where you pay for the clip and nothing when you are idle, and where switching to a newer or cheaper model is a different provider string, not a migration.",[121,777,779],{"id":778},"faq","FAQ",[11,781,782,785,786,789,790,792,793,795],{},[482,783,784],{},"How do I add spoken audio to the video?","\nPut the line in double quotes inside your text prompt, for example ",[40,787,788],{},"a calm voice says \"hydration, redesigned\"",". Seedance generates synchronized audio by default, so the quoted text becomes a voice track in the clip. Set ",[40,791,522],{}," to ",[40,794,526],{}," if you want silent output to score yourself.",[11,797,798,801,802,804,805,807,808,792,810,508,812,814,815,817],{},[482,799,800],{},"What resolution and aspect ratio should I pick?","\nUse ",[40,803,165],{}," for drafts and bulk variations, ",[40,806,169],{}," for the final. Set ",[40,809,177],{},[40,811,184],{},[40,813,180],{}," for YouTube and web, or ",[40,816,514],{}," for feed tiles. Resolution is also the price selector, so drafting at 480p keeps costs down.",[11,819,820,823,824,826,827,829,830,832,833,835],{},[482,821,822],{},"Can I animate my own product photo instead of a text prompt?","\nYes. Replace the text item in ",[40,825,144],{}," with an ",[40,828,152],{}," item and ",[40,831,677],{},". The image becomes the opening frame and the model generates motion from it. The URL must be a public ",[40,834,730],{}," link, and stills with real human faces are rejected upstream.",[11,837,838,841,842,844,845,847],{},[482,839,840],{},"How long does generation take and how do I get the file?","\nTens of seconds to a few minutes. With the ",[40,843,383],{}," flag the CLI waits and returns a ",[40,846,547],{}," pointing at the MP4. Download it promptly, since the link expires in about 24 hours.",[11,849,850,853,854,194],{},[482,851,852],{},"How much does one clip cost?","\nBilling is per token by resolution, so cost scales with pixels times seconds. A short 720p clip is a few dollars, 480p is cheaper, and there is no subscription. The exact price shows before every run and is listed at ",[15,855,193],{"href":191,"rel":856},[19],[121,858,860],{"id":859},"try-it","Try it",[11,862,863,864,867,868,194],{},"Grab a key at ",[15,865,214],{"href":212,"rel":866},[19],", inspect the endpoint for free to see the live price, and generate one 5-second clip from a prompt you have in mind. If the MP4 looks right, wire the run into a loop over your prompt list and let each clip render on its own. Start at ",[15,869,871],{"href":24,"rel":870},[19],"monid.ai",[873,874,875],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}",{"title":38,"searchDepth":260,"depth":260,"links":877},[878,879,883,884,885,886,887,888,889,890,891],{"id":123,"depth":260,"text":124},{"id":200,"depth":260,"text":201,"children":880},[881,882],{"id":205,"depth":430,"text":206},{"id":234,"depth":430,"text":235},{"id":303,"depth":260,"text":304},{"id":322,"depth":260,"text":323},{"id":373,"depth":260,"text":374},{"id":537,"depth":260,"text":538},{"id":667,"depth":260,"text":668},{"id":744,"depth":260,"text":745},{"id":765,"depth":260,"text":766},{"id":778,"depth":260,"text":779},{"id":859,"depth":260,"text":860},null,"\u002Fimg\u002Fblog\u002Fautomate-short-form-ai-video-generation.png","Generate a short-form product video from a text prompt with ByteDance Seedance on Monid, billed per call. Pick resolution, poll, download the MP4.",false,"md",{},true,"\u002Fblog\u002Fautomate-short-form-ai-video-generation","2026-07-26",{"title":5,"description":894},"blog\u002Fautomate-short-form-ai-video-generation",[904,905,906,907],"ai-video","seedance","agents","marketing","esLj0vJadN5lglOzoopZBqZF1b5i10YDuW6SS36w4r0",[910,971,1039,1105],{"id":911,"title":912,"author":892,"body":913,"category":892,"cover":957,"description":38,"draft":895,"extension":896,"image":892,"launchCta":958,"listingCover":892,"meta":961,"navigation":898,"ogImage":892,"path":962,"publishedAt":963,"readTime":892,"seo":964,"stem":965,"tags":966,"toolCategory":892,"updatedAt":892,"__hash__":970},"blog\u002Fblog\u002Fakta-pro-is-now-available-on-monid.md","Introducing private markets\ndata for agents",{"type":8,"value":914,"toc":953},[915,919,927,930,934,940,947,950],[121,916,918],{"id":917},"what-is-aktapro","What is akta.pro",[11,920,921,926],{},[15,922,925],{"href":923,"rel":924},"https:\u002F\u002Fwww.akta.pro\u002F",[19],"akta.pro"," is a private company data and signals API for\nAI agents. Company Database covers 20M+ companies with 75+ structured fields\neach. News Signals delivers deduplicated, entity-resolved company news,\nindustry news, and signals on open-ended topics, all scored for impact and\nsentiment.",[11,928,929],{},"Private-company research is usually scattered across databases, news feeds,\nreview sites, and web search. akta.pro turns that into structured API calls, so\nan agent gets the right company context and keeps moving.",[121,931,933],{"id":932},"what-is-monid","What is Monid",[11,935,936,939],{},[15,937,26],{"href":24,"rel":938},[19]," is the tool layer for agents. It lets agents connect\nto all the tools and APIs they need, without managing signups, API keys, or\nsubscriptions.",[11,941,942,943,194],{},"Today, Monid provides tools for social media scraping, web search, image and\nmusic generation, people data search, weather APIs, ",[15,944,946],{"href":191,"rel":945},[19],"and more",[948,949],"hr",{},[11,951,952],{},"On Monid, akta.pro becomes available as part of that same layer. Your agent can\nrequest private-company context, call akta.pro through Monid, receive structured\nmarket data, and continue the task. Private markets research should feel like\nany other tool call: describe the company or sector, get the signal, keep\nbuilding.",{"title":38,"searchDepth":260,"depth":260,"links":954},[955,956],{"id":917,"depth":260,"text":918},{"id":932,"depth":260,"text":933},"\u002Fimg\u002Fblog\u002Fakta-pro-is-now-available-on-monid-v2.png",{"label":959,"command":960},"Give your agent this line to get started.","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use akta.pro to research recent news, company enrichment, and alternative signals for Databricks",{},"\u002Fblog\u002Fakta-pro-is-now-available-on-monid","2026-07-07",{"title":912,"description":38},"blog\u002Fakta-pro-is-now-available-on-monid",[906,967,968,969],"partner-tools","private-markets","data","05ST9oH9qSQ4_vNxcczvHDEyev2JDIqBwMiM-zelWJo",{"id":972,"title":973,"author":892,"body":974,"category":892,"cover":1028,"description":1029,"draft":895,"extension":896,"image":892,"launchCta":892,"listingCover":892,"meta":1030,"navigation":898,"ogImage":892,"path":1031,"publishedAt":1032,"readTime":892,"seo":1033,"stem":1034,"tags":1035,"toolCategory":892,"updatedAt":892,"__hash__":1038},"blog\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.md","Your Claude Code can now make phone calls",{"type":8,"value":975,"toc":1024},[976,979,988,992,1000,1003,1005,1010,1016,1018,1021],[11,977,978],{"style":30},"Copy this line to your agent to make your first phone call.",[33,980,982],{"className":35,"code":981,"language":37,"meta":38,"style":38},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use Saperly to call my phone number to confirm the connection works\n",[40,983,984],{"__ignoreMap":38},[43,985,986],{"class":45,"line":46},[43,987,981],{},[121,989,991],{"id":990},"what-is-saperly","What is Saperly",[11,993,994,999],{},[15,995,998],{"href":996,"rel":997},"https:\u002F\u002Fsaperly.com\u002F",[19],"Saperly"," is phone infrastructure for AI agents. It gives\nan agent a real phone number with voice, SMS, routing, spend controls, and\ncompliance built in, without making the builder manage carrier accounts or\ntelephony paperwork.",[11,1001,1002],{},"Your agent can confirm an appointment, follow up on a lead, check availability,\nor route a conversation without leaving the workflow it is already running.",[121,1004,933],{"id":932},[11,1006,1007,939],{},[15,1008,26],{"href":24,"rel":1009},[19],[11,1011,1012,1013,194],{},"Today, Monid provides tools for social media scraping, web search, image \u002F\nmusic \u002F 3d model generation, people data search, weather APIs, ",[15,1014,946],{"href":191,"rel":1015},[19],[948,1017],{},[11,1019,1020],{},"On Monid, Saperly becomes available as part of that same layer. Your agent can\nrequest a phone call, use Saperly through Monid, receive the result, and keep\ngoing. Calling should feel like any other tool call: describe the outcome, let\nthe agent handle the phone work, and continue the task.",[873,1022,1023],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":38,"searchDepth":260,"depth":260,"links":1025},[1026,1027],{"id":990,"depth":260,"text":991},{"id":932,"depth":260,"text":933},"\u002Fimg\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.png","Saperly is now available on Monid. Your agent can now make phone calls for you.",{},"\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls","2026-07-05",{"title":973,"description":1029},"blog\u002Fyour-claude-code-can-now-make-phone-calls",[906,967,1036,1037],"voice","phone","Wp96EVH5j2eyHDSu2f5Rtv0RYmyWX7frAhalel9fOus",{"id":1040,"title":1041,"author":892,"body":1042,"category":892,"cover":1094,"description":1095,"draft":895,"extension":896,"image":892,"launchCta":892,"listingCover":892,"meta":1096,"navigation":898,"ogImage":892,"path":1097,"publishedAt":1098,"readTime":892,"seo":1099,"stem":1100,"tags":1101,"toolCategory":892,"updatedAt":892,"__hash__":1104},"blog\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.md","Introducing\nClaude for 3D models",{"type":8,"value":1043,"toc":1090},[1044,1047,1056,1060,1068,1071,1073,1078,1083,1085,1088],[11,1045,1046],{"style":30},"Copy this line to your agent to generate your 3D model.",[33,1048,1050],{"className":35,"code":1049,"language":37,"meta":38,"style":38},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a 3D model for a rabbit\n",[40,1051,1052],{"__ignoreMap":38},[43,1053,1054],{"class":45,"line":46},[43,1055,1049],{},[121,1057,1059],{"id":1058},"what-is-suzanne","What is Suzanne",[11,1061,1062,1067],{},[15,1063,1066],{"href":1064,"rel":1065},"https:\u002F\u002Fwww.suzanne3d.com",[19],"Suzanne"," is an AI-native 3D modeling tool that turns a prompt into a\nusable 3D asset. Instead of opening a modeling tool, blocking out forms,\nadding details, and exporting by hand, you describe what you want and let\nSuzanne generate the model for you.",[11,1069,1070],{},"That changes who can create 3D objects. Product teams can prototype visual\nideas faster. Game builders can rough out props and characters without\nwaiting on a full art pass. Agents can generate assets as part of a larger\nworkflow, then hand those files to downstream tools for rendering, testing,\nor iteration.",[121,1072,933],{"id":932},[11,1074,1075,939],{},[15,1076,26],{"href":24,"rel":1077},[19],[11,1079,942,1080,194],{},[15,1081,946],{"href":191,"rel":1082},[19],[948,1084],{},[11,1086,1087],{},"On Monid, Suzanne becomes available as part of that same layer. Your agent can\nask for the 3D asset it needs, call Suzanne through Monid, and continue the task.\n3D creation should feel as direct as text generation: describe the thing, get\nthe artifact, keep building.",[873,1089,1023],{},{"title":38,"searchDepth":260,"depth":260,"links":1091},[1092,1093],{"id":1058,"depth":260,"text":1059},{"id":932,"depth":260,"text":933},"\u002Fimg\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.png","Suzanne is now available on Monid. Turn any idea into a production-ready 3D model in one prompt.",{},"\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models","2026-06-25",{"title":1041,"description":1095},"blog\u002Fintroducing-suzanne-chatgpt-for-3d-models",[1102,906,1103],"3d","creative-tools","Mz475YlhLBgR80gyiTlL2MhfALZKYwbl4Rfwy96HZG0",{"id":1106,"title":1107,"author":892,"body":1108,"category":892,"cover":1165,"description":1166,"draft":895,"extension":896,"image":892,"launchCta":892,"listingCover":892,"meta":1167,"navigation":898,"ogImage":892,"path":1168,"publishedAt":1169,"readTime":892,"seo":1170,"stem":1171,"tags":1172,"toolCategory":892,"updatedAt":892,"__hash__":1175},"blog\u002Fblog\u002Fminimax-is-now-available-on-monid.md","MiniMax is now available on Monid",{"type":8,"value":1109,"toc":1160},[1110,1113,1122,1126,1132,1136,1139,1141,1147,1153,1155,1158],[11,1111,1112],{"style":30},"Copy this line to your agent to create music.",[33,1114,1116],{"className":35,"code":1115,"language":37,"meta":38,"style":38},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a song with MiniMax Music 2.6\n",[40,1117,1118],{"__ignoreMap":38},[43,1119,1120],{"class":45,"line":46},[43,1121,1115],{},[121,1123,1125],{"id":1124},"minimax-music-26","MiniMax Music 2.6",[11,1127,1128,1131],{},[15,1129,757],{"href":755,"rel":1130},[19]," Music 2.6 turns a prompt into music your agent can use right away. Describe the style, mood, lyrics, or use case, and generate a track inside the same workflow.",[121,1133,1135],{"id":1134},"minimax-text-to-image-image-01","MiniMax Text-to-Image image-01",[11,1137,1138],{},"MiniMax image-01 turns text prompts into images. Ask for a concept, scene, product visual, or creative asset, and let your agent generate it through Monid.",[121,1140,933],{"id":932},[11,1142,1143,1146],{},[15,1144,26],{"href":24,"rel":1145},[19]," is the tool layer for agents. It lets agents connect to all the tools and APIs they need, without managing signups, API keys, or subscriptions.",[11,1148,1149,1150,194],{},"Today, Monid provides tools for social media scraping, web search, image and music generation, people data search, weather APIs, ",[15,1151,946],{"href":191,"rel":1152},[19],[948,1154],{},[11,1156,1157],{},"On Monid, MiniMax becomes part of the same tool layer your agent already uses. Describe what you need, generate the image or music, and keep building.",[873,1159,1023],{},{"title":38,"searchDepth":260,"depth":260,"links":1161},[1162,1163,1164],{"id":1124,"depth":260,"text":1125},{"id":1134,"depth":260,"text":1135},{"id":932,"depth":260,"text":933},"\u002Fimg\u002Fblog\u002Fminimax-is-now-available-on-monid.png","Create images and music with MiniMax models through Monid.",{},"\u002Fblog\u002Fminimax-is-now-available-on-monid","2026-06-24",{"title":1107,"description":1166},"blog\u002Fminimax-is-now-available-on-monid",[906,1103,1173,1174],"image-generation","music-generation","B3dZqIjNJNK7Y9ysAenI0XzKobOZMlEP87FRWrW19Vc",1786670264705]