[{"data":1,"prerenderedAt":6743},["ShallowReactive",2],{"blog-/blog/seedance-2-prompt-guide":3},{"id":4,"title":5,"body":6,"description":6734,"extension":6735,"meta":6736,"navigation":364,"path":6739,"seo":6740,"stem":6741,"__hash__":6742},"content/en/blog/seedance-2-prompt-guide.md","Seedance 2.0 Prompts: Complete Guide to Multimodal Video Generation",{"type":7,"value":8,"toc":6685},"minimark",[9,18,29,45,60,63,68,71,76,164,169,178,186,193,197,203,206,232,235,245,250,253,258,264,269,275,279,282,306,315,322,326,333,339,345,351,354,358,361,372,990,993,1001,1017,1019,1023,1029,1033,1088,1095,1102,1106,1198,1202,1276,1280,1339,1343,1346,1450,1458,1460,1464,1468,1472,1478,1483,1716,1720,1725,1730,1966,1970,1975,1980,2211,2215,2219,2231,2236,2470,2474,2482,2487,2761,2765,2773,2778,3019,3023,3032,3037,3384,3388,3392,3400,3405,3705,3709,3714,3719,3986,3990,3995,4000,4256,4260,4265,4270,4512,4516,4520,4525,4698,4702,4707,4880,4888,4890,4894,5093,5099,5101,5105,5109,5112,5409,5412,5416,5419,5460,5464,5467,5489,5495,5499,5502,5522,5533,5537,5540,5652,5655,5659,5662,5863,5866,5886,5888,5892,5896,5899,6032,6036,6039,6184,6188,6191,6353,6361,6363,6367,6371,6374,6378,6381,6413,6417,6431,6435,6438,6441,6452,6460,6464,6467,6478,6482,6496,6500,6503,6529,6533,6550,6554,6562,6566,6598,6602,6605,6622,6624,6628,6631,6634,6637,6648,6658,6675,6677,6682],[10,11,12,13,17],"p",{},"Seedance 2.0 accepts text, images, video clips, and audio files — all in a single prompt. The key to getting cinematic results lies in how you structure that prompt and reference your uploaded media with ",[14,15,16],"code",{},"@Tags",".",[10,19,20,21,28],{},"Built on ByteDance's ",[22,23,27],"a",{"href":24,"rel":25},"https://seed.bytedance.com/en/seedance2_0",[26],"nofollow","Seed video foundation model",", Seedance 2.0 is the most capable multimodal video generation model available via API.",[10,30,31,32,36,37,40,41,44],{},"This guide breaks down the ",[33,34,35],"strong",{},"Seedance 2.0 prompt formula",", explains the ",[14,38,39],{},"@Tag"," reference system, and gives you ",[33,42,43],{},"15+ copy-paste prompt templates"," with working Python API code.",[46,47,48],"blockquote",{},[10,49,50,53,54,59],{},[33,51,52],{},"Follow along with code examples:"," ",[22,55,58],{"href":56,"rel":57},"https://evolink.ai",[26],"Get your free API key on EvoLink"," to run every snippet below.",[61,62],"hr",{},[64,65,67],"h2",{"id":66},"the-seedance-20-prompt-formula","The Seedance 2.0 Prompt Formula",[10,69,70],{},"Every effective Seedance prompt follows a five-part structure:",[10,72,73],{},[33,74,75],{},"Subject + Action + Camera + Style + Constraints",[77,78,79,95],"table",{},[80,81,82],"thead",{},[83,84,85,89,92],"tr",{},[86,87,88],"th",{},"Component",[86,90,91],{},"What It Controls",[86,93,94],{},"Example",[96,97,98,112,125,138,151],"tbody",{},[83,99,100,106,109],{},[101,102,103],"td",{},[33,104,105],{},"Subject",[101,107,108],{},"Who or what is on screen",[101,110,111],{},"\"An astronaut in a white spacesuit on Mars\"",[83,113,114,119,122],{},[101,115,116],{},[33,117,118],{},"Action",[101,120,121],{},"Movement and events",[101,123,124],{},"\"Steps forward off the crater edge\"",[83,126,127,132,135],{},[101,128,129],{},[33,130,131],{},"Camera",[101,133,134],{},"Angle, movement, lens",[101,136,137],{},"\"Extreme wide shot, slow push-in to close-up\"",[83,139,140,145,148],{},[101,141,142],{},[33,143,144],{},"Style",[101,146,147],{},"Visual aesthetic",[101,149,150],{},"\"Sci-fi epic, IMAX 70mm, desaturated teal-orange palette\"",[83,152,153,158,161],{},[101,154,155],{},[33,156,157],{},"Constraints",[101,159,160],{},"Duration, resolution, mood",[101,162,163],{},"\"10 seconds, realistic dust physics, consistent spacesuit design\"",[165,166,168],"h3",{"id":167},"why-this-formula-works","Why This Formula Works",[10,170,171,172,177],{},"Seedance 2.0 uses a dual-branch ",[22,173,176],{"href":174,"rel":175},"https://arxiv.org/abs/2212.09748",[26],"Diffusion Transformer"," architecture. One branch processes spatial information (what things look like), while the other handles temporal information (how things move over time). A well-structured prompt feeds both branches clearly.",[10,179,180,181,185],{},"Vague prompts like ",[182,183,184],"em",{},"\"a cool video of a car\""," force the model to guess spatial and temporal details. Structured prompts eliminate that guesswork.",[10,187,188,189,17],{},"For the complete API parameter reference, see the ",[22,190,192],{"href":191},"/docs/models-overview","video generation docs",[165,194,196],{"id":195},"advanced-the-shot-script-format","Advanced: The Shot-Script Format",[10,198,199,200,17],{},"The five-part formula is a great starting point. But the highest-quality Seedance 2.0 outputs — the ones that go viral on social media — use a more powerful format: ",[33,201,202],{},"the shot script",[10,204,205],{},"A shot script adds three layers on top of the basic formula:",[207,208,209,220,226],"ol",{},[210,211,212,215,216,219],"li",{},[33,213,214],{},"Timecodes"," — Break your video into 3–5 second segments with explicit ",[14,217,218],{},"[00:00-00:05]"," markers",[210,221,222,225],{},[33,223,224],{},"Shot language"," — Name each shot and its function: \"Shot 1: The Scale (Extreme Wide Shot)\"",[210,227,228,231],{},[33,229,230],{},"Style anchors + physics details"," — Anchor to a specific director/film style, and describe physical reactions instead of abstract concepts",[10,233,234],{},"Here's the structure:",[236,237,242],"pre",{"className":238,"code":240,"language":241},[239],"language-text","【Style】Specific style anchor (director name / film style / art movement)\n【Duration】Total length\n\n[00:00-00:04] Shot 1: Shot Name (Camera Type).\nScene description with physical details.\nCharacter action with specific body language.\nAudio cue.\n\n[00:04-00:07] Shot 2: Shot Name (Camera Type).\n...\n\n[00:07-00:10] Shot 3: Shot Name (Camera Type).\n...\n\nConsistency constraints. Physics requirements. Palette notes.\n","text",[14,243,240],{"__ignoreMap":244},"",[246,247,249],"h4",{"id":248},"basic-formula-vs-shot-script-side-by-side","Basic Formula vs. Shot Script: Side-by-Side",[10,251,252],{},"Let's compare the same concept — an astronaut on Mars — written both ways:",[10,254,255],{},[33,256,257],{},"Basic formula (good for beginners):",[236,259,262],{"className":260,"code":261,"language":241},[239],"An astronaut in a white spacesuit stands at the edge of a Mars crater.\nRed dust blows across the visor. Camera slowly pushes in to reveal\nEarth reflected in the helmet. Sci-fi epic style, desaturated\nteal-orange palette. 10 seconds.\n",[14,263,261],{"__ignoreMap":244},[10,265,266],{},[33,267,268],{},"Shot script (used by top creators):",[236,270,273],{"className":271,"code":272,"language":241},[239],"【Style】Denis Villeneuve Sci-Fi Epic, IMAX 70mm, desaturated teal-orange palette.\n【Duration】10 seconds\n\n[00:00-00:04] Shot 1: The Scale (Extreme Wide Shot).\nA lone astronaut in a white spacesuit stands at the edge of an enormous\ncrater on Mars. Red dust blows across the visor in gusts. The crater\nstretches to the horizon — the scale of nature dwarfs the human figure\ncompletely. Deep rumbling bass audio.\n\n[00:04-00:07] Shot 2: The Discovery (Push-in to Close-up).\nCamera slowly pushes from the wide shot into a tight close-up of the\nastronaut's helmet visor. In the curved reflection, we see Earth — tiny,\nblue, impossibly far away. The astronaut's breathing is audible.\nAnamorphic lens flare streaks across the frame.\n\n[00:07-00:10] Shot 3: The Decision (Low Angle, Static).\nFrom below, the astronaut steps forward off the crater edge — a leap of\nfaith into the unknown. Dust particles float in slow motion around the\nboots. Camera holds steady as the figure descends. Cut to black.\n\nConsistent spacesuit design. Realistic Mars dust physics. Epic\norchestral audio swell on final shot.\n",[14,274,272],{"__ignoreMap":244},[246,276,278],{"id":277},"why-the-shot-script-produces-better-results","Why the Shot Script Produces Better Results",[10,280,281],{},"The shot script outperforms the basic formula for three reasons:",[207,283,284,294,300],{},[210,285,286,289,290,293],{},[33,287,288],{},"Temporal precision."," Timecodes tell Seedance exactly ",[182,291,292],{},"when"," each action happens. Without them, the model distributes actions unpredictably across the duration.",[210,295,296,299],{},[33,297,298],{},"Narrative arc."," Named shots force you to build a story: setup → discovery → payoff. The model generates more compelling motion when it understands the emotional progression.",[210,301,302,305],{},[33,303,304],{},"Physical grounding."," Details like \"dust particles float in slow motion around the boots\" give the physics engine concrete constraints instead of vague aesthetics.",[10,307,308,309,314],{},"Top creators on the ",[22,310,313],{"href":311,"rel":312},"https://github.com/EvoLinkAI/awesome-seedance-2-guide",[26],"awesome-seedance"," community consistently use shot-script format for their best work — from racing scenes to art-style transformations. The pattern is clear: structured timecodes + specific style anchors = cinematic output.",[10,316,317,318,17],{},"We break down these camera techniques step-by-step in our ",[22,319,321],{"href":320},"/blog/seedance-2-camera-movement-api","camera movement replication guide",[165,323,325],{"id":324},"text-only-vs-multimodal-prompts","Text-Only vs. Multimodal Prompts",[10,327,328,329,332],{},"A ",[33,330,331],{},"text-only prompt"," relies entirely on language to describe the scene:",[236,334,337],{"className":335,"code":336,"language":241},[239],"A red sports car drifts around a mountain curve, tires smoking,\ndrone shot tracking from above, cinematic color grading, 10 seconds\n",[14,338,336],{"__ignoreMap":244},[10,340,328,341,344],{},[33,342,343],{},"multimodal prompt"," combines text with uploaded references:",[236,346,349],{"className":347,"code":348,"language":241},[239],"image 1 as first frame, car drifts around the curve following\nvideo 1 camera path, audio 1 as engine sound, cinematic grading, 10 seconds\n",[14,350,348],{"__ignoreMap":244},[10,352,353],{},"The multimodal version gives Seedance 2.0 exact visual anchors instead of relying on the model's interpretation of \"red sports car.\"",[165,355,357],{"id":356},"your-first-seedance-20-prompt-api-example","Your First Seedance 2.0 Prompt — API Example",[10,359,360],{},"Here's a complete text-to-video generation call using the shot-script format:",[362,363,366,367],"video",{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},true,"width:100%;border-radius:12px;margin:1.5em 0","\n  ",[368,369],"source",{"src":370,"type":371},"https://cdn.evolink.ai/seedance2api/%E8%B5%9B%E8%BD%A6%E7%94%B5%E5%BD%B1%E6%84%9F.mp4","video/mp4",[236,373,377],{"className":374,"code":375,"language":376,"meta":244,"style":244},"language-python shiki shiki-themes github-dark","import requests\nimport os\nimport time\n\nAPI_KEY = os.environ.get(\"SEEDANCE_API_KEY\")\nBASE_URL = \"https://api.evolink.ai/v1\"\n\n# Submit generation task\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-text-to-video\",\n        \"prompt\": (\n            \"【Style】Hollywood Professional Racing Movie, Cinematic Night, Rain.\\n\"\n            \"【Duration】10 seconds\\n\\n\"\n            \"[00:00-00:03] Shot 1: The Veteran (Interior/Close-up).\\n\"\n            \"Rain hammers the windshield of a high-tech race car on a night track. \"\n            \"Inside the cockpit, the veteran driver in a black helmet looks sideways \"\n            \"at his rival. Dashboard instruments glow green on his visor.\\n\"\n            \"Dialogue Cue: He gives a subtle nod and mouths 'Let's go.'\\n\\n\"\n            \"[00:03-00:06] Shot 2: The Challenger (Interior/Close-up).\\n\"\n            \"Cut to the rival car. A younger driver grips the steering wheel with \"\n            \"white knuckles. Raindrops streak across the side window. Eyes wide with \"\n            \"adrenaline through the visor slit.\\n\"\n            \"Dialogue Cue: He whispers 'Focus' to himself.\\n\\n\"\n            \"[00:06-00:10] Shot 3: The Green Light (Wide Action Shot).\\n\"\n            \"Starting lights turn GREEN. Both cars launch forward in sync on gleaming \"\n            \"wet asphalt. Massive water rooster tails spray behind them. Rain hits \"\n            \"the camera lens. Motion blur turns stadium lights into long golden streaks.\\n\\n\"\n            \"Consistent car designs. Realistic rain physics, water reflections. \"\n            \"Tension-building audio.\"\n        ),\n        \"duration\": 10,\n        \"quality\": \"720p\"\n    }\n)\ntask = response.json()\ntask_id = task[\"id\"]\n\n# Poll for result\nwhile True:\n    status = requests.get(\n        f\"{BASE_URL}/tasks/{task_id}\",\n        headers={\"Authorization\": f\"Bearer {API_KEY}\"}\n    ).json()\n    if status[\"status\"] == \"completed\":\n        print(f\"Video ready: {status['results'][0]}\")\n        break\n    elif status[\"status\"] == \"failed\":\n        print(f\"Error: {status['error']}\")\n        break\n    time.sleep(5)\n","python",[14,378,379,392,400,408,414,434,445,450,457,469,487,519,530,543,552,564,575,585,591,597,607,617,627,633,639,649,659,669,675,681,691,697,703,709,722,733,739,744,755,772,777,783,795,806,831,856,862,885,922,928,947,974,979],{"__ignoreMap":244},[380,381,384,388],"span",{"class":382,"line":383},"line",1,[380,385,387],{"class":386},"snl16","import",[380,389,391],{"class":390},"s95oV"," requests\n",[380,393,395,397],{"class":382,"line":394},2,[380,396,387],{"class":386},[380,398,399],{"class":390}," os\n",[380,401,403,405],{"class":382,"line":402},3,[380,404,387],{"class":386},[380,406,407],{"class":390}," time\n",[380,409,411],{"class":382,"line":410},4,[380,412,413],{"emptyLinePlaceholder":364},"\n",[380,415,417,421,424,427,431],{"class":382,"line":416},5,[380,418,420],{"class":419},"sDLfK","API_KEY",[380,422,423],{"class":386}," =",[380,425,426],{"class":390}," os.environ.get(",[380,428,430],{"class":429},"sU2Wk","\"SEEDANCE_API_KEY\"",[380,432,433],{"class":390},")\n",[380,435,437,440,442],{"class":382,"line":436},6,[380,438,439],{"class":419},"BASE_URL",[380,441,423],{"class":386},[380,443,444],{"class":429}," \"https://api.evolink.ai/v1\"\n",[380,446,448],{"class":382,"line":447},7,[380,449,413],{"emptyLinePlaceholder":364},[380,451,453],{"class":382,"line":452},8,[380,454,456],{"class":455},"sAwPA","# Submit generation task\n",[380,458,460,463,466],{"class":382,"line":459},9,[380,461,462],{"class":390},"response ",[380,464,465],{"class":386},"=",[380,467,468],{"class":390}," requests.post(\n",[380,470,472,475,478,481,484],{"class":382,"line":471},10,[380,473,474],{"class":386},"    f",[380,476,477],{"class":429},"\"",[380,479,480],{"class":419},"{BASE_URL}",[380,482,483],{"class":429},"/videos/generations\"",[380,485,486],{"class":390},",\n",[380,488,490,494,496,499,502,505,508,511,514,516],{"class":382,"line":489},11,[380,491,493],{"class":492},"s9osk","    headers",[380,495,465],{"class":386},[380,497,498],{"class":390},"{",[380,500,501],{"class":429},"\"Authorization\"",[380,503,504],{"class":390},": ",[380,506,507],{"class":386},"f",[380,509,510],{"class":429},"\"Bearer ",[380,512,513],{"class":419},"{API_KEY}",[380,515,477],{"class":429},[380,517,518],{"class":390},"},\n",[380,520,522,525,527],{"class":382,"line":521},12,[380,523,524],{"class":492},"    json",[380,526,465],{"class":386},[380,528,529],{"class":390},"{\n",[380,531,533,536,538,541],{"class":382,"line":532},13,[380,534,535],{"class":429},"        \"model\"",[380,537,504],{"class":390},[380,539,540],{"class":429},"\"seedance-2.0-text-to-video\"",[380,542,486],{"class":390},[380,544,546,549],{"class":382,"line":545},14,[380,547,548],{"class":429},"        \"prompt\"",[380,550,551],{"class":390},": (\n",[380,553,555,558,561],{"class":382,"line":554},15,[380,556,557],{"class":429},"            \"【Style】Hollywood Professional Racing Movie, Cinematic Night, Rain.",[380,559,560],{"class":419},"\\n",[380,562,563],{"class":429},"\"\n",[380,565,567,570,573],{"class":382,"line":566},16,[380,568,569],{"class":429},"            \"【Duration】10 seconds",[380,571,572],{"class":419},"\\n\\n",[380,574,563],{"class":429},[380,576,578,581,583],{"class":382,"line":577},17,[380,579,580],{"class":429},"            \"[00:00-00:03] Shot 1: The Veteran (Interior/Close-up).",[380,582,560],{"class":419},[380,584,563],{"class":429},[380,586,588],{"class":382,"line":587},18,[380,589,590],{"class":429},"            \"Rain hammers the windshield of a high-tech race car on a night track. \"\n",[380,592,594],{"class":382,"line":593},19,[380,595,596],{"class":429},"            \"Inside the cockpit, the veteran driver in a black helmet looks sideways \"\n",[380,598,600,603,605],{"class":382,"line":599},20,[380,601,602],{"class":429},"            \"at his rival. Dashboard instruments glow green on his visor.",[380,604,560],{"class":419},[380,606,563],{"class":429},[380,608,610,613,615],{"class":382,"line":609},21,[380,611,612],{"class":429},"            \"Dialogue Cue: He gives a subtle nod and mouths 'Let's go.'",[380,614,572],{"class":419},[380,616,563],{"class":429},[380,618,620,623,625],{"class":382,"line":619},22,[380,621,622],{"class":429},"            \"[00:03-00:06] Shot 2: The Challenger (Interior/Close-up).",[380,624,560],{"class":419},[380,626,563],{"class":429},[380,628,630],{"class":382,"line":629},23,[380,631,632],{"class":429},"            \"Cut to the rival car. A younger driver grips the steering wheel with \"\n",[380,634,636],{"class":382,"line":635},24,[380,637,638],{"class":429},"            \"white knuckles. Raindrops streak across the side window. Eyes wide with \"\n",[380,640,642,645,647],{"class":382,"line":641},25,[380,643,644],{"class":429},"            \"adrenaline through the visor slit.",[380,646,560],{"class":419},[380,648,563],{"class":429},[380,650,652,655,657],{"class":382,"line":651},26,[380,653,654],{"class":429},"            \"Dialogue Cue: He whispers 'Focus' to himself.",[380,656,572],{"class":419},[380,658,563],{"class":429},[380,660,662,665,667],{"class":382,"line":661},27,[380,663,664],{"class":429},"            \"[00:06-00:10] Shot 3: The Green Light (Wide Action Shot).",[380,666,560],{"class":419},[380,668,563],{"class":429},[380,670,672],{"class":382,"line":671},28,[380,673,674],{"class":429},"            \"Starting lights turn GREEN. Both cars launch forward in sync on gleaming \"\n",[380,676,678],{"class":382,"line":677},29,[380,679,680],{"class":429},"            \"wet asphalt. Massive water rooster tails spray behind them. Rain hits \"\n",[380,682,684,687,689],{"class":382,"line":683},30,[380,685,686],{"class":429},"            \"the camera lens. Motion blur turns stadium lights into long golden streaks.",[380,688,572],{"class":419},[380,690,563],{"class":429},[380,692,694],{"class":382,"line":693},31,[380,695,696],{"class":429},"            \"Consistent car designs. Realistic rain physics, water reflections. \"\n",[380,698,700],{"class":382,"line":699},32,[380,701,702],{"class":429},"            \"Tension-building audio.\"\n",[380,704,706],{"class":382,"line":705},33,[380,707,708],{"class":390},"        ),\n",[380,710,712,715,717,720],{"class":382,"line":711},34,[380,713,714],{"class":429},"        \"duration\"",[380,716,504],{"class":390},[380,718,719],{"class":419},"10",[380,721,486],{"class":390},[380,723,725,728,730],{"class":382,"line":724},35,[380,726,727],{"class":429},"        \"quality\"",[380,729,504],{"class":390},[380,731,732],{"class":429},"\"720p\"\n",[380,734,736],{"class":382,"line":735},36,[380,737,738],{"class":390},"    }\n",[380,740,742],{"class":382,"line":741},37,[380,743,433],{"class":390},[380,745,747,750,752],{"class":382,"line":746},38,[380,748,749],{"class":390},"task ",[380,751,465],{"class":386},[380,753,754],{"class":390}," response.json()\n",[380,756,758,761,763,766,769],{"class":382,"line":757},39,[380,759,760],{"class":390},"task_id ",[380,762,465],{"class":386},[380,764,765],{"class":390}," task[",[380,767,768],{"class":429},"\"id\"",[380,770,771],{"class":390},"]\n",[380,773,775],{"class":382,"line":774},40,[380,776,413],{"emptyLinePlaceholder":364},[380,778,780],{"class":382,"line":779},41,[380,781,782],{"class":455},"# Poll for result\n",[380,784,786,789,792],{"class":382,"line":785},42,[380,787,788],{"class":386},"while",[380,790,791],{"class":419}," True",[380,793,794],{"class":390},":\n",[380,796,798,801,803],{"class":382,"line":797},43,[380,799,800],{"class":390},"    status ",[380,802,465],{"class":386},[380,804,805],{"class":390}," requests.get(\n",[380,807,809,812,814,816,819,821,824,827,829],{"class":382,"line":808},44,[380,810,811],{"class":386},"        f",[380,813,477],{"class":429},[380,815,480],{"class":419},[380,817,818],{"class":429},"/tasks/",[380,820,498],{"class":419},[380,822,823],{"class":390},"task_id",[380,825,826],{"class":419},"}",[380,828,477],{"class":429},[380,830,486],{"class":390},[380,832,834,837,839,841,843,845,847,849,851,853],{"class":382,"line":833},45,[380,835,836],{"class":492},"        headers",[380,838,465],{"class":386},[380,840,498],{"class":390},[380,842,501],{"class":429},[380,844,504],{"class":390},[380,846,507],{"class":386},[380,848,510],{"class":429},[380,850,513],{"class":419},[380,852,477],{"class":429},[380,854,855],{"class":390},"}\n",[380,857,859],{"class":382,"line":858},46,[380,860,861],{"class":390},"    ).json()\n",[380,863,865,868,871,874,877,880,883],{"class":382,"line":864},47,[380,866,867],{"class":386},"    if",[380,869,870],{"class":390}," status[",[380,872,873],{"class":429},"\"status\"",[380,875,876],{"class":390},"] ",[380,878,879],{"class":386},"==",[380,881,882],{"class":429}," \"completed\"",[380,884,794],{"class":390},[380,886,888,891,894,896,899,901,904,907,910,913,916,918,920],{"class":382,"line":887},48,[380,889,890],{"class":419},"        print",[380,892,893],{"class":390},"(",[380,895,507],{"class":386},[380,897,898],{"class":429},"\"Video ready: ",[380,900,498],{"class":419},[380,902,903],{"class":390},"status[",[380,905,906],{"class":429},"'results'",[380,908,909],{"class":390},"][",[380,911,912],{"class":419},"0",[380,914,915],{"class":390},"]",[380,917,826],{"class":419},[380,919,477],{"class":429},[380,921,433],{"class":390},[380,923,925],{"class":382,"line":924},49,[380,926,927],{"class":386},"        break\n",[380,929,931,934,936,938,940,942,945],{"class":382,"line":930},50,[380,932,933],{"class":386},"    elif",[380,935,870],{"class":390},[380,937,873],{"class":429},[380,939,876],{"class":390},[380,941,879],{"class":386},[380,943,944],{"class":429}," \"failed\"",[380,946,794],{"class":390},[380,948,950,952,954,956,959,961,963,966,968,970,972],{"class":382,"line":949},51,[380,951,890],{"class":419},[380,953,893],{"class":390},[380,955,507],{"class":386},[380,957,958],{"class":429},"\"Error: ",[380,960,498],{"class":419},[380,962,903],{"class":390},[380,964,965],{"class":429},"'error'",[380,967,915],{"class":390},[380,969,826],{"class":419},[380,971,477],{"class":429},[380,973,433],{"class":390},[380,975,977],{"class":382,"line":976},52,[380,978,927],{"class":386},[380,980,982,985,988],{"class":382,"line":981},53,[380,983,984],{"class":390},"    time.sleep(",[380,986,987],{"class":419},"5",[380,989,433],{"class":390},[10,991,992],{},"This produces a 10-second, 720p video with native audio output. The shot script gives Seedance clear timecodes, camera directions, and physical details — resulting in a cinematic three-act racing sequence from a single text prompt.",[10,994,995,996,1000],{},"New to the API? Start with the ",[22,997,999],{"href":998},"/docs/getting-started","getting started guide"," for setup and authentication.",[46,1002,1003],{},[10,1004,1005,1008,1009,1011,1012,1011,1014,1016],{},[33,1006,1007],{},"Note:"," All following code examples use the same setup. Copy the ",[14,1010,387],{},", ",[14,1013,420],{},[14,1015,439],{},", and polling logic from the example above. We show only the API call with the unique prompt and parameters.",[61,1018],{},[64,1020,1022],{"id":1021},"the-tag-reference-system-explained","The @Tag Reference System Explained",[10,1024,1025,1026,1028],{},"The ",[14,1027,39],{}," system is what makes Seedance 2.0 prompts truly multimodal. When you upload files, each one gets an automatic tag based on its type and upload order.",[165,1030,1032],{"id":1031},"syntax-rules","Syntax Rules",[1034,1035,1036,1052,1067,1082],"ul",{},[210,1037,1038,53,1041,1011,1044,1047,1048,1051],{},[33,1039,1040],{},"Images:",[14,1042,1043],{},"image 1",[14,1045,1046],{},"image 2",", ... ",[14,1049,1050],{},"image 9"," (up to 9 images)",[210,1053,1054,53,1057,1011,1060,1011,1063,1066],{},[33,1055,1056],{},"Videos:",[14,1058,1059],{},"video 1",[14,1061,1062],{},"video 2",[14,1064,1065],{},"video 3"," (up to 3 clips)",[210,1068,1069,53,1072,1011,1075,1011,1078,1081],{},[33,1070,1071],{},"Audio:",[14,1073,1074],{},"audio 1",[14,1076,1077],{},"audio 2",[14,1079,1080],{},"audio 3"," (up to 3 files)",[210,1083,1084,1087],{},[33,1085,1086],{},"Total file limit:"," 12 files per request",[10,1089,1090,1091,1094],{},"Tags are assigned in upload order within each type. Your prompt text tells Seedance ",[182,1092,1093],{},"how"," to use each reference.",[10,1096,1097,1098,17],{},"For a deep dive into every @tag pattern with 8+ real-world cases, see the ",[22,1099,1101],{"href":1100},"/blog/seedance-2-multimodal-tags-guide","complete @Tags guide",[165,1103,1105],{"id":1104},"_5-ways-to-use-image-references","5 Ways to Use Image References",[77,1107,1108,1121],{},[80,1109,1110],{},[83,1111,1112,1115,1118],{},[86,1113,1114],{},"Usage",[86,1116,1117],{},"Prompt Syntax",[86,1119,1120],{},"What It Does",[96,1122,1123,1138,1153,1168,1183],{},[83,1124,1125,1130,1135],{},[101,1126,1127],{},[33,1128,1129],{},"First frame",[101,1131,1132],{},[14,1133,1134],{},"image 1 as first frame",[101,1136,1137],{},"Video starts from this exact image",[83,1139,1140,1145,1150],{},[101,1141,1142],{},[33,1143,1144],{},"Last frame",[101,1146,1147],{},[14,1148,1149],{},"image 1 as last frame",[101,1151,1152],{},"Video ends at this image",[83,1154,1155,1160,1165],{},[101,1156,1157],{},[33,1158,1159],{},"Character appearance",[101,1161,1162],{},[14,1163,1164],{},"image 1 as character reference",[101,1166,1167],{},"Preserves character look throughout",[83,1169,1170,1175,1180],{},[101,1171,1172],{},[33,1173,1174],{},"Scene environment",[101,1176,1177],{},[14,1178,1179],{},"image 1 as background environment",[101,1181,1182],{},"Uses image as scene setting",[83,1184,1185,1190,1195],{},[101,1186,1187],{},[33,1188,1189],{},"Style / aesthetic",[101,1191,1192],{},[14,1193,1194],{},"image 1 as style reference",[101,1196,1197],{},"Matches color palette, texture, mood",[165,1199,1201],{"id":1200},"_4-ways-to-use-video-references","4 Ways to Use Video References",[77,1203,1204,1214],{},[80,1205,1206],{},[83,1207,1208,1210,1212],{},[86,1209,1114],{},[86,1211,1117],{},[86,1213,1120],{},[96,1215,1216,1231,1246,1261],{},[83,1217,1218,1223,1228],{},[101,1219,1220],{},[33,1221,1222],{},"Camera replication",[101,1224,1225],{},[14,1226,1227],{},"follow video 1 camera movement",[101,1229,1230],{},"Copies pan, tilt, zoom pattern",[83,1232,1233,1238,1243],{},[101,1234,1235],{},[33,1236,1237],{},"Motion imitation",[101,1239,1240],{},[14,1241,1242],{},"character moves like video 1",[101,1244,1245],{},"Transfers body motion / choreography",[83,1247,1248,1253,1258],{},[101,1249,1250],{},[33,1251,1252],{},"Effect replication",[101,1254,1255],{},[14,1256,1257],{},"apply video 1 transition effects",[101,1259,1260],{},"Matches visual effects and transitions",[83,1262,1263,1268,1273],{},[101,1264,1265],{},[33,1266,1267],{},"Rhythm reference",[101,1269,1270],{},[14,1271,1272],{},"match video 1 pacing and cuts",[101,1274,1275],{},"Syncs timing and scene rhythm",[165,1277,1279],{"id":1278},"_3-ways-to-use-audio-references","3 Ways to Use Audio References",[77,1281,1282,1292],{},[80,1283,1284],{},[83,1285,1286,1288,1290],{},[86,1287,1114],{},[86,1289,1117],{},[86,1291,1120],{},[96,1293,1294,1309,1324],{},[83,1295,1296,1301,1306],{},[101,1297,1298],{},[33,1299,1300],{},"Background music",[101,1302,1303],{},[14,1304,1305],{},"audio 1 as background soundtrack",[101,1307,1308],{},"Sets mood with uploaded music",[83,1310,1311,1316,1321],{},[101,1312,1313],{},[33,1314,1315],{},"Sound effects",[101,1317,1318],{},[14,1319,1320],{},"audio 1 as ambient sound",[101,1322,1323],{},"Adds specific sound effects",[83,1325,1326,1331,1336],{},[101,1327,1328],{},[33,1329,1330],{},"Voice style",[101,1332,1333],{},[14,1334,1335],{},"audio 1 as voice style reference",[101,1337,1338],{},"Matches vocal tone and cadence",[165,1340,1342],{"id":1341},"optimal-file-allocation-strategy","Optimal File Allocation Strategy",[10,1344,1345],{},"With a 12-file limit, here's how to distribute references for different use cases:",[77,1347,1348,1367],{},[80,1349,1350],{},[83,1351,1352,1355,1358,1361,1364],{},[86,1353,1354],{},"Use Case",[86,1356,1357],{},"Images",[86,1359,1360],{},"Videos",[86,1362,1363],{},"Audio",[86,1365,1366],{},"Total",[96,1368,1369,1386,1401,1418,1434],{},[83,1370,1371,1374,1377,1380,1383],{},[101,1372,1373],{},"Product commercial",[101,1375,1376],{},"4 (product angles)",[101,1378,1379],{},"1 (camera ref)",[101,1381,1382],{},"1 (music)",[101,1384,1385],{},"6",[83,1387,1388,1391,1394,1397,1399],{},[101,1389,1390],{},"Character animation",[101,1392,1393],{},"3 (character + scene)",[101,1395,1396],{},"2 (motion ref)",[101,1398,1382],{},[101,1400,1385],{},[83,1402,1403,1406,1409,1412,1415],{},[101,1404,1405],{},"Music video",[101,1407,1408],{},"2 (style + character)",[101,1410,1411],{},"2 (dance ref)",[101,1413,1414],{},"3 (tracks)",[101,1416,1417],{},"7",[83,1419,1420,1423,1426,1429,1431],{},[101,1421,1422],{},"Multi-shot narrative",[101,1424,1425],{},"6 (scene keyframes)",[101,1427,1428],{},"1 (style ref)",[101,1430,1382],{},[101,1432,1433],{},"8",[83,1435,1436,1439,1442,1444,1447],{},[101,1437,1438],{},"Maximum quality single shot",[101,1440,1441],{},"9 (all angles)",[101,1443,912],{},[101,1445,1446],{},"3 (audio layers)",[101,1448,1449],{},"12",[46,1451,1452],{},[10,1453,1454,1457],{},[33,1455,1456],{},"Tip:"," You rarely need all 12 slots. Fewer, higher-quality references usually outperform many low-quality ones.",[61,1459],{},[64,1461,1463],{"id":1462},"_15-ready-to-use-seedance-prompt-templates","15+ Ready-to-Use Seedance Prompt Templates",[165,1465,1467],{"id":1466},"text-to-video-prompt-templates","Text-to-Video Prompt Templates",[246,1469,1471],{"id":1470},"t1-multi-character-dialogue-short-film","T1: Multi-Character Dialogue Short Film",[10,1473,1474,1477],{},[33,1475,1476],{},"Description:"," Two animated characters with distinct vocal personalities engage in dynamic conversation, showcasing voice acting capabilities — now in shot-script format.",[362,1479,366,1480],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,1481],{"src":1482,"type":371},"https://cdn.evolink.ai/seedance2api/%E7%8C%AB%E7%8B%97%E8%B0%88%E5%BF%83.mp4",[236,1484,1486],{"className":374,"code":1485,"language":376,"meta":244,"style":244},"# T1: Multi-Character Dialogue — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-text-to-video\",\n        \"prompt\": (\n            \"【Style】Pixar-quality 3D animation, warm color palette, expressive character acting.\\n\"\n            \"【Duration】12 seconds\\n\\n\"\n            \"[00:00-00:04] Shot 1: The Philosopher (Medium Close-up).\\n\"\n            \"A wise old cat in round spectacles sits at a cozy cafe table, paws wrapped \"\n            \"around a tiny porcelain cup. Steam curls upward. The cat speaks in a calm, \"\n            \"measured tone: 'Experience teaches patience, young friend.' Warm afternoon \"\n            \"light through the cafe window. Subtle ear twitch.\\n\\n\"\n            \"[00:04-00:08] Shot 2: The Adventurer (Medium Close-up, Reverse Shot).\\n\"\n            \"Cut to the opposite side of the table. An energetic young golden retriever \"\n            \"bounces in his seat, tail wagging visibly behind the chair. He leans forward \"\n            \"with wide eyes and responds: 'But adventure awaits right now!' His paws \"\n            \"gesture wildly, nearly knocking over a pastry plate.\\n\\n\"\n            \"[00:08-00:12] Shot 3: The Punchline (Wide Two-Shot).\\n\"\n            \"Camera pulls back to show both at the table. The cat calmly catches the \"\n            \"falling pastry with one paw without looking — places it back. The dog's jaw \"\n            \"drops in amazement. Beat of silence. Both burst into laughter.\\n\\n\"\n            \"Consistent character designs throughout. Distinct vocal timbres per character. \"\n            \"Warm cafe lighting with bokeh background.\"\n        ),\n        \"duration\": 12,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,1487,1488,1493,1501,1513,1535,1543,1553,1559,1568,1577,1586,1591,1596,1601,1610,1619,1624,1629,1634,1643,1652,1657,1662,1671,1676,1681,1685,1695,1703,1707,1711],{"__ignoreMap":244},[380,1489,1490],{"class":382,"line":383},[380,1491,1492],{"class":455},"# T1: Multi-Character Dialogue — uses setup from first example above\n",[380,1494,1495,1497,1499],{"class":382,"line":394},[380,1496,462],{"class":390},[380,1498,465],{"class":386},[380,1500,468],{"class":390},[380,1502,1503,1505,1507,1509,1511],{"class":382,"line":402},[380,1504,474],{"class":386},[380,1506,477],{"class":429},[380,1508,480],{"class":419},[380,1510,483],{"class":429},[380,1512,486],{"class":390},[380,1514,1515,1517,1519,1521,1523,1525,1527,1529,1531,1533],{"class":382,"line":410},[380,1516,493],{"class":492},[380,1518,465],{"class":386},[380,1520,498],{"class":390},[380,1522,501],{"class":429},[380,1524,504],{"class":390},[380,1526,507],{"class":386},[380,1528,510],{"class":429},[380,1530,513],{"class":419},[380,1532,477],{"class":429},[380,1534,518],{"class":390},[380,1536,1537,1539,1541],{"class":382,"line":416},[380,1538,524],{"class":492},[380,1540,465],{"class":386},[380,1542,529],{"class":390},[380,1544,1545,1547,1549,1551],{"class":382,"line":436},[380,1546,535],{"class":429},[380,1548,504],{"class":390},[380,1550,540],{"class":429},[380,1552,486],{"class":390},[380,1554,1555,1557],{"class":382,"line":447},[380,1556,548],{"class":429},[380,1558,551],{"class":390},[380,1560,1561,1564,1566],{"class":382,"line":452},[380,1562,1563],{"class":429},"            \"【Style】Pixar-quality 3D animation, warm color palette, expressive character acting.",[380,1565,560],{"class":419},[380,1567,563],{"class":429},[380,1569,1570,1573,1575],{"class":382,"line":459},[380,1571,1572],{"class":429},"            \"【Duration】12 seconds",[380,1574,572],{"class":419},[380,1576,563],{"class":429},[380,1578,1579,1582,1584],{"class":382,"line":471},[380,1580,1581],{"class":429},"            \"[00:00-00:04] Shot 1: The Philosopher (Medium Close-up).",[380,1583,560],{"class":419},[380,1585,563],{"class":429},[380,1587,1588],{"class":382,"line":489},[380,1589,1590],{"class":429},"            \"A wise old cat in round spectacles sits at a cozy cafe table, paws wrapped \"\n",[380,1592,1593],{"class":382,"line":521},[380,1594,1595],{"class":429},"            \"around a tiny porcelain cup. Steam curls upward. The cat speaks in a calm, \"\n",[380,1597,1598],{"class":382,"line":532},[380,1599,1600],{"class":429},"            \"measured tone: 'Experience teaches patience, young friend.' Warm afternoon \"\n",[380,1602,1603,1606,1608],{"class":382,"line":545},[380,1604,1605],{"class":429},"            \"light through the cafe window. Subtle ear twitch.",[380,1607,572],{"class":419},[380,1609,563],{"class":429},[380,1611,1612,1615,1617],{"class":382,"line":554},[380,1613,1614],{"class":429},"            \"[00:04-00:08] Shot 2: The Adventurer (Medium Close-up, Reverse Shot).",[380,1616,560],{"class":419},[380,1618,563],{"class":429},[380,1620,1621],{"class":382,"line":566},[380,1622,1623],{"class":429},"            \"Cut to the opposite side of the table. An energetic young golden retriever \"\n",[380,1625,1626],{"class":382,"line":577},[380,1627,1628],{"class":429},"            \"bounces in his seat, tail wagging visibly behind the chair. He leans forward \"\n",[380,1630,1631],{"class":382,"line":587},[380,1632,1633],{"class":429},"            \"with wide eyes and responds: 'But adventure awaits right now!' His paws \"\n",[380,1635,1636,1639,1641],{"class":382,"line":593},[380,1637,1638],{"class":429},"            \"gesture wildly, nearly knocking over a pastry plate.",[380,1640,572],{"class":419},[380,1642,563],{"class":429},[380,1644,1645,1648,1650],{"class":382,"line":599},[380,1646,1647],{"class":429},"            \"[00:08-00:12] Shot 3: The Punchline (Wide Two-Shot).",[380,1649,560],{"class":419},[380,1651,563],{"class":429},[380,1653,1654],{"class":382,"line":609},[380,1655,1656],{"class":429},"            \"Camera pulls back to show both at the table. The cat calmly catches the \"\n",[380,1658,1659],{"class":382,"line":619},[380,1660,1661],{"class":429},"            \"falling pastry with one paw without looking — places it back. The dog's jaw \"\n",[380,1663,1664,1667,1669],{"class":382,"line":629},[380,1665,1666],{"class":429},"            \"drops in amazement. Beat of silence. Both burst into laughter.",[380,1668,572],{"class":419},[380,1670,563],{"class":429},[380,1672,1673],{"class":382,"line":635},[380,1674,1675],{"class":429},"            \"Consistent character designs throughout. Distinct vocal timbres per character. \"\n",[380,1677,1678],{"class":382,"line":641},[380,1679,1680],{"class":429},"            \"Warm cafe lighting with bokeh background.\"\n",[380,1682,1683],{"class":382,"line":651},[380,1684,708],{"class":390},[380,1686,1687,1689,1691,1693],{"class":382,"line":661},[380,1688,714],{"class":429},[380,1690,504],{"class":390},[380,1692,1449],{"class":419},[380,1694,486],{"class":390},[380,1696,1697,1699,1701],{"class":382,"line":671},[380,1698,727],{"class":429},[380,1700,504],{"class":390},[380,1702,732],{"class":429},[380,1704,1705],{"class":382,"line":677},[380,1706,738],{"class":390},[380,1708,1709],{"class":382,"line":683},[380,1710,433],{"class":390},[380,1712,1713],{"class":382,"line":693},[380,1714,1715],{"class":455},"# Poll with the same while loop from the first example\n",[246,1717,1719],{"id":1718},"t2-style-transformation-living-van-gogh-painting","T2: Style Transformation — Living Van Gogh Painting",[10,1721,1722,1724],{},[33,1723,1476],{}," Transforms a classic post-impressionist scene into a breathing, moving world — demonstrating precise artistic style control through prompt engineering.",[362,1726,366,1727],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,1728],{"src":1729,"type":371},"https://cdn.evolink.ai/seedance2api/%E6%A2%B5%E9%AB%98%E7%94%BB%E5%A5%B3%E5%AD%A9%E4%B8%8E%E6%9D%91%E5%BA%84.mp4",[236,1731,1733],{"className":374,"code":1732,"language":376,"meta":244,"style":244},"# T2: Style Transformation — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-text-to-video\",\n        \"prompt\": (\n            \"【Style】Van Gogh Post-Impressionism, thick impasto oil paint texture, \"\n            \"swirling brushstrokes, dreamy high-saturation.\\n\"\n            \"【Duration】10 seconds\\n\\n\"\n            \"[00:00-00:04] Shot 1: The Living Sky (Wide Shot, Slow Pan Up).\\n\"\n            \"A young woman in a flowing blue dress stands in a sunlit village square. \"\n            \"Behind her, cobblestone streets and rustic cottages are painted with thick, \"\n            \"visible brushstrokes. The entire sky swirls with golden celestial bodies \"\n            \"and flowing paint. Everything moves — the sky itself breathes.\\n\\n\"\n            \"[00:04-00:07] Shot 2: The Portrait Focus (Medium Shot, Slow Pan Down).\\n\"\n            \"Camera pushes in closer to the woman's face. Her features are rendered \"\n            \"in Van Gogh's distinctive style — bold brushstrokes define her cheekbones \"\n            \"and flowing hair. The village behind her shifts with painted texture, \"\n            \"windows glowing with warm yellow-orange light.\\n\\n\"\n            \"[00:07-00:10] Shot 3: The Immersion (Tracking Shot, Moving Into the Painting).\\n\"\n            \"Camera slowly pushes forward deeper into the painted world. We move past \"\n            \"the woman, through the village streets. Paint texture becomes visible at \"\n            \"close range. The entire world is alive with flowing brushstrokes.\\n\\n\"\n            \"Pure Van Gogh aesthetic throughout. No photorealism. Every surface is visible \"\n            \"oil paint. Blue-yellow-orange palette dominant.\"\n        ),\n        \"duration\": 10,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,1734,1735,1740,1748,1760,1782,1790,1800,1806,1811,1820,1828,1837,1842,1847,1852,1861,1870,1875,1880,1885,1894,1903,1908,1913,1922,1927,1932,1936,1946,1954,1958,1962],{"__ignoreMap":244},[380,1736,1737],{"class":382,"line":383},[380,1738,1739],{"class":455},"# T2: Style Transformation — uses setup from first example above\n",[380,1741,1742,1744,1746],{"class":382,"line":394},[380,1743,462],{"class":390},[380,1745,465],{"class":386},[380,1747,468],{"class":390},[380,1749,1750,1752,1754,1756,1758],{"class":382,"line":402},[380,1751,474],{"class":386},[380,1753,477],{"class":429},[380,1755,480],{"class":419},[380,1757,483],{"class":429},[380,1759,486],{"class":390},[380,1761,1762,1764,1766,1768,1770,1772,1774,1776,1778,1780],{"class":382,"line":410},[380,1763,493],{"class":492},[380,1765,465],{"class":386},[380,1767,498],{"class":390},[380,1769,501],{"class":429},[380,1771,504],{"class":390},[380,1773,507],{"class":386},[380,1775,510],{"class":429},[380,1777,513],{"class":419},[380,1779,477],{"class":429},[380,1781,518],{"class":390},[380,1783,1784,1786,1788],{"class":382,"line":416},[380,1785,524],{"class":492},[380,1787,465],{"class":386},[380,1789,529],{"class":390},[380,1791,1792,1794,1796,1798],{"class":382,"line":436},[380,1793,535],{"class":429},[380,1795,504],{"class":390},[380,1797,540],{"class":429},[380,1799,486],{"class":390},[380,1801,1802,1804],{"class":382,"line":447},[380,1803,548],{"class":429},[380,1805,551],{"class":390},[380,1807,1808],{"class":382,"line":452},[380,1809,1810],{"class":429},"            \"【Style】Van Gogh Post-Impressionism, thick impasto oil paint texture, \"\n",[380,1812,1813,1816,1818],{"class":382,"line":459},[380,1814,1815],{"class":429},"            \"swirling brushstrokes, dreamy high-saturation.",[380,1817,560],{"class":419},[380,1819,563],{"class":429},[380,1821,1822,1824,1826],{"class":382,"line":471},[380,1823,569],{"class":429},[380,1825,572],{"class":419},[380,1827,563],{"class":429},[380,1829,1830,1833,1835],{"class":382,"line":489},[380,1831,1832],{"class":429},"            \"[00:00-00:04] Shot 1: The Living Sky (Wide Shot, Slow Pan Up).",[380,1834,560],{"class":419},[380,1836,563],{"class":429},[380,1838,1839],{"class":382,"line":521},[380,1840,1841],{"class":429},"            \"A young woman in a flowing blue dress stands in a sunlit village square. \"\n",[380,1843,1844],{"class":382,"line":532},[380,1845,1846],{"class":429},"            \"Behind her, cobblestone streets and rustic cottages are painted with thick, \"\n",[380,1848,1849],{"class":382,"line":545},[380,1850,1851],{"class":429},"            \"visible brushstrokes. The entire sky swirls with golden celestial bodies \"\n",[380,1853,1854,1857,1859],{"class":382,"line":554},[380,1855,1856],{"class":429},"            \"and flowing paint. Everything moves — the sky itself breathes.",[380,1858,572],{"class":419},[380,1860,563],{"class":429},[380,1862,1863,1866,1868],{"class":382,"line":566},[380,1864,1865],{"class":429},"            \"[00:04-00:07] Shot 2: The Portrait Focus (Medium Shot, Slow Pan Down).",[380,1867,560],{"class":419},[380,1869,563],{"class":429},[380,1871,1872],{"class":382,"line":577},[380,1873,1874],{"class":429},"            \"Camera pushes in closer to the woman's face. Her features are rendered \"\n",[380,1876,1877],{"class":382,"line":587},[380,1878,1879],{"class":429},"            \"in Van Gogh's distinctive style — bold brushstrokes define her cheekbones \"\n",[380,1881,1882],{"class":382,"line":593},[380,1883,1884],{"class":429},"            \"and flowing hair. The village behind her shifts with painted texture, \"\n",[380,1886,1887,1890,1892],{"class":382,"line":599},[380,1888,1889],{"class":429},"            \"windows glowing with warm yellow-orange light.",[380,1891,572],{"class":419},[380,1893,563],{"class":429},[380,1895,1896,1899,1901],{"class":382,"line":609},[380,1897,1898],{"class":429},"            \"[00:07-00:10] Shot 3: The Immersion (Tracking Shot, Moving Into the Painting).",[380,1900,560],{"class":419},[380,1902,563],{"class":429},[380,1904,1905],{"class":382,"line":619},[380,1906,1907],{"class":429},"            \"Camera slowly pushes forward deeper into the painted world. We move past \"\n",[380,1909,1910],{"class":382,"line":629},[380,1911,1912],{"class":429},"            \"the woman, through the village streets. Paint texture becomes visible at \"\n",[380,1914,1915,1918,1920],{"class":382,"line":635},[380,1916,1917],{"class":429},"            \"close range. The entire world is alive with flowing brushstrokes.",[380,1919,572],{"class":419},[380,1921,563],{"class":429},[380,1923,1924],{"class":382,"line":641},[380,1925,1926],{"class":429},"            \"Pure Van Gogh aesthetic throughout. No photorealism. Every surface is visible \"\n",[380,1928,1929],{"class":382,"line":651},[380,1930,1931],{"class":429},"            \"oil paint. Blue-yellow-orange palette dominant.\"\n",[380,1933,1934],{"class":382,"line":661},[380,1935,708],{"class":390},[380,1937,1938,1940,1942,1944],{"class":382,"line":671},[380,1939,714],{"class":429},[380,1941,504],{"class":390},[380,1943,719],{"class":419},[380,1945,486],{"class":390},[380,1947,1948,1950,1952],{"class":382,"line":677},[380,1949,727],{"class":429},[380,1951,504],{"class":390},[380,1953,732],{"class":429},[380,1955,1956],{"class":382,"line":683},[380,1957,738],{"class":390},[380,1959,1960],{"class":382,"line":693},[380,1961,433],{"class":390},[380,1963,1964],{"class":382,"line":699},[380,1965,1715],{"class":455},[246,1967,1969],{"id":1968},"t3-emotional-expression-anime-character-performance","T3: Emotional Expression — Anime Character Performance",[10,1971,1972,1974],{},[33,1973,1476],{}," An anime-style character reading a letter with detailed emotional expression changes, demonstrating how text-only prompts can create nuanced character acting.",[362,1976,366,1977],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,1978],{"src":1979,"type":371},"https://cdn.evolink.ai/seedance2api/%E5%8A%A8%E6%BC%AB%E4%BA%BA%E7%89%A9%E8%AF%BB%E4%BF%A1%E8%A1%A8%E6%83%85.mp4",[236,1981,1983],{"className":374,"code":1982,"language":376,"meta":244,"style":244},"# T3: Emotional Expression — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-text-to-video\",\n        \"prompt\": (\n            \"【Style】High-quality anime, Studio Ghibli-inspired character animation, \"\n            \"detailed facial expressions.\\n\"\n            \"【Duration】12 seconds\\n\\n\"\n            \"[00:00-00:04] Shot 1: The Letter Arrives (Medium Close-up).\\n\"\n            \"A young anime girl with long black hair sits by a sunlit window. She holds \"\n            \"an unopened envelope with both hands, turning it over carefully. Her eyes \"\n            \"show curiosity mixed with anticipation. Soft morning light illuminates her face.\\n\\n\"\n            \"[00:04-00:08] Shot 2: The Reading (Close-up on Face).\\n\"\n            \"Camera pushes closer as she opens the letter and begins reading. Her \"\n            \"expression changes dramatically — eyes widening with surprise, then a slow \"\n            \"smile spreading across her face. Her lips part slightly as if to gasp. \"\n            \"Every micro-expression is clearly animated.\\n\\n\"\n            \"[00:08-00:12] Shot 3: The Joy (Medium Shot, Slight Pull Back).\\n\"\n            \"She clutches the letter to her chest and closes her eyes with pure happiness. \"\n            \"A single tear of joy rolls down her cheek. Cherry blossom petals drift past \"\n            \"the window behind her. Camera holds on her peaceful, radiant expression.\\n\\n\"\n            \"Consistent anime character design. Detailed emotional facial animation. \"\n            \"Natural lighting transitions.\"\n        ),\n        \"duration\": 12,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,1984,1985,1990,1998,2010,2032,2040,2050,2056,2061,2070,2078,2087,2092,2097,2106,2115,2120,2125,2130,2139,2148,2153,2158,2167,2172,2177,2181,2191,2199,2203,2207],{"__ignoreMap":244},[380,1986,1987],{"class":382,"line":383},[380,1988,1989],{"class":455},"# T3: Emotional Expression — uses setup from first example above\n",[380,1991,1992,1994,1996],{"class":382,"line":394},[380,1993,462],{"class":390},[380,1995,465],{"class":386},[380,1997,468],{"class":390},[380,1999,2000,2002,2004,2006,2008],{"class":382,"line":402},[380,2001,474],{"class":386},[380,2003,477],{"class":429},[380,2005,480],{"class":419},[380,2007,483],{"class":429},[380,2009,486],{"class":390},[380,2011,2012,2014,2016,2018,2020,2022,2024,2026,2028,2030],{"class":382,"line":410},[380,2013,493],{"class":492},[380,2015,465],{"class":386},[380,2017,498],{"class":390},[380,2019,501],{"class":429},[380,2021,504],{"class":390},[380,2023,507],{"class":386},[380,2025,510],{"class":429},[380,2027,513],{"class":419},[380,2029,477],{"class":429},[380,2031,518],{"class":390},[380,2033,2034,2036,2038],{"class":382,"line":416},[380,2035,524],{"class":492},[380,2037,465],{"class":386},[380,2039,529],{"class":390},[380,2041,2042,2044,2046,2048],{"class":382,"line":436},[380,2043,535],{"class":429},[380,2045,504],{"class":390},[380,2047,540],{"class":429},[380,2049,486],{"class":390},[380,2051,2052,2054],{"class":382,"line":447},[380,2053,548],{"class":429},[380,2055,551],{"class":390},[380,2057,2058],{"class":382,"line":452},[380,2059,2060],{"class":429},"            \"【Style】High-quality anime, Studio Ghibli-inspired character animation, \"\n",[380,2062,2063,2066,2068],{"class":382,"line":459},[380,2064,2065],{"class":429},"            \"detailed facial expressions.",[380,2067,560],{"class":419},[380,2069,563],{"class":429},[380,2071,2072,2074,2076],{"class":382,"line":471},[380,2073,1572],{"class":429},[380,2075,572],{"class":419},[380,2077,563],{"class":429},[380,2079,2080,2083,2085],{"class":382,"line":489},[380,2081,2082],{"class":429},"            \"[00:00-00:04] Shot 1: The Letter Arrives (Medium Close-up).",[380,2084,560],{"class":419},[380,2086,563],{"class":429},[380,2088,2089],{"class":382,"line":521},[380,2090,2091],{"class":429},"            \"A young anime girl with long black hair sits by a sunlit window. She holds \"\n",[380,2093,2094],{"class":382,"line":532},[380,2095,2096],{"class":429},"            \"an unopened envelope with both hands, turning it over carefully. Her eyes \"\n",[380,2098,2099,2102,2104],{"class":382,"line":545},[380,2100,2101],{"class":429},"            \"show curiosity mixed with anticipation. Soft morning light illuminates her face.",[380,2103,572],{"class":419},[380,2105,563],{"class":429},[380,2107,2108,2111,2113],{"class":382,"line":554},[380,2109,2110],{"class":429},"            \"[00:04-00:08] Shot 2: The Reading (Close-up on Face).",[380,2112,560],{"class":419},[380,2114,563],{"class":429},[380,2116,2117],{"class":382,"line":566},[380,2118,2119],{"class":429},"            \"Camera pushes closer as she opens the letter and begins reading. Her \"\n",[380,2121,2122],{"class":382,"line":577},[380,2123,2124],{"class":429},"            \"expression changes dramatically — eyes widening with surprise, then a slow \"\n",[380,2126,2127],{"class":382,"line":587},[380,2128,2129],{"class":429},"            \"smile spreading across her face. Her lips part slightly as if to gasp. \"\n",[380,2131,2132,2135,2137],{"class":382,"line":593},[380,2133,2134],{"class":429},"            \"Every micro-expression is clearly animated.",[380,2136,572],{"class":419},[380,2138,563],{"class":429},[380,2140,2141,2144,2146],{"class":382,"line":599},[380,2142,2143],{"class":429},"            \"[00:08-00:12] Shot 3: The Joy (Medium Shot, Slight Pull Back).",[380,2145,560],{"class":419},[380,2147,563],{"class":429},[380,2149,2150],{"class":382,"line":609},[380,2151,2152],{"class":429},"            \"She clutches the letter to her chest and closes her eyes with pure happiness. \"\n",[380,2154,2155],{"class":382,"line":619},[380,2156,2157],{"class":429},"            \"A single tear of joy rolls down her cheek. Cherry blossom petals drift past \"\n",[380,2159,2160,2163,2165],{"class":382,"line":629},[380,2161,2162],{"class":429},"            \"the window behind her. Camera holds on her peaceful, radiant expression.",[380,2164,572],{"class":419},[380,2166,563],{"class":429},[380,2168,2169],{"class":382,"line":635},[380,2170,2171],{"class":429},"            \"Consistent anime character design. Detailed emotional facial animation. \"\n",[380,2173,2174],{"class":382,"line":641},[380,2175,2176],{"class":429},"            \"Natural lighting transitions.\"\n",[380,2178,2179],{"class":382,"line":651},[380,2180,708],{"class":390},[380,2182,2183,2185,2187,2189],{"class":382,"line":661},[380,2184,714],{"class":429},[380,2186,504],{"class":390},[380,2188,1449],{"class":419},[380,2190,486],{"class":390},[380,2192,2193,2195,2197],{"class":382,"line":671},[380,2194,727],{"class":429},[380,2196,504],{"class":390},[380,2198,732],{"class":429},[380,2200,2201],{"class":382,"line":677},[380,2202,738],{"class":390},[380,2204,2205],{"class":382,"line":683},[380,2206,433],{"class":390},[380,2208,2209],{"class":382,"line":693},[380,2210,1715],{"class":455},[165,2212,2214],{"id":2213},"image-to-video-prompt-templates","Image-to-Video Prompt Templates",[246,2216,2218],{"id":2217},"i1-product-commercial-premium-headphones","I1: Product Commercial — Premium Headphones",[10,2220,2221,2223,2224,2226,2227,17],{},[33,2222,1476],{}," Transform a product photo into a premium commercial with dynamic color showcase and studio-quality lighting, using ",[14,2225,1043],{}," as the first frame. For more product video workflows including batch generation, see our ",[22,2228,2230],{"href":2229},"/blog/seedance-2-image-to-video-api","image-to-video tutorial",[362,2232,366,2233],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,2234],{"src":2235,"type":371},"https://cdn.evolink.ai/seedance2api/%E8%80%B3%E6%9C%BA%E5%B9%BF%E5%91%8A%E5%9B%9B%E4%B8%AA%E9%A2%9C%E8%89%B2.mp4",[236,2237,2239],{"className":374,"code":2238,"language":376,"meta":244,"style":244},"# I1: Product Commercial — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-image-to-video\",\n        \"prompt\": (\n            \"image 1 as first frame.\\n\"\n            \"【Style】Premium product keynote, clean minimal aesthetic, commercial photography.\\n\"\n            \"【Duration】15 seconds\\n\\n\"\n            \"[00:00-00:02] Rapid four-frame flash cuts — black, blue, white, rose gold \"\n            \"headphones appear one by one in stylized freeze frames. Close-up on metallic \"\n            \"texture and premium finish. Voiceover: 'Sound that moves you.'\\n\\n\"\n            \"[00:02-00:06] Extreme close-up of the headphone hinge mechanism unfolding. \"\n            \"Precision engineering visible in slow motion. Studio lighting creates elegant \"\n            \"highlights on the metal surface.\\n\\n\"\n            \"[00:06-00:12] Quick-cut lifestyle montage. Urban professional commuting, \"\n            \"artist in creative studio, athlete training — each wearing different colored \"\n            \"headphones that match their aesthetic.\\n\\n\"\n            \"[00:12-00:15] All four headphones lined up on minimal white pedestal. Brand \"\n            \"text 'SoundPro Hear Everything' elegantly fades in at the bottom.\\n\\n\"\n            \"Maintain exact product proportions and details from image 1. Commercial-grade \"\n            \"lighting. Clean, premium aesthetic throughout.\"\n        ),\n        \"image_urls\": [\"https://example.com/premium_headphones.jpg\"],\n        \"duration\": 15,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,2240,2241,2246,2254,2266,2288,2296,2307,2313,2322,2331,2340,2345,2350,2359,2364,2369,2378,2383,2388,2397,2402,2411,2416,2421,2425,2439,2450,2458,2462,2466],{"__ignoreMap":244},[380,2242,2243],{"class":382,"line":383},[380,2244,2245],{"class":455},"# I1: Product Commercial — uses setup from first example above\n",[380,2247,2248,2250,2252],{"class":382,"line":394},[380,2249,462],{"class":390},[380,2251,465],{"class":386},[380,2253,468],{"class":390},[380,2255,2256,2258,2260,2262,2264],{"class":382,"line":402},[380,2257,474],{"class":386},[380,2259,477],{"class":429},[380,2261,480],{"class":419},[380,2263,483],{"class":429},[380,2265,486],{"class":390},[380,2267,2268,2270,2272,2274,2276,2278,2280,2282,2284,2286],{"class":382,"line":410},[380,2269,493],{"class":492},[380,2271,465],{"class":386},[380,2273,498],{"class":390},[380,2275,501],{"class":429},[380,2277,504],{"class":390},[380,2279,507],{"class":386},[380,2281,510],{"class":429},[380,2283,513],{"class":419},[380,2285,477],{"class":429},[380,2287,518],{"class":390},[380,2289,2290,2292,2294],{"class":382,"line":416},[380,2291,524],{"class":492},[380,2293,465],{"class":386},[380,2295,529],{"class":390},[380,2297,2298,2300,2302,2305],{"class":382,"line":436},[380,2299,535],{"class":429},[380,2301,504],{"class":390},[380,2303,2304],{"class":429},"\"seedance-2.0-image-to-video\"",[380,2306,486],{"class":390},[380,2308,2309,2311],{"class":382,"line":447},[380,2310,548],{"class":429},[380,2312,551],{"class":390},[380,2314,2315,2318,2320],{"class":382,"line":452},[380,2316,2317],{"class":429},"            \"image 1 as first frame.",[380,2319,560],{"class":419},[380,2321,563],{"class":429},[380,2323,2324,2327,2329],{"class":382,"line":459},[380,2325,2326],{"class":429},"            \"【Style】Premium product keynote, clean minimal aesthetic, commercial photography.",[380,2328,560],{"class":419},[380,2330,563],{"class":429},[380,2332,2333,2336,2338],{"class":382,"line":471},[380,2334,2335],{"class":429},"            \"【Duration】15 seconds",[380,2337,572],{"class":419},[380,2339,563],{"class":429},[380,2341,2342],{"class":382,"line":489},[380,2343,2344],{"class":429},"            \"[00:00-00:02] Rapid four-frame flash cuts — black, blue, white, rose gold \"\n",[380,2346,2347],{"class":382,"line":521},[380,2348,2349],{"class":429},"            \"headphones appear one by one in stylized freeze frames. Close-up on metallic \"\n",[380,2351,2352,2355,2357],{"class":382,"line":532},[380,2353,2354],{"class":429},"            \"texture and premium finish. Voiceover: 'Sound that moves you.'",[380,2356,572],{"class":419},[380,2358,563],{"class":429},[380,2360,2361],{"class":382,"line":545},[380,2362,2363],{"class":429},"            \"[00:02-00:06] Extreme close-up of the headphone hinge mechanism unfolding. \"\n",[380,2365,2366],{"class":382,"line":554},[380,2367,2368],{"class":429},"            \"Precision engineering visible in slow motion. Studio lighting creates elegant \"\n",[380,2370,2371,2374,2376],{"class":382,"line":566},[380,2372,2373],{"class":429},"            \"highlights on the metal surface.",[380,2375,572],{"class":419},[380,2377,563],{"class":429},[380,2379,2380],{"class":382,"line":577},[380,2381,2382],{"class":429},"            \"[00:06-00:12] Quick-cut lifestyle montage. Urban professional commuting, \"\n",[380,2384,2385],{"class":382,"line":587},[380,2386,2387],{"class":429},"            \"artist in creative studio, athlete training — each wearing different colored \"\n",[380,2389,2390,2393,2395],{"class":382,"line":593},[380,2391,2392],{"class":429},"            \"headphones that match their aesthetic.",[380,2394,572],{"class":419},[380,2396,563],{"class":429},[380,2398,2399],{"class":382,"line":599},[380,2400,2401],{"class":429},"            \"[00:12-00:15] All four headphones lined up on minimal white pedestal. Brand \"\n",[380,2403,2404,2407,2409],{"class":382,"line":609},[380,2405,2406],{"class":429},"            \"text 'SoundPro Hear Everything' elegantly fades in at the bottom.",[380,2408,572],{"class":419},[380,2410,563],{"class":429},[380,2412,2413],{"class":382,"line":619},[380,2414,2415],{"class":429},"            \"Maintain exact product proportions and details from image 1. Commercial-grade \"\n",[380,2417,2418],{"class":382,"line":629},[380,2419,2420],{"class":429},"            \"lighting. Clean, premium aesthetic throughout.\"\n",[380,2422,2423],{"class":382,"line":635},[380,2424,708],{"class":390},[380,2426,2427,2430,2433,2436],{"class":382,"line":641},[380,2428,2429],{"class":429},"        \"image_urls\"",[380,2431,2432],{"class":390},": [",[380,2434,2435],{"class":429},"\"https://example.com/premium_headphones.jpg\"",[380,2437,2438],{"class":390},"],\n",[380,2440,2441,2443,2445,2448],{"class":382,"line":651},[380,2442,714],{"class":429},[380,2444,504],{"class":390},[380,2446,2447],{"class":419},"15",[380,2449,486],{"class":390},[380,2451,2452,2454,2456],{"class":382,"line":661},[380,2453,727],{"class":429},[380,2455,504],{"class":390},[380,2457,732],{"class":429},[380,2459,2460],{"class":382,"line":671},[380,2461,738],{"class":390},[380,2463,2464],{"class":382,"line":677},[380,2465,433],{"class":390},[380,2467,2468],{"class":382,"line":683},[380,2469,1715],{"class":455},[246,2471,2473],{"id":2472},"i2-character-animation-painted-ladys-coffee-adventure","I2: Character Animation — Painted Lady's Coffee Adventure",[10,2475,2476,2478,2479,2481],{},[33,2477,1476],{}," Brings a painted character to life in an enchanting coffee-stealing scene, demonstrating how ",[14,2480,1043],{}," preserves character appearance across magical narrative moments.",[362,2483,366,2484],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,2485],{"src":2486,"type":371},"https://cdn.evolink.ai/seedance2api/%E7%94%BB%E4%B8%AD%E5%A5%B3%E4%BA%BA%E5%81%B7%E5%96%9D%E5%92%96%E5%95%A1.mp4",[236,2488,2490],{"className":374,"code":2489,"language":376,"meta":244,"style":244},"# I2: Character Animation — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-image-to-video\",\n        \"prompt\": (\n            \"image 1 as character reference.\\n\"\n            \"【Style】Cinematic realism with magical elements, warm practical lighting.\\n\"\n            \"【Duration】15 seconds\\n\\n\"\n            \"[00:00-00:04] Shot 1: The Awakening (Medium Shot on Canvas).\\n\"\n            \"The painted noblewoman suddenly comes alive inside the canvas. Her eyes dart \"\n            \"left and right nervously. Her painted hand animates and pushes forward through \"\n            \"the surface of the painting, reaching out from inside the canvas to grab a coffee \"\n            \"cup sitting on the table in front of the frame.\\n\\n\"\n            \"[00:04-00:08] Shot 2: The Secret Sip (Close-up on Face and Hands).\\n\"\n            \"She takes a quick sip and shows a deeply satisfied expression. Her eyes close \"\n            \"with pleasure as she savors the taste. Steam from the hot coffee catches the \"\n            \"gallery lighting.\\n\\n\"\n            \"[00:08-00:12] Shot 3: The Panic (Wide Shot, Quick Action).\\n\"\n            \"Suddenly footsteps approach — she panics and quickly puts the coffee back. \"\n            \"A butler-like figure walks in, picks up the coffee from the table, and leaves. \"\n            \"The woman freezes back into painting pose.\\n\\n\"\n            \"[00:12-00:15] Shot 4: The Finale (Push-in to Product Shot).\\n\"\n            \"Camera pushes forward as the scene fades to a pure black background with a \"\n            \"single spotlight illuminating the coffee cup. Elegant text appears at the \"\n            \"bottom: 'Good coffee is worth the wait.'\\n\\n\"\n            \"Maintain image 1 character appearance exactly. Seamless transitions between \"\n            \"painted and living states. Realistic coffee physics.\"\n        ),\n        \"image_urls\": [\"https://example.com/painted_noblewoman.jpg\"],\n        \"duration\": 15,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,2491,2492,2497,2505,2517,2539,2547,2557,2563,2572,2581,2589,2598,2603,2608,2613,2622,2631,2636,2641,2650,2659,2664,2669,2678,2687,2692,2697,2706,2711,2716,2720,2731,2741,2749,2753,2757],{"__ignoreMap":244},[380,2493,2494],{"class":382,"line":383},[380,2495,2496],{"class":455},"# I2: Character Animation — uses setup from first example above\n",[380,2498,2499,2501,2503],{"class":382,"line":394},[380,2500,462],{"class":390},[380,2502,465],{"class":386},[380,2504,468],{"class":390},[380,2506,2507,2509,2511,2513,2515],{"class":382,"line":402},[380,2508,474],{"class":386},[380,2510,477],{"class":429},[380,2512,480],{"class":419},[380,2514,483],{"class":429},[380,2516,486],{"class":390},[380,2518,2519,2521,2523,2525,2527,2529,2531,2533,2535,2537],{"class":382,"line":410},[380,2520,493],{"class":492},[380,2522,465],{"class":386},[380,2524,498],{"class":390},[380,2526,501],{"class":429},[380,2528,504],{"class":390},[380,2530,507],{"class":386},[380,2532,510],{"class":429},[380,2534,513],{"class":419},[380,2536,477],{"class":429},[380,2538,518],{"class":390},[380,2540,2541,2543,2545],{"class":382,"line":416},[380,2542,524],{"class":492},[380,2544,465],{"class":386},[380,2546,529],{"class":390},[380,2548,2549,2551,2553,2555],{"class":382,"line":436},[380,2550,535],{"class":429},[380,2552,504],{"class":390},[380,2554,2304],{"class":429},[380,2556,486],{"class":390},[380,2558,2559,2561],{"class":382,"line":447},[380,2560,548],{"class":429},[380,2562,551],{"class":390},[380,2564,2565,2568,2570],{"class":382,"line":452},[380,2566,2567],{"class":429},"            \"image 1 as character reference.",[380,2569,560],{"class":419},[380,2571,563],{"class":429},[380,2573,2574,2577,2579],{"class":382,"line":459},[380,2575,2576],{"class":429},"            \"【Style】Cinematic realism with magical elements, warm practical lighting.",[380,2578,560],{"class":419},[380,2580,563],{"class":429},[380,2582,2583,2585,2587],{"class":382,"line":471},[380,2584,2335],{"class":429},[380,2586,572],{"class":419},[380,2588,563],{"class":429},[380,2590,2591,2594,2596],{"class":382,"line":489},[380,2592,2593],{"class":429},"            \"[00:00-00:04] Shot 1: The Awakening (Medium Shot on Canvas).",[380,2595,560],{"class":419},[380,2597,563],{"class":429},[380,2599,2600],{"class":382,"line":521},[380,2601,2602],{"class":429},"            \"The painted noblewoman suddenly comes alive inside the canvas. Her eyes dart \"\n",[380,2604,2605],{"class":382,"line":532},[380,2606,2607],{"class":429},"            \"left and right nervously. Her painted hand animates and pushes forward through \"\n",[380,2609,2610],{"class":382,"line":545},[380,2611,2612],{"class":429},"            \"the surface of the painting, reaching out from inside the canvas to grab a coffee \"\n",[380,2614,2615,2618,2620],{"class":382,"line":554},[380,2616,2617],{"class":429},"            \"cup sitting on the table in front of the frame.",[380,2619,572],{"class":419},[380,2621,563],{"class":429},[380,2623,2624,2627,2629],{"class":382,"line":566},[380,2625,2626],{"class":429},"            \"[00:04-00:08] Shot 2: The Secret Sip (Close-up on Face and Hands).",[380,2628,560],{"class":419},[380,2630,563],{"class":429},[380,2632,2633],{"class":382,"line":577},[380,2634,2635],{"class":429},"            \"She takes a quick sip and shows a deeply satisfied expression. Her eyes close \"\n",[380,2637,2638],{"class":382,"line":587},[380,2639,2640],{"class":429},"            \"with pleasure as she savors the taste. Steam from the hot coffee catches the \"\n",[380,2642,2643,2646,2648],{"class":382,"line":593},[380,2644,2645],{"class":429},"            \"gallery lighting.",[380,2647,572],{"class":419},[380,2649,563],{"class":429},[380,2651,2652,2655,2657],{"class":382,"line":599},[380,2653,2654],{"class":429},"            \"[00:08-00:12] Shot 3: The Panic (Wide Shot, Quick Action).",[380,2656,560],{"class":419},[380,2658,563],{"class":429},[380,2660,2661],{"class":382,"line":609},[380,2662,2663],{"class":429},"            \"Suddenly footsteps approach — she panics and quickly puts the coffee back. \"\n",[380,2665,2666],{"class":382,"line":619},[380,2667,2668],{"class":429},"            \"A butler-like figure walks in, picks up the coffee from the table, and leaves. \"\n",[380,2670,2671,2674,2676],{"class":382,"line":629},[380,2672,2673],{"class":429},"            \"The woman freezes back into painting pose.",[380,2675,572],{"class":419},[380,2677,563],{"class":429},[380,2679,2680,2683,2685],{"class":382,"line":635},[380,2681,2682],{"class":429},"            \"[00:12-00:15] Shot 4: The Finale (Push-in to Product Shot).",[380,2684,560],{"class":419},[380,2686,563],{"class":429},[380,2688,2689],{"class":382,"line":641},[380,2690,2691],{"class":429},"            \"Camera pushes forward as the scene fades to a pure black background with a \"\n",[380,2693,2694],{"class":382,"line":651},[380,2695,2696],{"class":429},"            \"single spotlight illuminating the coffee cup. Elegant text appears at the \"\n",[380,2698,2699,2702,2704],{"class":382,"line":661},[380,2700,2701],{"class":429},"            \"bottom: 'Good coffee is worth the wait.'",[380,2703,572],{"class":419},[380,2705,563],{"class":429},[380,2707,2708],{"class":382,"line":671},[380,2709,2710],{"class":429},"            \"Maintain image 1 character appearance exactly. Seamless transitions between \"\n",[380,2712,2713],{"class":382,"line":677},[380,2714,2715],{"class":429},"            \"painted and living states. Realistic coffee physics.\"\n",[380,2717,2718],{"class":382,"line":683},[380,2719,708],{"class":390},[380,2721,2722,2724,2726,2729],{"class":382,"line":693},[380,2723,2429],{"class":429},[380,2725,2432],{"class":390},[380,2727,2728],{"class":429},"\"https://example.com/painted_noblewoman.jpg\"",[380,2730,2438],{"class":390},[380,2732,2733,2735,2737,2739],{"class":382,"line":699},[380,2734,714],{"class":429},[380,2736,504],{"class":390},[380,2738,2447],{"class":419},[380,2740,486],{"class":390},[380,2742,2743,2745,2747],{"class":382,"line":705},[380,2744,727],{"class":429},[380,2746,504],{"class":390},[380,2748,732],{"class":429},[380,2750,2751],{"class":382,"line":711},[380,2752,738],{"class":390},[380,2754,2755],{"class":382,"line":724},[380,2756,433],{"class":390},[380,2758,2759],{"class":382,"line":735},[380,2760,1715],{"class":455},[246,2762,2764],{"id":2763},"i3-style-transfer-realistic-to-ink-wash-painting","I3: Style Transfer — Realistic to Ink Wash Painting",[10,2766,2767,2769,2770,2772],{},[33,2768,1476],{}," Transforms a realistic landscape photograph into a living traditional Chinese ink wash painting (水墨画), demonstrating style transfer with ",[14,2771,1043],{}," as scene composition reference.",[362,2774,366,2775],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,2776],{"src":2777,"type":371},"https://cdn.evolink.ai/seedance2api/%E7%8E%B0%E5%AE%9E%E5%9C%BA%E6%99%AF%E5%B1%B1%E6%B0%B4%E7%94%BB.mp4",[236,2779,2781],{"className":374,"code":2780,"language":376,"meta":244,"style":244},"# I3: Style Transfer — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-image-to-video\",\n        \"prompt\": (\n            \"image 1 as scene composition reference.\\n\"\n            \"【Style】Traditional Chinese ink wash painting (水墨画), monochrome with faint indigo, meditative.\\n\"\n            \"【Duration】12 seconds\\n\\n\"\n            \"[00:00-00:04] Shot 1: The Transformation Begins (Wide, Static).\\n\"\n            \"The photorealistic landscape slowly dissolves into flowing black ink. Mountain \"\n            \"peaks render as bold wet brushstrokes on rice paper texture. Realistic details \"\n            \"fade as traditional ink wash aesthetics take over.\\n\\n\"\n            \"[00:04-00:08] Shot 2: Life Emerges in Ink (Medium Shot, Slow Pan Right).\\n\"\n            \"Mist begins drifting between the valleys — visible as diluted ink wash spreading \"\n            \"on wet paper. A crane takes flight from behind a mountain, leaving elegant ink \"\n            \"trails across the sky. Water effects spread ink at mountain bases.\\n\\n\"\n            \"[00:08-00:12] Shot 3: Completion (Wide, Slow Zoom Out).\\n\"\n            \"Camera slowly pulls back to reveal the entire scene as a traditional scroll \"\n            \"painting being unrolled on a wooden desk. An unseen hand dips a brush in ink \"\n            \"at the edge of frame. The painting breathes — clouds still drift, crane still flies.\\n\\n\"\n            \"Visible rice paper texture and authentic brushstroke quality throughout. \"\n            \"No photorealism. Pure traditional ink wash aesthetic.\"\n        ),\n        \"image_urls\": [\"https://example.com/realistic_landscape.jpg\"],\n        \"duration\": 12,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,2782,2783,2788,2796,2808,2830,2838,2848,2854,2863,2872,2880,2889,2894,2899,2908,2917,2922,2927,2936,2945,2950,2955,2964,2969,2974,2978,2989,2999,3007,3011,3015],{"__ignoreMap":244},[380,2784,2785],{"class":382,"line":383},[380,2786,2787],{"class":455},"# I3: Style Transfer — uses setup from first example above\n",[380,2789,2790,2792,2794],{"class":382,"line":394},[380,2791,462],{"class":390},[380,2793,465],{"class":386},[380,2795,468],{"class":390},[380,2797,2798,2800,2802,2804,2806],{"class":382,"line":402},[380,2799,474],{"class":386},[380,2801,477],{"class":429},[380,2803,480],{"class":419},[380,2805,483],{"class":429},[380,2807,486],{"class":390},[380,2809,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828],{"class":382,"line":410},[380,2811,493],{"class":492},[380,2813,465],{"class":386},[380,2815,498],{"class":390},[380,2817,501],{"class":429},[380,2819,504],{"class":390},[380,2821,507],{"class":386},[380,2823,510],{"class":429},[380,2825,513],{"class":419},[380,2827,477],{"class":429},[380,2829,518],{"class":390},[380,2831,2832,2834,2836],{"class":382,"line":416},[380,2833,524],{"class":492},[380,2835,465],{"class":386},[380,2837,529],{"class":390},[380,2839,2840,2842,2844,2846],{"class":382,"line":436},[380,2841,535],{"class":429},[380,2843,504],{"class":390},[380,2845,2304],{"class":429},[380,2847,486],{"class":390},[380,2849,2850,2852],{"class":382,"line":447},[380,2851,548],{"class":429},[380,2853,551],{"class":390},[380,2855,2856,2859,2861],{"class":382,"line":452},[380,2857,2858],{"class":429},"            \"image 1 as scene composition reference.",[380,2860,560],{"class":419},[380,2862,563],{"class":429},[380,2864,2865,2868,2870],{"class":382,"line":459},[380,2866,2867],{"class":429},"            \"【Style】Traditional Chinese ink wash painting (水墨画), monochrome with faint indigo, meditative.",[380,2869,560],{"class":419},[380,2871,563],{"class":429},[380,2873,2874,2876,2878],{"class":382,"line":471},[380,2875,1572],{"class":429},[380,2877,572],{"class":419},[380,2879,563],{"class":429},[380,2881,2882,2885,2887],{"class":382,"line":489},[380,2883,2884],{"class":429},"            \"[00:00-00:04] Shot 1: The Transformation Begins (Wide, Static).",[380,2886,560],{"class":419},[380,2888,563],{"class":429},[380,2890,2891],{"class":382,"line":521},[380,2892,2893],{"class":429},"            \"The photorealistic landscape slowly dissolves into flowing black ink. Mountain \"\n",[380,2895,2896],{"class":382,"line":532},[380,2897,2898],{"class":429},"            \"peaks render as bold wet brushstrokes on rice paper texture. Realistic details \"\n",[380,2900,2901,2904,2906],{"class":382,"line":545},[380,2902,2903],{"class":429},"            \"fade as traditional ink wash aesthetics take over.",[380,2905,572],{"class":419},[380,2907,563],{"class":429},[380,2909,2910,2913,2915],{"class":382,"line":554},[380,2911,2912],{"class":429},"            \"[00:04-00:08] Shot 2: Life Emerges in Ink (Medium Shot, Slow Pan Right).",[380,2914,560],{"class":419},[380,2916,563],{"class":429},[380,2918,2919],{"class":382,"line":566},[380,2920,2921],{"class":429},"            \"Mist begins drifting between the valleys — visible as diluted ink wash spreading \"\n",[380,2923,2924],{"class":382,"line":577},[380,2925,2926],{"class":429},"            \"on wet paper. A crane takes flight from behind a mountain, leaving elegant ink \"\n",[380,2928,2929,2932,2934],{"class":382,"line":587},[380,2930,2931],{"class":429},"            \"trails across the sky. Water effects spread ink at mountain bases.",[380,2933,572],{"class":419},[380,2935,563],{"class":429},[380,2937,2938,2941,2943],{"class":382,"line":593},[380,2939,2940],{"class":429},"            \"[00:08-00:12] Shot 3: Completion (Wide, Slow Zoom Out).",[380,2942,560],{"class":419},[380,2944,563],{"class":429},[380,2946,2947],{"class":382,"line":599},[380,2948,2949],{"class":429},"            \"Camera slowly pulls back to reveal the entire scene as a traditional scroll \"\n",[380,2951,2952],{"class":382,"line":609},[380,2953,2954],{"class":429},"            \"painting being unrolled on a wooden desk. An unseen hand dips a brush in ink \"\n",[380,2956,2957,2960,2962],{"class":382,"line":619},[380,2958,2959],{"class":429},"            \"at the edge of frame. The painting breathes — clouds still drift, crane still flies.",[380,2961,572],{"class":419},[380,2963,563],{"class":429},[380,2965,2966],{"class":382,"line":629},[380,2967,2968],{"class":429},"            \"Visible rice paper texture and authentic brushstroke quality throughout. \"\n",[380,2970,2971],{"class":382,"line":635},[380,2972,2973],{"class":429},"            \"No photorealism. Pure traditional ink wash aesthetic.\"\n",[380,2975,2976],{"class":382,"line":641},[380,2977,708],{"class":390},[380,2979,2980,2982,2984,2987],{"class":382,"line":651},[380,2981,2429],{"class":429},[380,2983,2432],{"class":390},[380,2985,2986],{"class":429},"\"https://example.com/realistic_landscape.jpg\"",[380,2988,2438],{"class":390},[380,2990,2991,2993,2995,2997],{"class":382,"line":661},[380,2992,714],{"class":429},[380,2994,504],{"class":390},[380,2996,1449],{"class":419},[380,2998,486],{"class":390},[380,3000,3001,3003,3005],{"class":382,"line":671},[380,3002,727],{"class":429},[380,3004,504],{"class":390},[380,3006,732],{"class":429},[380,3008,3009],{"class":382,"line":677},[380,3010,738],{"class":390},[380,3012,3013],{"class":382,"line":683},[380,3014,433],{"class":390},[380,3016,3017],{"class":382,"line":693},[380,3018,1715],{"class":455},[246,3020,3022],{"id":3021},"i4-multi-image-one-shot-narrative-urban-parkour","I4: Multi-Image One-Shot Narrative — Urban Parkour",[10,3024,3025,3027,3028,3031],{},[33,3026,1476],{}," Seamlessly connects multiple location images into one continuous tracking shot of a parkour runner, creating an epic urban journey using shot-script format for precise timing. This technique builds on the ",[22,3029,3030],{"href":320},"camera movement replication"," patterns.",[362,3033,366,3034],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,3035],{"src":3036,"type":371},"https://cdn.evolink.ai/seedance2api/%E5%9F%8E%E5%B8%82%E8%B7%91%E9%85%B7.mp4",[236,3038,3040],{"className":374,"code":3039,"language":376,"meta":244,"style":244},"# I4: Multi-Image One-Shot Narrative — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-reference-to-video\",\n        \"prompt\": (\n            \"image 1 image 2 image 3 image 4 image 5 seamless one-shot tracking camera \"\n            \"following a parkour runner sprinting through city streets leaping up staircases \"\n            \"crossing a pedestrian bridge vaulting onto rooftops finally standing at the \"\n            \"rooftop edge overlooking the entire city skyline. Golden sunset light fills \"\n            \"the frame. Dynamic powerful full of freedom and energy.\\n\"\n            \"【Style】Cinematic action sports, dynamic tracking shot, golden hour lighting.\\n\"\n            \"【Duration】15 seconds\\n\\n\"\n            \"[00:00-00:03] Urban Sprint (image 1 as environment).\\n\"\n            \"Tracking camera follows a parkour athlete in athletic gear sprinting at full \"\n            \"speed through busy city streets. Low angle emphasizes power and speed. \"\n            \"Pedestrians blur past. Urban architecture creates dynamic leading lines.\\n\\n\"\n            \"[00:03-00:06] Staircase Vault (image 2 as environment).\\n\"\n            \"Runner leaps up a concrete staircase in a single fluid motion — camera follows \"\n            \"the arc of movement. Each step is a launching pad. Concrete textures and \"\n            \"architectural details sharp in focus.\\n\\n\"\n            \"[00:06-00:09] Bridge Crossing (image 3 as environment).\\n\"\n            \"Athlete vaults over the pedestrian bridge railing and lands on the walkway. \"\n            \"Camera maintains tracking speed. City traffic flows below. Wind catches \"\n            \"the runner's clothing.\\n\\n\"\n            \"[00:09-00:12] Rooftop Ascent (image 4 as environment).\\n\"\n            \"A powerful jump and climb sequence onto building rooftops. Camera cranes up \"\n            \"to follow the vertical movement. Urban landscape spreads out below.\\n\\n\"\n            \"[00:12-00:15] Victory Moment (image 5 as environment).\\n\"\n            \"Runner stands at the rooftop edge overlooking the entire city skyline. \"\n            \"Golden sunset light silhouettes the figure. Camera slowly pulls back to \"\n            \"reveal the epic scale of the journey completed.\\n\\n\"\n            \"Consistent runner character (same outfit, build, movement style) across all scenes. \"\n            \"Realistic parkour physics. Golden hour lighting throughout.\"\n        ),\n        \"image_urls\": [\n            \"https://example.com/city_street.jpg\",\n            \"https://example.com/staircase.jpg\",\n            \"https://example.com/pedestrian_bridge.jpg\",\n            \"https://example.com/rooftop_building.jpg\",\n            \"https://example.com/city_skyline.jpg\"\n        ],\n        \"duration\": 15,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,3041,3042,3047,3055,3067,3089,3097,3108,3114,3119,3124,3129,3134,3143,3152,3160,3169,3174,3179,3188,3197,3202,3207,3216,3225,3230,3235,3244,3253,3258,3267,3276,3281,3286,3295,3300,3305,3309,3316,3323,3330,3337,3344,3349,3354,3364,3372,3376,3380],{"__ignoreMap":244},[380,3043,3044],{"class":382,"line":383},[380,3045,3046],{"class":455},"# I4: Multi-Image One-Shot Narrative — uses setup from first example above\n",[380,3048,3049,3051,3053],{"class":382,"line":394},[380,3050,462],{"class":390},[380,3052,465],{"class":386},[380,3054,468],{"class":390},[380,3056,3057,3059,3061,3063,3065],{"class":382,"line":402},[380,3058,474],{"class":386},[380,3060,477],{"class":429},[380,3062,480],{"class":419},[380,3064,483],{"class":429},[380,3066,486],{"class":390},[380,3068,3069,3071,3073,3075,3077,3079,3081,3083,3085,3087],{"class":382,"line":410},[380,3070,493],{"class":492},[380,3072,465],{"class":386},[380,3074,498],{"class":390},[380,3076,501],{"class":429},[380,3078,504],{"class":390},[380,3080,507],{"class":386},[380,3082,510],{"class":429},[380,3084,513],{"class":419},[380,3086,477],{"class":429},[380,3088,518],{"class":390},[380,3090,3091,3093,3095],{"class":382,"line":416},[380,3092,524],{"class":492},[380,3094,465],{"class":386},[380,3096,529],{"class":390},[380,3098,3099,3101,3103,3106],{"class":382,"line":436},[380,3100,535],{"class":429},[380,3102,504],{"class":390},[380,3104,3105],{"class":429},"\"seedance-2.0-reference-to-video\"",[380,3107,486],{"class":390},[380,3109,3110,3112],{"class":382,"line":447},[380,3111,548],{"class":429},[380,3113,551],{"class":390},[380,3115,3116],{"class":382,"line":452},[380,3117,3118],{"class":429},"            \"image 1 image 2 image 3 image 4 image 5 seamless one-shot tracking camera \"\n",[380,3120,3121],{"class":382,"line":459},[380,3122,3123],{"class":429},"            \"following a parkour runner sprinting through city streets leaping up staircases \"\n",[380,3125,3126],{"class":382,"line":471},[380,3127,3128],{"class":429},"            \"crossing a pedestrian bridge vaulting onto rooftops finally standing at the \"\n",[380,3130,3131],{"class":382,"line":489},[380,3132,3133],{"class":429},"            \"rooftop edge overlooking the entire city skyline. Golden sunset light fills \"\n",[380,3135,3136,3139,3141],{"class":382,"line":521},[380,3137,3138],{"class":429},"            \"the frame. Dynamic powerful full of freedom and energy.",[380,3140,560],{"class":419},[380,3142,563],{"class":429},[380,3144,3145,3148,3150],{"class":382,"line":532},[380,3146,3147],{"class":429},"            \"【Style】Cinematic action sports, dynamic tracking shot, golden hour lighting.",[380,3149,560],{"class":419},[380,3151,563],{"class":429},[380,3153,3154,3156,3158],{"class":382,"line":545},[380,3155,2335],{"class":429},[380,3157,572],{"class":419},[380,3159,563],{"class":429},[380,3161,3162,3165,3167],{"class":382,"line":554},[380,3163,3164],{"class":429},"            \"[00:00-00:03] Urban Sprint (image 1 as environment).",[380,3166,560],{"class":419},[380,3168,563],{"class":429},[380,3170,3171],{"class":382,"line":566},[380,3172,3173],{"class":429},"            \"Tracking camera follows a parkour athlete in athletic gear sprinting at full \"\n",[380,3175,3176],{"class":382,"line":577},[380,3177,3178],{"class":429},"            \"speed through busy city streets. Low angle emphasizes power and speed. \"\n",[380,3180,3181,3184,3186],{"class":382,"line":587},[380,3182,3183],{"class":429},"            \"Pedestrians blur past. Urban architecture creates dynamic leading lines.",[380,3185,572],{"class":419},[380,3187,563],{"class":429},[380,3189,3190,3193,3195],{"class":382,"line":593},[380,3191,3192],{"class":429},"            \"[00:03-00:06] Staircase Vault (image 2 as environment).",[380,3194,560],{"class":419},[380,3196,563],{"class":429},[380,3198,3199],{"class":382,"line":599},[380,3200,3201],{"class":429},"            \"Runner leaps up a concrete staircase in a single fluid motion — camera follows \"\n",[380,3203,3204],{"class":382,"line":609},[380,3205,3206],{"class":429},"            \"the arc of movement. Each step is a launching pad. Concrete textures and \"\n",[380,3208,3209,3212,3214],{"class":382,"line":619},[380,3210,3211],{"class":429},"            \"architectural details sharp in focus.",[380,3213,572],{"class":419},[380,3215,563],{"class":429},[380,3217,3218,3221,3223],{"class":382,"line":629},[380,3219,3220],{"class":429},"            \"[00:06-00:09] Bridge Crossing (image 3 as environment).",[380,3222,560],{"class":419},[380,3224,563],{"class":429},[380,3226,3227],{"class":382,"line":635},[380,3228,3229],{"class":429},"            \"Athlete vaults over the pedestrian bridge railing and lands on the walkway. \"\n",[380,3231,3232],{"class":382,"line":641},[380,3233,3234],{"class":429},"            \"Camera maintains tracking speed. City traffic flows below. Wind catches \"\n",[380,3236,3237,3240,3242],{"class":382,"line":651},[380,3238,3239],{"class":429},"            \"the runner's clothing.",[380,3241,572],{"class":419},[380,3243,563],{"class":429},[380,3245,3246,3249,3251],{"class":382,"line":661},[380,3247,3248],{"class":429},"            \"[00:09-00:12] Rooftop Ascent (image 4 as environment).",[380,3250,560],{"class":419},[380,3252,563],{"class":429},[380,3254,3255],{"class":382,"line":671},[380,3256,3257],{"class":429},"            \"A powerful jump and climb sequence onto building rooftops. Camera cranes up \"\n",[380,3259,3260,3263,3265],{"class":382,"line":677},[380,3261,3262],{"class":429},"            \"to follow the vertical movement. Urban landscape spreads out below.",[380,3264,572],{"class":419},[380,3266,563],{"class":429},[380,3268,3269,3272,3274],{"class":382,"line":683},[380,3270,3271],{"class":429},"            \"[00:12-00:15] Victory Moment (image 5 as environment).",[380,3273,560],{"class":419},[380,3275,563],{"class":429},[380,3277,3278],{"class":382,"line":693},[380,3279,3280],{"class":429},"            \"Runner stands at the rooftop edge overlooking the entire city skyline. \"\n",[380,3282,3283],{"class":382,"line":699},[380,3284,3285],{"class":429},"            \"Golden sunset light silhouettes the figure. Camera slowly pulls back to \"\n",[380,3287,3288,3291,3293],{"class":382,"line":705},[380,3289,3290],{"class":429},"            \"reveal the epic scale of the journey completed.",[380,3292,572],{"class":419},[380,3294,563],{"class":429},[380,3296,3297],{"class":382,"line":711},[380,3298,3299],{"class":429},"            \"Consistent runner character (same outfit, build, movement style) across all scenes. \"\n",[380,3301,3302],{"class":382,"line":724},[380,3303,3304],{"class":429},"            \"Realistic parkour physics. Golden hour lighting throughout.\"\n",[380,3306,3307],{"class":382,"line":735},[380,3308,708],{"class":390},[380,3310,3311,3313],{"class":382,"line":741},[380,3312,2429],{"class":429},[380,3314,3315],{"class":390},": [\n",[380,3317,3318,3321],{"class":382,"line":746},[380,3319,3320],{"class":429},"            \"https://example.com/city_street.jpg\"",[380,3322,486],{"class":390},[380,3324,3325,3328],{"class":382,"line":757},[380,3326,3327],{"class":429},"            \"https://example.com/staircase.jpg\"",[380,3329,486],{"class":390},[380,3331,3332,3335],{"class":382,"line":774},[380,3333,3334],{"class":429},"            \"https://example.com/pedestrian_bridge.jpg\"",[380,3336,486],{"class":390},[380,3338,3339,3342],{"class":382,"line":779},[380,3340,3341],{"class":429},"            \"https://example.com/rooftop_building.jpg\"",[380,3343,486],{"class":390},[380,3345,3346],{"class":382,"line":785},[380,3347,3348],{"class":429},"            \"https://example.com/city_skyline.jpg\"\n",[380,3350,3351],{"class":382,"line":797},[380,3352,3353],{"class":390},"        ],\n",[380,3355,3356,3358,3360,3362],{"class":382,"line":808},[380,3357,714],{"class":429},[380,3359,504],{"class":390},[380,3361,2447],{"class":419},[380,3363,486],{"class":390},[380,3365,3366,3368,3370],{"class":382,"line":833},[380,3367,727],{"class":429},[380,3369,504],{"class":390},[380,3371,732],{"class":429},[380,3373,3374],{"class":382,"line":858},[380,3375,738],{"class":390},[380,3377,3378],{"class":382,"line":864},[380,3379,433],{"class":390},[380,3381,3382],{"class":382,"line":887},[380,3383,1715],{"class":455},[165,3385,3387],{"id":3386},"multimodal-tag-templates","Multimodal @Tag Templates",[246,3389,3391],{"id":3390},"m1-advanced-camera-movement-replication-crystal-dungeon-exploration","M1: Advanced Camera Movement Replication — Crystal Dungeon Exploration",[10,3393,3394,3396,3397,17],{},[33,3395,1476],{}," Precisely replicates complex camera movements from a reference video while applying them to completely new fantasy content with multiple image references. Learn the full camera replication workflow in our ",[22,3398,3399],{"href":320},"dedicated camera movement guide",[362,3401,366,3402],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,3403],{"src":3404,"type":371},"https://cdn.evolink.ai/seedance2api/%E6%B0%B4%E6%99%B6%E6%8E%A2%E9%99%A9.mp4",[236,3406,3408],{"className":374,"code":3407,"language":376,"meta":244,"style":244},"# M1: Camera Movement Replication — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-reference-to-video\",\n        \"prompt\": (\n            \"Use image 1 as the opening first frame. First-person POV perspective. \"\n            \"Reference video 1 camera movement style exactly. The scene above references \"\n            \"image 2, the left scene references image 3, the right scene references image 4. \"\n            \"A hand holds a glowing magic lantern, exploring an ancient dungeon. Firelight \"\n            \"flickers across stone walls, casting dancing shadows.\\n\"\n            \"【Style】Fantasy adventure, realistic lighting, atmospheric.\\n\"\n            \"【Duration】9 seconds\\n\\n\"\n            \"[00:00-00:03] Entrance Discovery.\\n\"\n            \"First-person view entering the dungeon. The magical lantern illuminates ancient \"\n            \"stone architecture. Camera follows video 1 movement pattern — smooth forward \"\n            \"motion with subtle tilts to examine details.\\n\\n\"\n            \"[00:03-00:06] Chamber Exploration.\\n\"\n            \"Camera pans upward to reveal image 2 crystal formations on the ceiling, \"\n            \"then tilts left toward image 3 dark passage, creating suspense. Lantern \"\n            \"light creates dynamic shadows on dungeon walls.\\n\\n\"\n            \"[00:06-00:09] Final Discovery.\\n\"\n            \"Camera turns right to reveal image 4 hidden chamber with treasure. \"\n            \"Replicate video 1 final movement — slow push-in with slight upward tilt. \"\n            \"Golden light from treasures mingles with lantern glow.\\n\\n\"\n            \"Maintain exact video 1 camera timing and movement speed. Realistic fire physics \"\n            \"and shadow casting. Atmospheric dungeon ambiance.\"\n        ),\n        \"image_urls\": [\n            \"https://example.com/dungeon_entrance.png\",\n            \"https://example.com/crystal_ceiling.png\",\n            \"https://example.com/left_passage.png\",\n            \"https://example.com/right_chamber.png\"\n        ],\n        \"video_urls\": [\"https://example.com/camera_movement_ref.mp4\"],\n        \"duration\": 9,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,3409,3410,3415,3423,3435,3457,3465,3475,3481,3486,3491,3496,3501,3510,3519,3528,3537,3542,3547,3556,3565,3570,3575,3584,3593,3598,3603,3612,3617,3622,3626,3632,3639,3646,3653,3658,3662,3674,3685,3693,3697,3701],{"__ignoreMap":244},[380,3411,3412],{"class":382,"line":383},[380,3413,3414],{"class":455},"# M1: Camera Movement Replication — uses setup from first example above\n",[380,3416,3417,3419,3421],{"class":382,"line":394},[380,3418,462],{"class":390},[380,3420,465],{"class":386},[380,3422,468],{"class":390},[380,3424,3425,3427,3429,3431,3433],{"class":382,"line":402},[380,3426,474],{"class":386},[380,3428,477],{"class":429},[380,3430,480],{"class":419},[380,3432,483],{"class":429},[380,3434,486],{"class":390},[380,3436,3437,3439,3441,3443,3445,3447,3449,3451,3453,3455],{"class":382,"line":410},[380,3438,493],{"class":492},[380,3440,465],{"class":386},[380,3442,498],{"class":390},[380,3444,501],{"class":429},[380,3446,504],{"class":390},[380,3448,507],{"class":386},[380,3450,510],{"class":429},[380,3452,513],{"class":419},[380,3454,477],{"class":429},[380,3456,518],{"class":390},[380,3458,3459,3461,3463],{"class":382,"line":416},[380,3460,524],{"class":492},[380,3462,465],{"class":386},[380,3464,529],{"class":390},[380,3466,3467,3469,3471,3473],{"class":382,"line":436},[380,3468,535],{"class":429},[380,3470,504],{"class":390},[380,3472,3105],{"class":429},[380,3474,486],{"class":390},[380,3476,3477,3479],{"class":382,"line":447},[380,3478,548],{"class":429},[380,3480,551],{"class":390},[380,3482,3483],{"class":382,"line":452},[380,3484,3485],{"class":429},"            \"Use image 1 as the opening first frame. First-person POV perspective. \"\n",[380,3487,3488],{"class":382,"line":459},[380,3489,3490],{"class":429},"            \"Reference video 1 camera movement style exactly. The scene above references \"\n",[380,3492,3493],{"class":382,"line":471},[380,3494,3495],{"class":429},"            \"image 2, the left scene references image 3, the right scene references image 4. \"\n",[380,3497,3498],{"class":382,"line":489},[380,3499,3500],{"class":429},"            \"A hand holds a glowing magic lantern, exploring an ancient dungeon. Firelight \"\n",[380,3502,3503,3506,3508],{"class":382,"line":521},[380,3504,3505],{"class":429},"            \"flickers across stone walls, casting dancing shadows.",[380,3507,560],{"class":419},[380,3509,563],{"class":429},[380,3511,3512,3515,3517],{"class":382,"line":532},[380,3513,3514],{"class":429},"            \"【Style】Fantasy adventure, realistic lighting, atmospheric.",[380,3516,560],{"class":419},[380,3518,563],{"class":429},[380,3520,3521,3524,3526],{"class":382,"line":545},[380,3522,3523],{"class":429},"            \"【Duration】9 seconds",[380,3525,572],{"class":419},[380,3527,563],{"class":429},[380,3529,3530,3533,3535],{"class":382,"line":554},[380,3531,3532],{"class":429},"            \"[00:00-00:03] Entrance Discovery.",[380,3534,560],{"class":419},[380,3536,563],{"class":429},[380,3538,3539],{"class":382,"line":566},[380,3540,3541],{"class":429},"            \"First-person view entering the dungeon. The magical lantern illuminates ancient \"\n",[380,3543,3544],{"class":382,"line":577},[380,3545,3546],{"class":429},"            \"stone architecture. Camera follows video 1 movement pattern — smooth forward \"\n",[380,3548,3549,3552,3554],{"class":382,"line":587},[380,3550,3551],{"class":429},"            \"motion with subtle tilts to examine details.",[380,3553,572],{"class":419},[380,3555,563],{"class":429},[380,3557,3558,3561,3563],{"class":382,"line":593},[380,3559,3560],{"class":429},"            \"[00:03-00:06] Chamber Exploration.",[380,3562,560],{"class":419},[380,3564,563],{"class":429},[380,3566,3567],{"class":382,"line":599},[380,3568,3569],{"class":429},"            \"Camera pans upward to reveal image 2 crystal formations on the ceiling, \"\n",[380,3571,3572],{"class":382,"line":609},[380,3573,3574],{"class":429},"            \"then tilts left toward image 3 dark passage, creating suspense. Lantern \"\n",[380,3576,3577,3580,3582],{"class":382,"line":619},[380,3578,3579],{"class":429},"            \"light creates dynamic shadows on dungeon walls.",[380,3581,572],{"class":419},[380,3583,563],{"class":429},[380,3585,3586,3589,3591],{"class":382,"line":629},[380,3587,3588],{"class":429},"            \"[00:06-00:09] Final Discovery.",[380,3590,560],{"class":419},[380,3592,563],{"class":429},[380,3594,3595],{"class":382,"line":635},[380,3596,3597],{"class":429},"            \"Camera turns right to reveal image 4 hidden chamber with treasure. \"\n",[380,3599,3600],{"class":382,"line":641},[380,3601,3602],{"class":429},"            \"Replicate video 1 final movement — slow push-in with slight upward tilt. \"\n",[380,3604,3605,3608,3610],{"class":382,"line":651},[380,3606,3607],{"class":429},"            \"Golden light from treasures mingles with lantern glow.",[380,3609,572],{"class":419},[380,3611,563],{"class":429},[380,3613,3614],{"class":382,"line":661},[380,3615,3616],{"class":429},"            \"Maintain exact video 1 camera timing and movement speed. Realistic fire physics \"\n",[380,3618,3619],{"class":382,"line":671},[380,3620,3621],{"class":429},"            \"and shadow casting. Atmospheric dungeon ambiance.\"\n",[380,3623,3624],{"class":382,"line":677},[380,3625,708],{"class":390},[380,3627,3628,3630],{"class":382,"line":683},[380,3629,2429],{"class":429},[380,3631,3315],{"class":390},[380,3633,3634,3637],{"class":382,"line":693},[380,3635,3636],{"class":429},"            \"https://example.com/dungeon_entrance.png\"",[380,3638,486],{"class":390},[380,3640,3641,3644],{"class":382,"line":699},[380,3642,3643],{"class":429},"            \"https://example.com/crystal_ceiling.png\"",[380,3645,486],{"class":390},[380,3647,3648,3651],{"class":382,"line":705},[380,3649,3650],{"class":429},"            \"https://example.com/left_passage.png\"",[380,3652,486],{"class":390},[380,3654,3655],{"class":382,"line":711},[380,3656,3657],{"class":429},"            \"https://example.com/right_chamber.png\"\n",[380,3659,3660],{"class":382,"line":724},[380,3661,3353],{"class":390},[380,3663,3664,3667,3669,3672],{"class":382,"line":735},[380,3665,3666],{"class":429},"        \"video_urls\"",[380,3668,2432],{"class":390},[380,3670,3671],{"class":429},"\"https://example.com/camera_movement_ref.mp4\"",[380,3673,2438],{"class":390},[380,3675,3676,3678,3680,3683],{"class":382,"line":741},[380,3677,714],{"class":429},[380,3679,504],{"class":390},[380,3681,3682],{"class":419},"9",[380,3684,486],{"class":390},[380,3686,3687,3689,3691],{"class":382,"line":746},[380,3688,727],{"class":429},[380,3690,504],{"class":390},[380,3692,732],{"class":429},[380,3694,3695],{"class":382,"line":757},[380,3696,738],{"class":390},[380,3698,3699],{"class":382,"line":774},[380,3700,433],{"class":390},[380,3702,3703],{"class":382,"line":779},[380,3704,1715],{"class":455},[246,3706,3708],{"id":3707},"m2-character-camera-movement-sync-stage-dance-performance","M2: Character + Camera Movement Sync — Stage Dance Performance",[10,3710,3711,3713],{},[33,3712,1476],{}," Combines character reference from an image with camera movement and dance choreography from video reference, creating synchronized performance art.",[362,3715,366,3716],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,3717],{"src":3718,"type":371},"https://cdn.evolink.ai/seedance2api/%E5%A5%B3%E7%94%9F%E8%B7%B3%E8%88%9E.mp4",[236,3720,3722],{"className":374,"code":3721,"language":376,"meta":244,"style":244},"# M2: Character + Camera Sync — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-reference-to-video\",\n        \"prompt\": (\n            \"image 1 dancer as the main subject. Reference video 1 camera movement style \"\n            \"rhythmic push-pull pan and tilt movements. The dancer choreography also \"\n            \"references video 1 dance moves. Performing energetically on a colorful \"\n            \"LED-lit stage. Spotlights shift colors in sync with the rhythm.\\n\"\n            \"【Style】Concert performance, dynamic stage lighting, high energy.\\n\"\n            \"【Duration】12 seconds\\n\\n\"\n            \"[00:00-00:04] Opening Sequence.\\n\"\n            \"Camera starts wide showing image 1 dancer center stage. LED lights pulse \"\n            \"in blue and purple. Dancer begins with video 1 opening choreography — \"\n            \"fluid arm movements and spins. Camera matches video 1 initial push-in timing.\\n\\n\"\n            \"[00:04-00:08] Dynamic Performance.\\n\"\n            \"Camera follows video 1 rhythmic push-pull pattern as dancer performs high-energy \"\n            \"moves. Stage lights shift to warm orange and pink. Smoke effects catch the \"\n            \"colored lighting, creating atmospheric depth.\\n\\n\"\n            \"[00:08-00:12] Finale Moment.\\n\"\n            \"Camera matches video 1 final tilt movement as dancer strikes a powerful \"\n            \"finishing pose. All stage lights converge into a brilliant white spotlight. \"\n            \"Sparkle effects cascade down around the performer.\\n\\n\"\n            \"Maintain image 1 character appearance exactly. Synchronized camera and \"\n            \"choreography timing from video 1. Professional stage lighting effects.\"\n        ),\n        \"image_urls\": [\"https://example.com/stage_dancer.png\"],\n        \"video_urls\": [\"https://example.com/dance_movement_ref.mp4\"],\n        \"duration\": 12,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,3723,3724,3729,3737,3749,3771,3779,3789,3795,3800,3805,3810,3819,3828,3836,3845,3850,3855,3864,3873,3878,3883,3892,3901,3906,3911,3920,3925,3930,3934,3945,3956,3966,3974,3978,3982],{"__ignoreMap":244},[380,3725,3726],{"class":382,"line":383},[380,3727,3728],{"class":455},"# M2: Character + Camera Sync — uses setup from first example above\n",[380,3730,3731,3733,3735],{"class":382,"line":394},[380,3732,462],{"class":390},[380,3734,465],{"class":386},[380,3736,468],{"class":390},[380,3738,3739,3741,3743,3745,3747],{"class":382,"line":402},[380,3740,474],{"class":386},[380,3742,477],{"class":429},[380,3744,480],{"class":419},[380,3746,483],{"class":429},[380,3748,486],{"class":390},[380,3750,3751,3753,3755,3757,3759,3761,3763,3765,3767,3769],{"class":382,"line":410},[380,3752,493],{"class":492},[380,3754,465],{"class":386},[380,3756,498],{"class":390},[380,3758,501],{"class":429},[380,3760,504],{"class":390},[380,3762,507],{"class":386},[380,3764,510],{"class":429},[380,3766,513],{"class":419},[380,3768,477],{"class":429},[380,3770,518],{"class":390},[380,3772,3773,3775,3777],{"class":382,"line":416},[380,3774,524],{"class":492},[380,3776,465],{"class":386},[380,3778,529],{"class":390},[380,3780,3781,3783,3785,3787],{"class":382,"line":436},[380,3782,535],{"class":429},[380,3784,504],{"class":390},[380,3786,3105],{"class":429},[380,3788,486],{"class":390},[380,3790,3791,3793],{"class":382,"line":447},[380,3792,548],{"class":429},[380,3794,551],{"class":390},[380,3796,3797],{"class":382,"line":452},[380,3798,3799],{"class":429},"            \"image 1 dancer as the main subject. Reference video 1 camera movement style \"\n",[380,3801,3802],{"class":382,"line":459},[380,3803,3804],{"class":429},"            \"rhythmic push-pull pan and tilt movements. The dancer choreography also \"\n",[380,3806,3807],{"class":382,"line":471},[380,3808,3809],{"class":429},"            \"references video 1 dance moves. Performing energetically on a colorful \"\n",[380,3811,3812,3815,3817],{"class":382,"line":489},[380,3813,3814],{"class":429},"            \"LED-lit stage. Spotlights shift colors in sync with the rhythm.",[380,3816,560],{"class":419},[380,3818,563],{"class":429},[380,3820,3821,3824,3826],{"class":382,"line":521},[380,3822,3823],{"class":429},"            \"【Style】Concert performance, dynamic stage lighting, high energy.",[380,3825,560],{"class":419},[380,3827,563],{"class":429},[380,3829,3830,3832,3834],{"class":382,"line":532},[380,3831,1572],{"class":429},[380,3833,572],{"class":419},[380,3835,563],{"class":429},[380,3837,3838,3841,3843],{"class":382,"line":545},[380,3839,3840],{"class":429},"            \"[00:00-00:04] Opening Sequence.",[380,3842,560],{"class":419},[380,3844,563],{"class":429},[380,3846,3847],{"class":382,"line":554},[380,3848,3849],{"class":429},"            \"Camera starts wide showing image 1 dancer center stage. LED lights pulse \"\n",[380,3851,3852],{"class":382,"line":566},[380,3853,3854],{"class":429},"            \"in blue and purple. Dancer begins with video 1 opening choreography — \"\n",[380,3856,3857,3860,3862],{"class":382,"line":577},[380,3858,3859],{"class":429},"            \"fluid arm movements and spins. Camera matches video 1 initial push-in timing.",[380,3861,572],{"class":419},[380,3863,563],{"class":429},[380,3865,3866,3869,3871],{"class":382,"line":587},[380,3867,3868],{"class":429},"            \"[00:04-00:08] Dynamic Performance.",[380,3870,560],{"class":419},[380,3872,563],{"class":429},[380,3874,3875],{"class":382,"line":593},[380,3876,3877],{"class":429},"            \"Camera follows video 1 rhythmic push-pull pattern as dancer performs high-energy \"\n",[380,3879,3880],{"class":382,"line":599},[380,3881,3882],{"class":429},"            \"moves. Stage lights shift to warm orange and pink. Smoke effects catch the \"\n",[380,3884,3885,3888,3890],{"class":382,"line":609},[380,3886,3887],{"class":429},"            \"colored lighting, creating atmospheric depth.",[380,3889,572],{"class":419},[380,3891,563],{"class":429},[380,3893,3894,3897,3899],{"class":382,"line":619},[380,3895,3896],{"class":429},"            \"[00:08-00:12] Finale Moment.",[380,3898,560],{"class":419},[380,3900,563],{"class":429},[380,3902,3903],{"class":382,"line":629},[380,3904,3905],{"class":429},"            \"Camera matches video 1 final tilt movement as dancer strikes a powerful \"\n",[380,3907,3908],{"class":382,"line":635},[380,3909,3910],{"class":429},"            \"finishing pose. All stage lights converge into a brilliant white spotlight. \"\n",[380,3912,3913,3916,3918],{"class":382,"line":641},[380,3914,3915],{"class":429},"            \"Sparkle effects cascade down around the performer.",[380,3917,572],{"class":419},[380,3919,563],{"class":429},[380,3921,3922],{"class":382,"line":651},[380,3923,3924],{"class":429},"            \"Maintain image 1 character appearance exactly. Synchronized camera and \"\n",[380,3926,3927],{"class":382,"line":661},[380,3928,3929],{"class":429},"            \"choreography timing from video 1. Professional stage lighting effects.\"\n",[380,3931,3932],{"class":382,"line":671},[380,3933,708],{"class":390},[380,3935,3936,3938,3940,3943],{"class":382,"line":677},[380,3937,2429],{"class":429},[380,3939,2432],{"class":390},[380,3941,3942],{"class":429},"\"https://example.com/stage_dancer.png\"",[380,3944,2438],{"class":390},[380,3946,3947,3949,3951,3954],{"class":382,"line":683},[380,3948,3666],{"class":429},[380,3950,2432],{"class":390},[380,3952,3953],{"class":429},"\"https://example.com/dance_movement_ref.mp4\"",[380,3955,2438],{"class":390},[380,3957,3958,3960,3962,3964],{"class":382,"line":693},[380,3959,714],{"class":429},[380,3961,504],{"class":390},[380,3963,1449],{"class":419},[380,3965,486],{"class":390},[380,3967,3968,3970,3972],{"class":382,"line":699},[380,3969,727],{"class":429},[380,3971,504],{"class":390},[380,3973,732],{"class":429},[380,3975,3976],{"class":382,"line":705},[380,3977,738],{"class":390},[380,3979,3980],{"class":382,"line":711},[380,3981,433],{"class":390},[380,3983,3984],{"class":382,"line":724},[380,3985,1715],{"class":455},[246,3987,3989],{"id":3988},"m3-chase-scene-mysterious-figure-in-red-coat","M3: Chase Scene — Mysterious Figure in Red Coat",[10,3991,3992,3994],{},[33,3993,1476],{}," Creates an intense chase sequence through urban streets with a mysterious figure in a red coat, demonstrating thriller cinematography and dramatic tension building.",[362,3996,366,3997],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,3998],{"src":3999,"type":371},"https://cdn.evolink.ai/seedance2api/%E7%BA%A2%E8%89%B2%E5%A4%96%E5%A5%97%E7%9A%84%E7%A5%9E%E7%A7%98%E8%BA%AB%E5%BD%B1%E5%9C%A8%E5%9F%8E%E5%B8%82%E8%A1%97%E9%81%93%E5%A5%94%E8%B7%91.mp4",[236,4001,4003],{"className":374,"code":4002,"language":376,"meta":244,"style":244},"# M3: Chase Scene — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-image-to-video\",\n        \"prompt\": (\n            \"image 1 as character reference — mysterious figure in distinctive red coat.\\n\"\n            \"【Style】Thriller cinematography, urban chase scene, dramatic shadows, high contrast.\\n\"\n            \"【Duration】12 seconds\\n\\n\"\n            \"[00:00-00:04] Shot 1: The Pursuit Begins (Wide Shot, Tracking).\\n\"\n            \"The red-coated figure sprints through narrow city alleyways at night. \"\n            \"Streetlights cast long dramatic shadows. Camera tracks from behind — we \"\n            \"see only the billowing red coat and rapid footsteps on wet pavement. \"\n            \"Tension-building audio undertones.\\n\\n\"\n            \"[00:04-00:08] Shot 2: Urban Obstacles (Medium Shot, Side Tracking).\\n\"\n            \"Figure vaults over parked cars and dodges between concrete pillars. Camera \"\n            \"follows from the side, maintaining speed. Red coat stands out against the \"\n            \"monochrome urban environment. Breathing is audible and labored.\\n\\n\"\n            \"[00:08-00:12] Shot 3: The Escape (Low Angle, Wide Shot).\\n\"\n            \"Figure reaches a fire escape and begins climbing rapidly upward. Camera \"\n            \"tilts up from below — dramatic low angle emphasizes the vertical escape. \"\n            \"Red coat flutters in the wind. City lights twinkle in the background as \"\n            \"the figure disappears into the night.\\n\\n\"\n            \"Maintain image 1 character appearance — especially the distinctive red coat. \"\n            \"Realistic chase physics. High-contrast noir lighting. Mysterious identity \"\n            \"preserved throughout.\"\n        ),\n        \"image_urls\": [\"https://example.com/red_coat_figure.jpg\"],\n        \"duration\": 12,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,4004,4005,4010,4018,4030,4052,4060,4070,4076,4085,4094,4102,4111,4116,4121,4126,4135,4144,4149,4154,4163,4172,4177,4182,4187,4196,4201,4206,4211,4215,4226,4236,4244,4248,4252],{"__ignoreMap":244},[380,4006,4007],{"class":382,"line":383},[380,4008,4009],{"class":455},"# M3: Chase Scene — uses setup from first example above\n",[380,4011,4012,4014,4016],{"class":382,"line":394},[380,4013,462],{"class":390},[380,4015,465],{"class":386},[380,4017,468],{"class":390},[380,4019,4020,4022,4024,4026,4028],{"class":382,"line":402},[380,4021,474],{"class":386},[380,4023,477],{"class":429},[380,4025,480],{"class":419},[380,4027,483],{"class":429},[380,4029,486],{"class":390},[380,4031,4032,4034,4036,4038,4040,4042,4044,4046,4048,4050],{"class":382,"line":410},[380,4033,493],{"class":492},[380,4035,465],{"class":386},[380,4037,498],{"class":390},[380,4039,501],{"class":429},[380,4041,504],{"class":390},[380,4043,507],{"class":386},[380,4045,510],{"class":429},[380,4047,513],{"class":419},[380,4049,477],{"class":429},[380,4051,518],{"class":390},[380,4053,4054,4056,4058],{"class":382,"line":416},[380,4055,524],{"class":492},[380,4057,465],{"class":386},[380,4059,529],{"class":390},[380,4061,4062,4064,4066,4068],{"class":382,"line":436},[380,4063,535],{"class":429},[380,4065,504],{"class":390},[380,4067,2304],{"class":429},[380,4069,486],{"class":390},[380,4071,4072,4074],{"class":382,"line":447},[380,4073,548],{"class":429},[380,4075,551],{"class":390},[380,4077,4078,4081,4083],{"class":382,"line":452},[380,4079,4080],{"class":429},"            \"image 1 as character reference — mysterious figure in distinctive red coat.",[380,4082,560],{"class":419},[380,4084,563],{"class":429},[380,4086,4087,4090,4092],{"class":382,"line":459},[380,4088,4089],{"class":429},"            \"【Style】Thriller cinematography, urban chase scene, dramatic shadows, high contrast.",[380,4091,560],{"class":419},[380,4093,563],{"class":429},[380,4095,4096,4098,4100],{"class":382,"line":471},[380,4097,1572],{"class":429},[380,4099,572],{"class":419},[380,4101,563],{"class":429},[380,4103,4104,4107,4109],{"class":382,"line":489},[380,4105,4106],{"class":429},"            \"[00:00-00:04] Shot 1: The Pursuit Begins (Wide Shot, Tracking).",[380,4108,560],{"class":419},[380,4110,563],{"class":429},[380,4112,4113],{"class":382,"line":521},[380,4114,4115],{"class":429},"            \"The red-coated figure sprints through narrow city alleyways at night. \"\n",[380,4117,4118],{"class":382,"line":532},[380,4119,4120],{"class":429},"            \"Streetlights cast long dramatic shadows. Camera tracks from behind — we \"\n",[380,4122,4123],{"class":382,"line":545},[380,4124,4125],{"class":429},"            \"see only the billowing red coat and rapid footsteps on wet pavement. \"\n",[380,4127,4128,4131,4133],{"class":382,"line":554},[380,4129,4130],{"class":429},"            \"Tension-building audio undertones.",[380,4132,572],{"class":419},[380,4134,563],{"class":429},[380,4136,4137,4140,4142],{"class":382,"line":566},[380,4138,4139],{"class":429},"            \"[00:04-00:08] Shot 2: Urban Obstacles (Medium Shot, Side Tracking).",[380,4141,560],{"class":419},[380,4143,563],{"class":429},[380,4145,4146],{"class":382,"line":577},[380,4147,4148],{"class":429},"            \"Figure vaults over parked cars and dodges between concrete pillars. Camera \"\n",[380,4150,4151],{"class":382,"line":587},[380,4152,4153],{"class":429},"            \"follows from the side, maintaining speed. Red coat stands out against the \"\n",[380,4155,4156,4159,4161],{"class":382,"line":593},[380,4157,4158],{"class":429},"            \"monochrome urban environment. Breathing is audible and labored.",[380,4160,572],{"class":419},[380,4162,563],{"class":429},[380,4164,4165,4168,4170],{"class":382,"line":599},[380,4166,4167],{"class":429},"            \"[00:08-00:12] Shot 3: The Escape (Low Angle, Wide Shot).",[380,4169,560],{"class":419},[380,4171,563],{"class":429},[380,4173,4174],{"class":382,"line":609},[380,4175,4176],{"class":429},"            \"Figure reaches a fire escape and begins climbing rapidly upward. Camera \"\n",[380,4178,4179],{"class":382,"line":619},[380,4180,4181],{"class":429},"            \"tilts up from below — dramatic low angle emphasizes the vertical escape. \"\n",[380,4183,4184],{"class":382,"line":629},[380,4185,4186],{"class":429},"            \"Red coat flutters in the wind. City lights twinkle in the background as \"\n",[380,4188,4189,4192,4194],{"class":382,"line":635},[380,4190,4191],{"class":429},"            \"the figure disappears into the night.",[380,4193,572],{"class":419},[380,4195,563],{"class":429},[380,4197,4198],{"class":382,"line":641},[380,4199,4200],{"class":429},"            \"Maintain image 1 character appearance — especially the distinctive red coat. \"\n",[380,4202,4203],{"class":382,"line":651},[380,4204,4205],{"class":429},"            \"Realistic chase physics. High-contrast noir lighting. Mysterious identity \"\n",[380,4207,4208],{"class":382,"line":661},[380,4209,4210],{"class":429},"            \"preserved throughout.\"\n",[380,4212,4213],{"class":382,"line":671},[380,4214,708],{"class":390},[380,4216,4217,4219,4221,4224],{"class":382,"line":677},[380,4218,2429],{"class":429},[380,4220,2432],{"class":390},[380,4222,4223],{"class":429},"\"https://example.com/red_coat_figure.jpg\"",[380,4225,2438],{"class":390},[380,4227,4228,4230,4232,4234],{"class":382,"line":683},[380,4229,714],{"class":429},[380,4231,504],{"class":390},[380,4233,1449],{"class":419},[380,4235,486],{"class":390},[380,4237,4238,4240,4242],{"class":382,"line":693},[380,4239,727],{"class":429},[380,4241,504],{"class":390},[380,4243,732],{"class":429},[380,4245,4246],{"class":382,"line":699},[380,4247,738],{"class":390},[380,4249,4250],{"class":382,"line":705},[380,4251,433],{"class":390},[380,4253,4254],{"class":382,"line":711},[380,4255,1715],{"class":455},[246,4257,4259],{"id":4258},"bonus-street-crowd-chase-scene","Bonus: Street Crowd Chase Scene",[10,4261,4262,4264],{},[33,4263,1476],{}," An additional example showing a crowd running scene, perfect for action sequences requiring multiple characters and urban energy.",[362,4266,366,4267],{"autoPlay":364,"loop":364,"muted":364,"playsInline":364,"style":365},[368,4268],{"src":4269,"type":371},"https://cdn.evolink.ai/seedance2api/%E8%A1%97%E5%A4%B4%E4%B8%80%E5%A0%86%E4%BA%BA%E5%9C%A8%E8%B7%91.mp4",[236,4271,4273],{"className":374,"code":4272,"language":376,"meta":244,"style":244},"# Bonus: Street Crowd Chase — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-image-to-video\",\n        \"prompt\": (\n            \"image 1 as scene reference for crowd composition and urban environment.\\n\"\n            \"【Style】Action thriller, handheld camera, urgent pacing, realistic movement.\\n\"\n            \"【Duration】8 seconds\\n\\n\"\n            \"[00:00-00:03] Mass Movement Begins.\\n\"\n            \"A crowd of people suddenly breaks into a run down a busy street. Camera \"\n            \"is handheld, in the middle of the action. Multiple individuals in different \"\n            \"clothing all moving in the same direction with urgent purpose.\\n\\n\"\n            \"[00:03-00:06] Chaos and Urgency.\\n\"\n            \"Camera weaves through the running crowd. Close-ups on determined faces, \"\n            \"flying hair, scattered personal items. People help each other maintain \"\n            \"pace. Urban storefronts blur past in the background.\\n\\n\"\n            \"[00:06-00:08] Dispersal.\\n\"\n            \"The crowd reaches an intersection and scatters in different directions. \"\n            \"Camera tilts up to show the scope of the mass movement from a high angle \"\n            \"as people disappear down various streets.\\n\\n\"\n            \"Realistic crowd physics and natural human movement. Handheld camera shake \"\n            \"for authenticity. Urban street environment based on image 1.\"\n        ),\n        \"image_urls\": [\"https://example.com/street_crowd.jpg\"],\n        \"duration\": 8,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,4274,4275,4280,4288,4300,4322,4330,4340,4346,4355,4364,4373,4382,4387,4392,4401,4410,4415,4420,4429,4438,4443,4448,4457,4462,4467,4471,4482,4492,4500,4504,4508],{"__ignoreMap":244},[380,4276,4277],{"class":382,"line":383},[380,4278,4279],{"class":455},"# Bonus: Street Crowd Chase — uses setup from first example above\n",[380,4281,4282,4284,4286],{"class":382,"line":394},[380,4283,462],{"class":390},[380,4285,465],{"class":386},[380,4287,468],{"class":390},[380,4289,4290,4292,4294,4296,4298],{"class":382,"line":402},[380,4291,474],{"class":386},[380,4293,477],{"class":429},[380,4295,480],{"class":419},[380,4297,483],{"class":429},[380,4299,486],{"class":390},[380,4301,4302,4304,4306,4308,4310,4312,4314,4316,4318,4320],{"class":382,"line":410},[380,4303,493],{"class":492},[380,4305,465],{"class":386},[380,4307,498],{"class":390},[380,4309,501],{"class":429},[380,4311,504],{"class":390},[380,4313,507],{"class":386},[380,4315,510],{"class":429},[380,4317,513],{"class":419},[380,4319,477],{"class":429},[380,4321,518],{"class":390},[380,4323,4324,4326,4328],{"class":382,"line":416},[380,4325,524],{"class":492},[380,4327,465],{"class":386},[380,4329,529],{"class":390},[380,4331,4332,4334,4336,4338],{"class":382,"line":436},[380,4333,535],{"class":429},[380,4335,504],{"class":390},[380,4337,2304],{"class":429},[380,4339,486],{"class":390},[380,4341,4342,4344],{"class":382,"line":447},[380,4343,548],{"class":429},[380,4345,551],{"class":390},[380,4347,4348,4351,4353],{"class":382,"line":452},[380,4349,4350],{"class":429},"            \"image 1 as scene reference for crowd composition and urban environment.",[380,4352,560],{"class":419},[380,4354,563],{"class":429},[380,4356,4357,4360,4362],{"class":382,"line":459},[380,4358,4359],{"class":429},"            \"【Style】Action thriller, handheld camera, urgent pacing, realistic movement.",[380,4361,560],{"class":419},[380,4363,563],{"class":429},[380,4365,4366,4369,4371],{"class":382,"line":471},[380,4367,4368],{"class":429},"            \"【Duration】8 seconds",[380,4370,572],{"class":419},[380,4372,563],{"class":429},[380,4374,4375,4378,4380],{"class":382,"line":489},[380,4376,4377],{"class":429},"            \"[00:00-00:03] Mass Movement Begins.",[380,4379,560],{"class":419},[380,4381,563],{"class":429},[380,4383,4384],{"class":382,"line":521},[380,4385,4386],{"class":429},"            \"A crowd of people suddenly breaks into a run down a busy street. Camera \"\n",[380,4388,4389],{"class":382,"line":532},[380,4390,4391],{"class":429},"            \"is handheld, in the middle of the action. Multiple individuals in different \"\n",[380,4393,4394,4397,4399],{"class":382,"line":545},[380,4395,4396],{"class":429},"            \"clothing all moving in the same direction with urgent purpose.",[380,4398,572],{"class":419},[380,4400,563],{"class":429},[380,4402,4403,4406,4408],{"class":382,"line":554},[380,4404,4405],{"class":429},"            \"[00:03-00:06] Chaos and Urgency.",[380,4407,560],{"class":419},[380,4409,563],{"class":429},[380,4411,4412],{"class":382,"line":566},[380,4413,4414],{"class":429},"            \"Camera weaves through the running crowd. Close-ups on determined faces, \"\n",[380,4416,4417],{"class":382,"line":577},[380,4418,4419],{"class":429},"            \"flying hair, scattered personal items. People help each other maintain \"\n",[380,4421,4422,4425,4427],{"class":382,"line":587},[380,4423,4424],{"class":429},"            \"pace. Urban storefronts blur past in the background.",[380,4426,572],{"class":419},[380,4428,563],{"class":429},[380,4430,4431,4434,4436],{"class":382,"line":593},[380,4432,4433],{"class":429},"            \"[00:06-00:08] Dispersal.",[380,4435,560],{"class":419},[380,4437,563],{"class":429},[380,4439,4440],{"class":382,"line":599},[380,4441,4442],{"class":429},"            \"The crowd reaches an intersection and scatters in different directions. \"\n",[380,4444,4445],{"class":382,"line":609},[380,4446,4447],{"class":429},"            \"Camera tilts up to show the scope of the mass movement from a high angle \"\n",[380,4449,4450,4453,4455],{"class":382,"line":619},[380,4451,4452],{"class":429},"            \"as people disappear down various streets.",[380,4454,572],{"class":419},[380,4456,563],{"class":429},[380,4458,4459],{"class":382,"line":629},[380,4460,4461],{"class":429},"            \"Realistic crowd physics and natural human movement. Handheld camera shake \"\n",[380,4463,4464],{"class":382,"line":635},[380,4465,4466],{"class":429},"            \"for authenticity. Urban street environment based on image 1.\"\n",[380,4468,4469],{"class":382,"line":641},[380,4470,708],{"class":390},[380,4472,4473,4475,4477,4480],{"class":382,"line":651},[380,4474,2429],{"class":429},[380,4476,2432],{"class":390},[380,4478,4479],{"class":429},"\"https://example.com/street_crowd.jpg\"",[380,4481,2438],{"class":390},[380,4483,4484,4486,4488,4490],{"class":382,"line":661},[380,4485,714],{"class":429},[380,4487,504],{"class":390},[380,4489,1433],{"class":419},[380,4491,486],{"class":390},[380,4493,4494,4496,4498],{"class":382,"line":671},[380,4495,727],{"class":429},[380,4497,504],{"class":390},[380,4499,732],{"class":429},[380,4501,4502],{"class":382,"line":677},[380,4503,738],{"class":390},[380,4505,4506],{"class":382,"line":683},[380,4507,433],{"class":390},[380,4509,4510],{"class":382,"line":693},[380,4511,1715],{"class":455},[165,4513,4515],{"id":4514},"video-extension-templates","Video Extension Templates",[246,4517,4519],{"id":4518},"e1-forward-extension-with-brand-finale","E1: Forward Extension with Brand Finale",[10,4521,4522,4524],{},[33,4523,1476],{}," Extends an existing video by adding new scenes and a professional brand conclusion with logo and tagline.",[236,4526,4528],{"className":374,"code":4527,"language":376,"meta":244,"style":244},"# E1: Forward Extension — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-reference-to-video\",\n        \"prompt\": (\n            \"Extend video 1 forward with 8 additional seconds.\\n\"\n            \"【Style】Match video 1 style exactly.\\n\"\n            \"【Duration】8 seconds extension\\n\\n\"\n            \"Continue the existing narrative: if it ends with product showcase, add lifestyle usage scene. \"\n            \"Show the product being used in natural environment with satisfied users. \"\n            \"Final 2 seconds: elegant brand logo animation with company tagline appearing below. \"\n            \"Maintain consistent lighting and color grading throughout. \"\n            \"Smooth transition from original content to extension.\"\n        ),\n        \"video_urls\": [\"https://example.com/existing_video.mp4\"],\n        \"duration\": 8,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,4529,4530,4535,4543,4555,4577,4585,4595,4601,4610,4619,4628,4633,4638,4643,4648,4653,4657,4668,4678,4686,4690,4694],{"__ignoreMap":244},[380,4531,4532],{"class":382,"line":383},[380,4533,4534],{"class":455},"# E1: Forward Extension — uses setup from first example above\n",[380,4536,4537,4539,4541],{"class":382,"line":394},[380,4538,462],{"class":390},[380,4540,465],{"class":386},[380,4542,468],{"class":390},[380,4544,4545,4547,4549,4551,4553],{"class":382,"line":402},[380,4546,474],{"class":386},[380,4548,477],{"class":429},[380,4550,480],{"class":419},[380,4552,483],{"class":429},[380,4554,486],{"class":390},[380,4556,4557,4559,4561,4563,4565,4567,4569,4571,4573,4575],{"class":382,"line":410},[380,4558,493],{"class":492},[380,4560,465],{"class":386},[380,4562,498],{"class":390},[380,4564,501],{"class":429},[380,4566,504],{"class":390},[380,4568,507],{"class":386},[380,4570,510],{"class":429},[380,4572,513],{"class":419},[380,4574,477],{"class":429},[380,4576,518],{"class":390},[380,4578,4579,4581,4583],{"class":382,"line":416},[380,4580,524],{"class":492},[380,4582,465],{"class":386},[380,4584,529],{"class":390},[380,4586,4587,4589,4591,4593],{"class":382,"line":436},[380,4588,535],{"class":429},[380,4590,504],{"class":390},[380,4592,3105],{"class":429},[380,4594,486],{"class":390},[380,4596,4597,4599],{"class":382,"line":447},[380,4598,548],{"class":429},[380,4600,551],{"class":390},[380,4602,4603,4606,4608],{"class":382,"line":452},[380,4604,4605],{"class":429},"            \"Extend video 1 forward with 8 additional seconds.",[380,4607,560],{"class":419},[380,4609,563],{"class":429},[380,4611,4612,4615,4617],{"class":382,"line":459},[380,4613,4614],{"class":429},"            \"【Style】Match video 1 style exactly.",[380,4616,560],{"class":419},[380,4618,563],{"class":429},[380,4620,4621,4624,4626],{"class":382,"line":471},[380,4622,4623],{"class":429},"            \"【Duration】8 seconds extension",[380,4625,572],{"class":419},[380,4627,563],{"class":429},[380,4629,4630],{"class":382,"line":489},[380,4631,4632],{"class":429},"            \"Continue the existing narrative: if it ends with product showcase, add lifestyle usage scene. \"\n",[380,4634,4635],{"class":382,"line":521},[380,4636,4637],{"class":429},"            \"Show the product being used in natural environment with satisfied users. \"\n",[380,4639,4640],{"class":382,"line":532},[380,4641,4642],{"class":429},"            \"Final 2 seconds: elegant brand logo animation with company tagline appearing below. \"\n",[380,4644,4645],{"class":382,"line":545},[380,4646,4647],{"class":429},"            \"Maintain consistent lighting and color grading throughout. \"\n",[380,4649,4650],{"class":382,"line":554},[380,4651,4652],{"class":429},"            \"Smooth transition from original content to extension.\"\n",[380,4654,4655],{"class":382,"line":566},[380,4656,708],{"class":390},[380,4658,4659,4661,4663,4666],{"class":382,"line":577},[380,4660,3666],{"class":429},[380,4662,2432],{"class":390},[380,4664,4665],{"class":429},"\"https://example.com/existing_video.mp4\"",[380,4667,2438],{"class":390},[380,4669,4670,4672,4674,4676],{"class":382,"line":587},[380,4671,714],{"class":429},[380,4673,504],{"class":390},[380,4675,1433],{"class":419},[380,4677,486],{"class":390},[380,4679,4680,4682,4684],{"class":382,"line":593},[380,4681,727],{"class":429},[380,4683,504],{"class":390},[380,4685,732],{"class":429},[380,4687,4688],{"class":382,"line":599},[380,4689,738],{"class":390},[380,4691,4692],{"class":382,"line":609},[380,4693,433],{"class":390},[380,4695,4696],{"class":382,"line":619},[380,4697,1715],{"class":455},[246,4699,4701],{"id":4700},"e2-backward-extension-with-backstory","E2: Backward Extension with Backstory",[10,4703,4704,4706],{},[33,4705,1476],{}," Adds context and setup before the existing video content, creating a more complete narrative.",[236,4708,4710],{"className":374,"code":4709,"language":376,"meta":244,"style":244},"# E2: Backward Extension — uses setup from first example above\nresponse = requests.post(\n    f\"{BASE_URL}/videos/generations\",\n    headers={\"Authorization\": f\"Bearer {API_KEY}\"},\n    json={\n        \"model\": \"seedance-2.0-reference-to-video\",\n        \"prompt\": (\n            \"Create 6 seconds of backstory before video 1 begins.\\n\"\n            \"【Style】Match video 1 visual style exactly.\\n\"\n            \"【Duration】6 seconds extension\\n\\n\"\n            \"If video 1 shows action, show the calm setup or preparation moment. \"\n            \"If video 1 shows a reveal, show the mystery or anticipation beforehand. \"\n            \"Match the visual style, lighting, and character appearances exactly. \"\n            \"Create narrative tension that builds toward the existing video's opening moment. \"\n            \"Seamless transition into original content.\"\n        ),\n        \"video_urls\": [\"https://example.com/main_video.mp4\"],\n        \"duration\": 6,\n        \"quality\": \"720p\"\n    }\n)\n# Poll with the same while loop from the first example\n",[14,4711,4712,4717,4725,4737,4759,4767,4777,4783,4792,4801,4810,4815,4820,4825,4830,4835,4839,4850,4860,4868,4872,4876],{"__ignoreMap":244},[380,4713,4714],{"class":382,"line":383},[380,4715,4716],{"class":455},"# E2: Backward Extension — uses setup from first example above\n",[380,4718,4719,4721,4723],{"class":382,"line":394},[380,4720,462],{"class":390},[380,4722,465],{"class":386},[380,4724,468],{"class":390},[380,4726,4727,4729,4731,4733,4735],{"class":382,"line":402},[380,4728,474],{"class":386},[380,4730,477],{"class":429},[380,4732,480],{"class":419},[380,4734,483],{"class":429},[380,4736,486],{"class":390},[380,4738,4739,4741,4743,4745,4747,4749,4751,4753,4755,4757],{"class":382,"line":410},[380,4740,493],{"class":492},[380,4742,465],{"class":386},[380,4744,498],{"class":390},[380,4746,501],{"class":429},[380,4748,504],{"class":390},[380,4750,507],{"class":386},[380,4752,510],{"class":429},[380,4754,513],{"class":419},[380,4756,477],{"class":429},[380,4758,518],{"class":390},[380,4760,4761,4763,4765],{"class":382,"line":416},[380,4762,524],{"class":492},[380,4764,465],{"class":386},[380,4766,529],{"class":390},[380,4768,4769,4771,4773,4775],{"class":382,"line":436},[380,4770,535],{"class":429},[380,4772,504],{"class":390},[380,4774,3105],{"class":429},[380,4776,486],{"class":390},[380,4778,4779,4781],{"class":382,"line":447},[380,4780,548],{"class":429},[380,4782,551],{"class":390},[380,4784,4785,4788,4790],{"class":382,"line":452},[380,4786,4787],{"class":429},"            \"Create 6 seconds of backstory before video 1 begins.",[380,4789,560],{"class":419},[380,4791,563],{"class":429},[380,4793,4794,4797,4799],{"class":382,"line":459},[380,4795,4796],{"class":429},"            \"【Style】Match video 1 visual style exactly.",[380,4798,560],{"class":419},[380,4800,563],{"class":429},[380,4802,4803,4806,4808],{"class":382,"line":471},[380,4804,4805],{"class":429},"            \"【Duration】6 seconds extension",[380,4807,572],{"class":419},[380,4809,563],{"class":429},[380,4811,4812],{"class":382,"line":489},[380,4813,4814],{"class":429},"            \"If video 1 shows action, show the calm setup or preparation moment. \"\n",[380,4816,4817],{"class":382,"line":521},[380,4818,4819],{"class":429},"            \"If video 1 shows a reveal, show the mystery or anticipation beforehand. \"\n",[380,4821,4822],{"class":382,"line":532},[380,4823,4824],{"class":429},"            \"Match the visual style, lighting, and character appearances exactly. \"\n",[380,4826,4827],{"class":382,"line":545},[380,4828,4829],{"class":429},"            \"Create narrative tension that builds toward the existing video's opening moment. \"\n",[380,4831,4832],{"class":382,"line":554},[380,4833,4834],{"class":429},"            \"Seamless transition into original content.\"\n",[380,4836,4837],{"class":382,"line":566},[380,4838,708],{"class":390},[380,4840,4841,4843,4845,4848],{"class":382,"line":577},[380,4842,3666],{"class":429},[380,4844,2432],{"class":390},[380,4846,4847],{"class":429},"\"https://example.com/main_video.mp4\"",[380,4849,2438],{"class":390},[380,4851,4852,4854,4856,4858],{"class":382,"line":587},[380,4853,714],{"class":429},[380,4855,504],{"class":390},[380,4857,1385],{"class":419},[380,4859,486],{"class":390},[380,4861,4862,4864,4866],{"class":382,"line":593},[380,4863,727],{"class":429},[380,4865,504],{"class":390},[380,4867,732],{"class":429},[380,4869,4870],{"class":382,"line":599},[380,4871,738],{"class":390},[380,4873,4874],{"class":382,"line":609},[380,4875,433],{"class":390},[380,4877,4878],{"class":382,"line":619},[380,4879,1715],{"class":455},[46,4881,4882],{},[10,4883,4884],{},[22,4885,4887],{"href":56,"rel":4886},[26],"Run these advanced templates with your EvoLink API key. Sign up free →",[61,4889],{},[64,4891,4893],{"id":4892},"common-seedance-prompt-mistakes-and-how-to-fix-them","Common Seedance Prompt Mistakes and How to Fix Them",[77,4895,4896,4912],{},[80,4897,4898],{},[83,4899,4900,4903,4906,4909],{},[86,4901,4902],{},"#",[86,4904,4905],{},"Mistake",[86,4907,4908],{},"Why It Fails",[86,4910,4911],{},"Fix",[96,4913,4914,4931,4952,4977,4994,5010,5026,5042,5058,5074],{},[83,4915,4916,4919,4925,4928],{},[101,4917,4918],{},"1",[101,4920,4921,4924],{},[33,4922,4923],{},"Too vague"," — \"A nice video of a dog\"",[101,4926,4927],{},"Model guesses breed, action, camera, style",[101,4929,4930],{},"\"A golden retriever catches a frisbee mid-air, slow-motion side angle, park setting, sunny\"",[83,4932,4933,4936,4946,4949],{},[101,4934,4935],{},"2",[101,4937,4938,4941,4942,4945],{},[33,4939,4940],{},"Wrong @tag numbering"," — Using ",[14,4943,4944],{},"image 3"," when only 2 images uploaded",[101,4947,4948],{},"Tag references a non-existent file; generation fails or ignores it",[101,4950,4951],{},"Double-check upload order; tags start at 1 and increment per type",[83,4953,4954,4957,4963,4966],{},[101,4955,4956],{},"3",[101,4958,4959,4962],{},[33,4960,4961],{},"Missing constraints"," — No duration or resolution specified",[101,4964,4965],{},"Model defaults may not match your needs",[101,4967,4968,4969,4972,4973,4976],{},"Always specify ",[14,4970,4971],{},"duration"," and ",[14,4974,4975],{},"resolution"," in both prompt text and API parameters",[83,4978,4979,4982,4988,4991],{},[101,4980,4981],{},"4",[101,4983,4984,4987],{},[33,4985,4986],{},"Conflicting modalities"," — Image shows daytime, prompt says \"dark night scene\"",[101,4989,4990],{},"Model gets mixed signals, produces inconsistent lighting",[101,4992,4993],{},"Align prompt descriptions with reference content",[83,4995,4996,4998,5004,5007],{},[101,4997,987],{},[101,4999,5000,5003],{},[33,5001,5002],{},"Overloaded prompt"," — 200+ words describing every micro-detail",[101,5005,5006],{},"Model prioritizes poorly; key instructions get diluted",[101,5008,5009],{},"Keep prompts under 150 words; use references for visual details instead of text",[83,5011,5012,5014,5020,5023],{},[101,5013,1385],{},[101,5015,5016,5019],{},[33,5017,5018],{},"No camera direction"," — Prompt describes scene but not how camera moves",[101,5021,5022],{},"Static or randomly moving output",[101,5024,5025],{},"Add explicit camera instruction: \"slow dolly-in\" or \"static wide shot\"",[83,5027,5028,5030,5036,5039],{},[101,5029,1417],{},[101,5031,5032,5035],{},[33,5033,5034],{},"Realistic face uploads"," — Uploading real human face photos",[101,5037,5038],{},"Blocked by compliance filters; request rejected",[101,5040,5041],{},"Use illustrated, stylized, or non-photorealistic character references",[83,5043,5044,5046,5052,5055],{},[101,5045,1433],{},[101,5047,5048,5051],{},[33,5049,5050],{},"Exceeding file limits"," — Uploading 10 images",[101,5053,5054],{},"Max is 9 images; request rejected",[101,5056,5057],{},"Stay within limits: ≤9 images, ≤3 videos, ≤3 audio, ≤12 total",[83,5059,5060,5062,5068,5071],{},[101,5061,3682],{},[101,5063,5064,5067],{},[33,5065,5066],{},"No style anchor"," — Using generic \"cinematic\" instead of a specific reference",[101,5069,5070],{},"Output looks generic and unfocused",[101,5072,5073],{},"Anchor to a specific director, film, or art style: \"Denis Villeneuve sci-fi epic\" or \"Van Gogh post-impressionism\"",[83,5075,5076,5078,5084,5087],{},[101,5077,719],{},[101,5079,5080,5083],{},[33,5081,5082],{},"No timecodes"," — Writing prose instead of structured shot scripts",[101,5085,5086],{},"Actions distributed unpredictably across the duration",[101,5088,5089,5090,5092],{},"Use ",[14,5091,218],{}," timecodes to control exactly when each action happens",[10,5094,5095,5096,17],{},"For detailed error handling patterns and retry logic, see the ",[22,5097,5098],{"href":191},"API documentation",[61,5100],{},[64,5102,5104],{"id":5103},"prompt-engineering-best-practices-for-api-developers","Prompt Engineering Best Practices for API Developers",[165,5106,5108],{"id":5107},"templatize-prompts-for-batch-generation","Templatize Prompts for Batch Generation",[10,5110,5111],{},"When generating videos at scale, define reusable prompt templates with variables:",[236,5113,5115],{"className":374,"code":5114,"language":376,"meta":244,"style":244},"PRODUCT_TEMPLATE = (\n    \"image 1 as first frame.\\n\"\n    \"【Style】{style}\\n\"\n    \"【Duration】{duration} seconds\\n\\n\"\n    \"[00:00-00:03] Product slowly begins rotating clockwise. \"\n    \"{lighting_description}. Every texture detail remains razor-sharp.\\n\\n\"\n    \"[00:03-00:06] Rotation continues to 180 degrees. Camera subtly lowers angle \"\n    \"to reveal the product's profile.\\n\\n\"\n    \"[00:06-{end_tc}] Rotation slows to a stop at the most photogenic angle. \"\n    \"Clean, minimal, premium.\\n\\n\"\n    \"Maintain exact product proportions from image 1. {background}. Commercial-grade lighting.\"\n)\n\n# Generate multiple product videos\nproducts = [\n    {\"style\": \"Clean white infinity cove, premium commercial\",\n     \"duration\": 8, \"end_tc\": \"00:08\",\n     \"lighting_description\": \"Soft studio lighting creates a gentle gradient\",\n     \"background\": \"White background throughout\"},\n    {\"style\": \"Warm wooden surface, artisan craft aesthetic\",\n     \"duration\": 10, \"end_tc\": \"00:10\",\n     \"lighting_description\": \"Warm golden spotlight from above\",\n     \"background\": \"Natural wood grain texture visible\"},\n]\n\nfor product in products:\n    prompt = PRODUCT_TEMPLATE.format(**product)\n    # Submit to API using the prompt...\n",[14,5116,5117,5127,5136,5146,5161,5166,5181,5186,5195,5206,5215,5226,5230,5234,5239,5249,5264,5285,5297,5309,5322,5341,5352,5363,5367,5371,5385,5404],{"__ignoreMap":244},[380,5118,5119,5122,5124],{"class":382,"line":383},[380,5120,5121],{"class":419},"PRODUCT_TEMPLATE",[380,5123,423],{"class":386},[380,5125,5126],{"class":390}," (\n",[380,5128,5129,5132,5134],{"class":382,"line":394},[380,5130,5131],{"class":429},"    \"image 1 as first frame.",[380,5133,560],{"class":419},[380,5135,563],{"class":429},[380,5137,5138,5141,5144],{"class":382,"line":402},[380,5139,5140],{"class":429},"    \"【Style】",[380,5142,5143],{"class":419},"{style}\\n",[380,5145,563],{"class":429},[380,5147,5148,5151,5154,5157,5159],{"class":382,"line":410},[380,5149,5150],{"class":429},"    \"【Duration】",[380,5152,5153],{"class":419},"{duration}",[380,5155,5156],{"class":429}," seconds",[380,5158,572],{"class":419},[380,5160,563],{"class":429},[380,5162,5163],{"class":382,"line":416},[380,5164,5165],{"class":429},"    \"[00:00-00:03] Product slowly begins rotating clockwise. \"\n",[380,5167,5168,5171,5174,5177,5179],{"class":382,"line":436},[380,5169,5170],{"class":429},"    \"",[380,5172,5173],{"class":419},"{lighting_description}",[380,5175,5176],{"class":429},". Every texture detail remains razor-sharp.",[380,5178,572],{"class":419},[380,5180,563],{"class":429},[380,5182,5183],{"class":382,"line":447},[380,5184,5185],{"class":429},"    \"[00:03-00:06] Rotation continues to 180 degrees. Camera subtly lowers angle \"\n",[380,5187,5188,5191,5193],{"class":382,"line":452},[380,5189,5190],{"class":429},"    \"to reveal the product's profile.",[380,5192,572],{"class":419},[380,5194,563],{"class":429},[380,5196,5197,5200,5203],{"class":382,"line":459},[380,5198,5199],{"class":429},"    \"[00:06-",[380,5201,5202],{"class":419},"{end_tc}",[380,5204,5205],{"class":429},"] Rotation slows to a stop at the most photogenic angle. \"\n",[380,5207,5208,5211,5213],{"class":382,"line":471},[380,5209,5210],{"class":429},"    \"Clean, minimal, premium.",[380,5212,572],{"class":419},[380,5214,563],{"class":429},[380,5216,5217,5220,5223],{"class":382,"line":489},[380,5218,5219],{"class":429},"    \"Maintain exact product proportions from image 1. ",[380,5221,5222],{"class":419},"{background}",[380,5224,5225],{"class":429},". Commercial-grade lighting.\"\n",[380,5227,5228],{"class":382,"line":521},[380,5229,433],{"class":390},[380,5231,5232],{"class":382,"line":532},[380,5233,413],{"emptyLinePlaceholder":364},[380,5235,5236],{"class":382,"line":545},[380,5237,5238],{"class":455},"# Generate multiple product videos\n",[380,5240,5241,5244,5246],{"class":382,"line":554},[380,5242,5243],{"class":390},"products ",[380,5245,465],{"class":386},[380,5247,5248],{"class":390}," [\n",[380,5250,5251,5254,5257,5259,5262],{"class":382,"line":566},[380,5252,5253],{"class":390},"    {",[380,5255,5256],{"class":429},"\"style\"",[380,5258,504],{"class":390},[380,5260,5261],{"class":429},"\"Clean white infinity cove, premium commercial\"",[380,5263,486],{"class":390},[380,5265,5266,5269,5271,5273,5275,5278,5280,5283],{"class":382,"line":577},[380,5267,5268],{"class":429},"     \"duration\"",[380,5270,504],{"class":390},[380,5272,1433],{"class":419},[380,5274,1011],{"class":390},[380,5276,5277],{"class":429},"\"end_tc\"",[380,5279,504],{"class":390},[380,5281,5282],{"class":429},"\"00:08\"",[380,5284,486],{"class":390},[380,5286,5287,5290,5292,5295],{"class":382,"line":587},[380,5288,5289],{"class":429},"     \"lighting_description\"",[380,5291,504],{"class":390},[380,5293,5294],{"class":429},"\"Soft studio lighting creates a gentle gradient\"",[380,5296,486],{"class":390},[380,5298,5299,5302,5304,5307],{"class":382,"line":593},[380,5300,5301],{"class":429},"     \"background\"",[380,5303,504],{"class":390},[380,5305,5306],{"class":429},"\"White background throughout\"",[380,5308,518],{"class":390},[380,5310,5311,5313,5315,5317,5320],{"class":382,"line":599},[380,5312,5253],{"class":390},[380,5314,5256],{"class":429},[380,5316,504],{"class":390},[380,5318,5319],{"class":429},"\"Warm wooden surface, artisan craft aesthetic\"",[380,5321,486],{"class":390},[380,5323,5324,5326,5328,5330,5332,5334,5336,5339],{"class":382,"line":609},[380,5325,5268],{"class":429},[380,5327,504],{"class":390},[380,5329,719],{"class":419},[380,5331,1011],{"class":390},[380,5333,5277],{"class":429},[380,5335,504],{"class":390},[380,5337,5338],{"class":429},"\"00:10\"",[380,5340,486],{"class":390},[380,5342,5343,5345,5347,5350],{"class":382,"line":619},[380,5344,5289],{"class":429},[380,5346,504],{"class":390},[380,5348,5349],{"class":429},"\"Warm golden spotlight from above\"",[380,5351,486],{"class":390},[380,5353,5354,5356,5358,5361],{"class":382,"line":629},[380,5355,5301],{"class":429},[380,5357,504],{"class":390},[380,5359,5360],{"class":429},"\"Natural wood grain texture visible\"",[380,5362,518],{"class":390},[380,5364,5365],{"class":382,"line":635},[380,5366,771],{"class":390},[380,5368,5369],{"class":382,"line":641},[380,5370,413],{"emptyLinePlaceholder":364},[380,5372,5373,5376,5379,5382],{"class":382,"line":651},[380,5374,5375],{"class":386},"for",[380,5377,5378],{"class":390}," product ",[380,5380,5381],{"class":386},"in",[380,5383,5384],{"class":390}," products:\n",[380,5386,5387,5390,5392,5395,5398,5401],{"class":382,"line":661},[380,5388,5389],{"class":390},"    prompt ",[380,5391,465],{"class":386},[380,5393,5394],{"class":419}," PRODUCT_TEMPLATE",[380,5396,5397],{"class":390},".format(",[380,5399,5400],{"class":386},"**",[380,5402,5403],{"class":390},"product)\n",[380,5405,5406],{"class":382,"line":671},[380,5407,5408],{"class":455},"    # Submit to API using the prompt...\n",[10,5410,5411],{},"This approach keeps prompts consistent and makes A/B testing straightforward.",[165,5413,5415],{"id":5414},"use-the-shot-script-format-for-complex-scenes","Use the Shot-Script Format for Complex Scenes",[10,5417,5418],{},"For any video longer than 5 seconds or involving multiple actions, use the shot-script format:",[207,5420,5421,5433,5442,5448,5454],{},[210,5422,5423,5426,5427,4972,5430],{},[33,5424,5425],{},"Declare style and duration"," at the top with ",[14,5428,5429],{},"【Style】",[14,5431,5432],{},"【Duration】",[210,5434,5435,5438,5439,5441],{},[33,5436,5437],{},"Break into 3–5 second segments"," with ",[14,5440,218],{}," timecodes",[210,5443,5444,5447],{},[33,5445,5446],{},"Name each shot"," with its function: \"Shot 1: The Reveal\"",[210,5449,5450,5453],{},[33,5451,5452],{},"Add physics details"," — describe what physically happens (water splashes, dust rises) not abstract concepts",[210,5455,5456,5459],{},[33,5457,5458],{},"End with constraints"," — consistency rules, palette notes, physics requirements",[165,5461,5463],{"id":5462},"maintain-character-consistency-across-generations","Maintain Character Consistency Across Generations",[10,5465,5466],{},"To keep the same character across multiple videos:",[207,5468,5469,5477,5483],{},[210,5470,5471,5474,5475],{},[33,5472,5473],{},"Use the same reference image"," in every request via ",[14,5476,1164],{},[210,5478,5479,5482],{},[33,5480,5481],{},"Include explicit appearance descriptors"," in the prompt — \"same red jacket, short black hair\" — even when using an image reference",[210,5484,5485,5488],{},[33,5486,5487],{},"Generate sequentially"," and use the last frame of video N as the first frame image for video N+1",[10,5490,5491,5492,17],{},"We cover advanced multi-shot consistency patterns — including batch generation and character locking — in the ",[22,5493,5494],{"href":2229},"image-to-video guide",[165,5496,5498],{"id":5497},"optimize-costs","Optimize Costs",[10,5500,5501],{},"Video references increase generation cost compared to text-only or image-only prompts. Use this decision tree:",[1034,5503,5504,5510,5516],{},[210,5505,5506,5509],{},[33,5507,5508],{},"Text-only"," — cheapest; use when you need generic scenes or have no reference material",[210,5511,5512,5515],{},[33,5513,5514],{},"Image references"," — moderate cost; use for character/scene consistency",[210,5517,5518,5521],{},[33,5519,5520],{},"Video references"," — highest cost; use only when you specifically need camera replication or motion transfer",[46,5523,5524],{},[10,5525,5526,5527,5532],{},"Exact pricing varies by resolution and duration. Check ",[22,5528,5531],{"href":5529,"rel":5530},"https://evolink.ai/#pricing",[26],"EvoLink pricing"," for current rates (as of Feb 2026).",[165,5534,5536],{"id":5535},"version-control-your-prompts","Version-Control Your Prompts",[10,5538,5539],{},"Treat prompts like code. Store them in version control with metadata:",[236,5541,5543],{"className":374,"code":5542,"language":376,"meta":244,"style":244},"PROMPT_REGISTRY = {\n    \"product_hero_v3\": {\n        \"version\": \"3.0\",\n        \"prompt\": \"【Style】Clean white infinity cove...\",\n        \"model\": \"seedance-2.0-text-to-video\",\n        \"duration\": 10,\n        \"test_results\": {\"ctr\": 0.24, \"conversion\": 0.087},\n        \"created\": \"2026-02-19\"\n    }\n}\n",[14,5544,5545,5555,5563,5575,5586,5596,5606,5634,5644,5648],{"__ignoreMap":244},[380,5546,5547,5550,5552],{"class":382,"line":383},[380,5548,5549],{"class":419},"PROMPT_REGISTRY",[380,5551,423],{"class":386},[380,5553,5554],{"class":390}," {\n",[380,5556,5557,5560],{"class":382,"line":394},[380,5558,5559],{"class":429},"    \"product_hero_v3\"",[380,5561,5562],{"class":390},": {\n",[380,5564,5565,5568,5570,5573],{"class":382,"line":402},[380,5566,5567],{"class":429},"        \"version\"",[380,5569,504],{"class":390},[380,5571,5572],{"class":429},"\"3.0\"",[380,5574,486],{"class":390},[380,5576,5577,5579,5581,5584],{"class":382,"line":410},[380,5578,548],{"class":429},[380,5580,504],{"class":390},[380,5582,5583],{"class":429},"\"【Style】Clean white infinity cove...\"",[380,5585,486],{"class":390},[380,5587,5588,5590,5592,5594],{"class":382,"line":416},[380,5589,535],{"class":429},[380,5591,504],{"class":390},[380,5593,540],{"class":429},[380,5595,486],{"class":390},[380,5597,5598,5600,5602,5604],{"class":382,"line":436},[380,5599,714],{"class":429},[380,5601,504],{"class":390},[380,5603,719],{"class":419},[380,5605,486],{"class":390},[380,5607,5608,5611,5614,5617,5619,5622,5624,5627,5629,5632],{"class":382,"line":447},[380,5609,5610],{"class":429},"        \"test_results\"",[380,5612,5613],{"class":390},": {",[380,5615,5616],{"class":429},"\"ctr\"",[380,5618,504],{"class":390},[380,5620,5621],{"class":419},"0.24",[380,5623,1011],{"class":390},[380,5625,5626],{"class":429},"\"conversion\"",[380,5628,504],{"class":390},[380,5630,5631],{"class":419},"0.087",[380,5633,518],{"class":390},[380,5635,5636,5639,5641],{"class":382,"line":452},[380,5637,5638],{"class":429},"        \"created\"",[380,5640,504],{"class":390},[380,5642,5643],{"class":429},"\"2026-02-19\"\n",[380,5645,5646],{"class":382,"line":459},[380,5647,738],{"class":390},[380,5649,5650],{"class":382,"line":471},[380,5651,855],{"class":390},[10,5653,5654],{},"This enables prompt A/B testing and rollback to previous versions if needed.",[165,5656,5658],{"id":5657},"handle-generation-failures-gracefully","Handle Generation Failures Gracefully",[10,5660,5661],{},"Not every prompt succeeds. Build retry logic with exponential backoff:",[236,5663,5665],{"className":374,"code":5664,"language":376,"meta":244,"style":244},"import time\nimport random\n\ndef generate_with_retry(prompt_data, max_retries=3):\n    for attempt in range(max_retries):\n        try:\n            response = requests.post(f\"{BASE_URL}/videos/generations\", \n                                   json=prompt_data, headers=headers)\n            if response.status_code == 200:\n                return response.json()\n        except Exception as e:\n            if attempt == max_retries - 1:\n                raise e\n            time.sleep(2 ** attempt + random.uniform(0, 1))\n    return None\n",[14,5666,5667,5673,5680,5684,5703,5719,5726,5747,5765,5780,5787,5801,5820,5828,5855],{"__ignoreMap":244},[380,5668,5669,5671],{"class":382,"line":383},[380,5670,387],{"class":386},[380,5672,407],{"class":390},[380,5674,5675,5677],{"class":382,"line":394},[380,5676,387],{"class":386},[380,5678,5679],{"class":390}," random\n",[380,5681,5682],{"class":382,"line":402},[380,5683,413],{"emptyLinePlaceholder":364},[380,5685,5686,5689,5693,5696,5698,5700],{"class":382,"line":410},[380,5687,5688],{"class":386},"def",[380,5690,5692],{"class":5691},"svObZ"," generate_with_retry",[380,5694,5695],{"class":390},"(prompt_data, max_retries",[380,5697,465],{"class":386},[380,5699,4956],{"class":419},[380,5701,5702],{"class":390},"):\n",[380,5704,5705,5708,5711,5713,5716],{"class":382,"line":416},[380,5706,5707],{"class":386},"    for",[380,5709,5710],{"class":390}," attempt ",[380,5712,5381],{"class":386},[380,5714,5715],{"class":419}," range",[380,5717,5718],{"class":390},"(max_retries):\n",[380,5720,5721,5724],{"class":382,"line":436},[380,5722,5723],{"class":386},"        try",[380,5725,794],{"class":390},[380,5727,5728,5731,5733,5736,5738,5740,5742,5744],{"class":382,"line":447},[380,5729,5730],{"class":390},"            response ",[380,5732,465],{"class":386},[380,5734,5735],{"class":390}," requests.post(",[380,5737,507],{"class":386},[380,5739,477],{"class":429},[380,5741,480],{"class":419},[380,5743,483],{"class":429},[380,5745,5746],{"class":390},", \n",[380,5748,5749,5752,5754,5757,5760,5762],{"class":382,"line":452},[380,5750,5751],{"class":492},"                                   json",[380,5753,465],{"class":386},[380,5755,5756],{"class":390},"prompt_data, ",[380,5758,5759],{"class":492},"headers",[380,5761,465],{"class":386},[380,5763,5764],{"class":390},"headers)\n",[380,5766,5767,5770,5773,5775,5778],{"class":382,"line":459},[380,5768,5769],{"class":386},"            if",[380,5771,5772],{"class":390}," response.status_code ",[380,5774,879],{"class":386},[380,5776,5777],{"class":419}," 200",[380,5779,794],{"class":390},[380,5781,5782,5785],{"class":382,"line":471},[380,5783,5784],{"class":386},"                return",[380,5786,754],{"class":390},[380,5788,5789,5792,5795,5798],{"class":382,"line":489},[380,5790,5791],{"class":386},"        except",[380,5793,5794],{"class":419}," Exception",[380,5796,5797],{"class":386}," as",[380,5799,5800],{"class":390}," e:\n",[380,5802,5803,5805,5807,5809,5812,5815,5818],{"class":382,"line":521},[380,5804,5769],{"class":386},[380,5806,5710],{"class":390},[380,5808,879],{"class":386},[380,5810,5811],{"class":390}," max_retries ",[380,5813,5814],{"class":386},"-",[380,5816,5817],{"class":419}," 1",[380,5819,794],{"class":390},[380,5821,5822,5825],{"class":382,"line":532},[380,5823,5824],{"class":386},"                raise",[380,5826,5827],{"class":390}," e\n",[380,5829,5830,5833,5835,5838,5840,5843,5846,5848,5850,5852],{"class":382,"line":545},[380,5831,5832],{"class":390},"            time.sleep(",[380,5834,4935],{"class":419},[380,5836,5837],{"class":386}," **",[380,5839,5710],{"class":390},[380,5841,5842],{"class":386},"+",[380,5844,5845],{"class":390}," random.uniform(",[380,5847,912],{"class":419},[380,5849,1011],{"class":390},[380,5851,4918],{"class":419},[380,5853,5854],{"class":390},"))\n",[380,5856,5857,5860],{"class":382,"line":554},[380,5858,5859],{"class":386},"    return",[380,5861,5862],{"class":419}," None\n",[10,5864,5865],{},"Common failure modes:",[1034,5867,5868,5874,5880],{},[210,5869,5870,5873],{},[33,5871,5872],{},"Content policy violations"," — often caused by realistic human faces",[210,5875,5876,5879],{},[33,5877,5878],{},"Resource exhaustion"," — retry after a longer delay",[210,5881,5882,5885],{},[33,5883,5884],{},"Invalid @tag references"," — check file upload order",[61,5887],{},[64,5889,5891],{"id":5890},"advanced-techniques-for-pro-users","Advanced Techniques for Pro Users",[165,5893,5895],{"id":5894},"chaining-multiple-generations","Chaining Multiple Generations",[10,5897,5898],{},"Create longer narratives by using the last frame of one video as the first frame of the next:",[236,5900,5902],{"className":374,"code":5901,"language":376,"meta":244,"style":244},"# Step 1: Generate opening scene\nscene1_result = generate_video({\n    \"prompt\": \"A detective enters a dark office...\",\n    \"duration\": 8\n})\n\n# Step 2: Extract last frame and use as first frame for scene 2\nlast_frame = extract_frame(scene1_result[\"video_url\"], timestamp=-1)\n\nscene2_result = generate_video({\n    \"files\": [(\"references\", last_frame)],\n    \"prompt\": \"image 1 as first frame. The detective discovers a clue...\",\n    \"duration\": 10\n})\n",[14,5903,5904,5909,5919,5931,5941,5946,5950,5955,5981,5985,5994,6008,6019,6028],{"__ignoreMap":244},[380,5905,5906],{"class":382,"line":383},[380,5907,5908],{"class":455},"# Step 1: Generate opening scene\n",[380,5910,5911,5914,5916],{"class":382,"line":394},[380,5912,5913],{"class":390},"scene1_result ",[380,5915,465],{"class":386},[380,5917,5918],{"class":390}," generate_video({\n",[380,5920,5921,5924,5926,5929],{"class":382,"line":402},[380,5922,5923],{"class":429},"    \"prompt\"",[380,5925,504],{"class":390},[380,5927,5928],{"class":429},"\"A detective enters a dark office...\"",[380,5930,486],{"class":390},[380,5932,5933,5936,5938],{"class":382,"line":410},[380,5934,5935],{"class":429},"    \"duration\"",[380,5937,504],{"class":390},[380,5939,5940],{"class":419},"8\n",[380,5942,5943],{"class":382,"line":416},[380,5944,5945],{"class":390},"})\n",[380,5947,5948],{"class":382,"line":436},[380,5949,413],{"emptyLinePlaceholder":364},[380,5951,5952],{"class":382,"line":447},[380,5953,5954],{"class":455},"# Step 2: Extract last frame and use as first frame for scene 2\n",[380,5956,5957,5960,5962,5965,5968,5971,5974,5977,5979],{"class":382,"line":452},[380,5958,5959],{"class":390},"last_frame ",[380,5961,465],{"class":386},[380,5963,5964],{"class":390}," extract_frame(scene1_result[",[380,5966,5967],{"class":429},"\"video_url\"",[380,5969,5970],{"class":390},"], ",[380,5972,5973],{"class":492},"timestamp",[380,5975,5976],{"class":386},"=-",[380,5978,4918],{"class":419},[380,5980,433],{"class":390},[380,5982,5983],{"class":382,"line":459},[380,5984,413],{"emptyLinePlaceholder":364},[380,5986,5987,5990,5992],{"class":382,"line":471},[380,5988,5989],{"class":390},"scene2_result ",[380,5991,465],{"class":386},[380,5993,5918],{"class":390},[380,5995,5996,5999,6002,6005],{"class":382,"line":489},[380,5997,5998],{"class":429},"    \"files\"",[380,6000,6001],{"class":390},": [(",[380,6003,6004],{"class":429},"\"references\"",[380,6006,6007],{"class":390},", last_frame)],\n",[380,6009,6010,6012,6014,6017],{"class":382,"line":521},[380,6011,5923],{"class":429},[380,6013,504],{"class":390},[380,6015,6016],{"class":429},"\"image 1 as first frame. The detective discovers a clue...\"",[380,6018,486],{"class":390},[380,6020,6021,6023,6025],{"class":382,"line":532},[380,6022,5935],{"class":429},[380,6024,504],{"class":390},[380,6026,6027],{"class":419},"10\n",[380,6029,6030],{"class":382,"line":545},[380,6031,5945],{"class":390},[165,6033,6035],{"id":6034},"dynamic-prompt-generation","Dynamic Prompt Generation",[10,6037,6038],{},"Use AI to generate variations of successful prompts:",[236,6040,6042],{"className":374,"code":6041,"language":376,"meta":244,"style":244},"def generate_prompt_variations(base_prompt, num_variations=3):\n    variations = []\n    for i in range(num_variations):\n        # Use OpenAI/Claude to generate stylistic variations\n        variation = ai_rephrase(base_prompt, style=f\"variation_{i}\")\n        variations.append(variation)\n    return variations\n\n# Test multiple versions for A/B optimization\nbase = \"【Style】Cinematic product showcase...\"\nfor variation in generate_prompt_variations(base):\n    result = generate_video({\"prompt\": variation})\n    # Track performance metrics...\n",[14,6043,6044,6060,6070,6084,6089,6120,6125,6132,6136,6141,6151,6163,6179],{"__ignoreMap":244},[380,6045,6046,6048,6051,6054,6056,6058],{"class":382,"line":383},[380,6047,5688],{"class":386},[380,6049,6050],{"class":5691}," generate_prompt_variations",[380,6052,6053],{"class":390},"(base_prompt, num_variations",[380,6055,465],{"class":386},[380,6057,4956],{"class":419},[380,6059,5702],{"class":390},[380,6061,6062,6065,6067],{"class":382,"line":394},[380,6063,6064],{"class":390},"    variations ",[380,6066,465],{"class":386},[380,6068,6069],{"class":390}," []\n",[380,6071,6072,6074,6077,6079,6081],{"class":382,"line":402},[380,6073,5707],{"class":386},[380,6075,6076],{"class":390}," i ",[380,6078,5381],{"class":386},[380,6080,5715],{"class":419},[380,6082,6083],{"class":390},"(num_variations):\n",[380,6085,6086],{"class":382,"line":410},[380,6087,6088],{"class":455},"        # Use OpenAI/Claude to generate stylistic variations\n",[380,6090,6091,6094,6096,6099,6102,6104,6106,6109,6111,6114,6116,6118],{"class":382,"line":416},[380,6092,6093],{"class":390},"        variation ",[380,6095,465],{"class":386},[380,6097,6098],{"class":390}," ai_rephrase(base_prompt, ",[380,6100,6101],{"class":492},"style",[380,6103,465],{"class":386},[380,6105,507],{"class":386},[380,6107,6108],{"class":429},"\"variation_",[380,6110,498],{"class":419},[380,6112,6113],{"class":390},"i",[380,6115,826],{"class":419},[380,6117,477],{"class":429},[380,6119,433],{"class":390},[380,6121,6122],{"class":382,"line":436},[380,6123,6124],{"class":390},"        variations.append(variation)\n",[380,6126,6127,6129],{"class":382,"line":447},[380,6128,5859],{"class":386},[380,6130,6131],{"class":390}," variations\n",[380,6133,6134],{"class":382,"line":452},[380,6135,413],{"emptyLinePlaceholder":364},[380,6137,6138],{"class":382,"line":459},[380,6139,6140],{"class":455},"# Test multiple versions for A/B optimization\n",[380,6142,6143,6146,6148],{"class":382,"line":471},[380,6144,6145],{"class":390},"base ",[380,6147,465],{"class":386},[380,6149,6150],{"class":429}," \"【Style】Cinematic product showcase...\"\n",[380,6152,6153,6155,6158,6160],{"class":382,"line":489},[380,6154,5375],{"class":386},[380,6156,6157],{"class":390}," variation ",[380,6159,5381],{"class":386},[380,6161,6162],{"class":390}," generate_prompt_variations(base):\n",[380,6164,6165,6168,6170,6173,6176],{"class":382,"line":521},[380,6166,6167],{"class":390},"    result ",[380,6169,465],{"class":386},[380,6171,6172],{"class":390}," generate_video({",[380,6174,6175],{"class":429},"\"prompt\"",[380,6177,6178],{"class":390},": variation})\n",[380,6180,6181],{"class":382,"line":532},[380,6182,6183],{"class":455},"    # Track performance metrics...\n",[165,6185,6187],{"id":6186},"automated-quality-assessment","Automated Quality Assessment",[10,6189,6190],{},"Score generated videos automatically before manual review:",[236,6192,6194],{"className":374,"code":6193,"language":376,"meta":244,"style":244},"def assess_video_quality(video_url):\n    scores = {}\n    \n    # Motion smoothness (analyze frame-to-frame changes)\n    scores[\"motion\"] = calculate_motion_smoothness(video_url)\n    \n    # Visual consistency (check for flickering/artifacts)\n    scores[\"consistency\"] = detect_visual_artifacts(video_url)\n    \n    # Prompt adherence (use CLIP to compare with text description)\n    scores[\"adherence\"] = measure_prompt_alignment(video_url, prompt)\n    \n    return scores\n\n# Only proceed with high-quality generations\nresult = generate_video(prompt_data)\nif assess_video_quality(result[\"video_url\"])[\"overall\"] > 0.8:\n    publish_video(result[\"video_url\"])\n",[14,6195,6196,6206,6216,6221,6226,6241,6245,6250,6264,6268,6273,6287,6291,6298,6302,6307,6317,6343],{"__ignoreMap":244},[380,6197,6198,6200,6203],{"class":382,"line":383},[380,6199,5688],{"class":386},[380,6201,6202],{"class":5691}," assess_video_quality",[380,6204,6205],{"class":390},"(video_url):\n",[380,6207,6208,6211,6213],{"class":382,"line":394},[380,6209,6210],{"class":390},"    scores ",[380,6212,465],{"class":386},[380,6214,6215],{"class":390}," {}\n",[380,6217,6218],{"class":382,"line":402},[380,6219,6220],{"class":390},"    \n",[380,6222,6223],{"class":382,"line":410},[380,6224,6225],{"class":455},"    # Motion smoothness (analyze frame-to-frame changes)\n",[380,6227,6228,6231,6234,6236,6238],{"class":382,"line":416},[380,6229,6230],{"class":390},"    scores[",[380,6232,6233],{"class":429},"\"motion\"",[380,6235,876],{"class":390},[380,6237,465],{"class":386},[380,6239,6240],{"class":390}," calculate_motion_smoothness(video_url)\n",[380,6242,6243],{"class":382,"line":436},[380,6244,6220],{"class":390},[380,6246,6247],{"class":382,"line":447},[380,6248,6249],{"class":455},"    # Visual consistency (check for flickering/artifacts)\n",[380,6251,6252,6254,6257,6259,6261],{"class":382,"line":452},[380,6253,6230],{"class":390},[380,6255,6256],{"class":429},"\"consistency\"",[380,6258,876],{"class":390},[380,6260,465],{"class":386},[380,6262,6263],{"class":390}," detect_visual_artifacts(video_url)\n",[380,6265,6266],{"class":382,"line":459},[380,6267,6220],{"class":390},[380,6269,6270],{"class":382,"line":471},[380,6271,6272],{"class":455},"    # Prompt adherence (use CLIP to compare with text description)\n",[380,6274,6275,6277,6280,6282,6284],{"class":382,"line":489},[380,6276,6230],{"class":390},[380,6278,6279],{"class":429},"\"adherence\"",[380,6281,876],{"class":390},[380,6283,465],{"class":386},[380,6285,6286],{"class":390}," measure_prompt_alignment(video_url, prompt)\n",[380,6288,6289],{"class":382,"line":521},[380,6290,6220],{"class":390},[380,6292,6293,6295],{"class":382,"line":532},[380,6294,5859],{"class":386},[380,6296,6297],{"class":390}," scores\n",[380,6299,6300],{"class":382,"line":545},[380,6301,413],{"emptyLinePlaceholder":364},[380,6303,6304],{"class":382,"line":554},[380,6305,6306],{"class":455},"# Only proceed with high-quality generations\n",[380,6308,6309,6312,6314],{"class":382,"line":566},[380,6310,6311],{"class":390},"result ",[380,6313,465],{"class":386},[380,6315,6316],{"class":390}," generate_video(prompt_data)\n",[380,6318,6319,6322,6325,6327,6330,6333,6335,6338,6341],{"class":382,"line":577},[380,6320,6321],{"class":386},"if",[380,6323,6324],{"class":390}," assess_video_quality(result[",[380,6326,5967],{"class":429},[380,6328,6329],{"class":390},"])[",[380,6331,6332],{"class":429},"\"overall\"",[380,6334,876],{"class":390},[380,6336,6337],{"class":386},">",[380,6339,6340],{"class":419}," 0.8",[380,6342,794],{"class":390},[380,6344,6345,6348,6350],{"class":382,"line":587},[380,6346,6347],{"class":390},"    publish_video(result[",[380,6349,5967],{"class":429},[380,6351,6352],{"class":390},"])\n",[46,6354,6355],{},[10,6356,6357],{},[22,6358,6360],{"href":56,"rel":6359},[26],"Access advanced Seedance features with EvoLink Pro plans",[61,6362],{},[64,6364,6366],{"id":6365},"frequently-asked-questions","Frequently Asked Questions",[165,6368,6370],{"id":6369},"whats-the-difference-between-seedance-10-and-20","What's the difference between Seedance 1.0 and 2.0?",[10,6372,6373],{},"Seedance 2.0 introduces multimodal input (@tag references), longer generation support (4 to 15 seconds), and significantly improved temporal consistency. The prompt structure remains similar, but 2.0 handles complex scenes much better.",[165,6375,6377],{"id":6376},"why-do-my-tag-references-sometimes-get-ignored","Why do my @tag references sometimes get ignored?",[10,6379,6380],{},"Common causes:",[207,6382,6383,6392,6401,6407],{},[210,6384,6385,6388,6389,6391],{},[33,6386,6387],{},"Wrong numbering"," — ",[14,6390,4944],{}," when you only uploaded 2 images",[210,6393,6394,6397,6398,6400],{},[33,6395,6396],{},"File type mismatch"," — referencing ",[14,6399,1074],{}," when you uploaded an image",[210,6402,6403,6406],{},[33,6404,6405],{},"Conflicting instructions"," — asking for \"dark night scene\" with a bright daytime image",[210,6408,6409,6412],{},[33,6410,6411],{},"Upload order confusion"," — tags are assigned by upload order within each type",[165,6414,6416],{"id":6415},"how-do-i-maintain-character-consistency-across-multiple-videos","How do I maintain character consistency across multiple videos?",[207,6418,6419,6422,6425,6428],{},[210,6420,6421],{},"Use the exact same reference image in every generation",[210,6423,6424],{},"Include explicit character descriptors in text (\"same blue jacket, shoulder-length brown hair\")",[210,6426,6427],{},"Use the last frame of video N as the first frame of video N+1",[210,6429,6430],{},"Keep character descriptions identical across prompts",[165,6432,6434],{"id":6433},"can-i-modify-an-existing-video","Can I modify an existing video?",[10,6436,6437],{},"Yes! Upload your existing video via video_urls and use video 1 references in the prompt to edit it — replace characters, modify scenes, extend duration, or change the storyline.",[10,6439,6440],{},"However, you can also:",[1034,6442,6443,6446,6449],{},[210,6444,6445],{},"Use video 1 to reference the original and describe your edits in the prompt",[210,6447,6448],{},"Upload reference images via image_urls to replace characters or add elements",[210,6450,6451],{},"Use extension prompts to add content before or after the original video",[10,6453,6454,6455,6459],{},"See our ",[22,6456,6458],{"href":6457},"/docs/reference-to-video","multimodal reference docs"," for the full editing parameter spec.",[165,6461,6463],{"id":6462},"whats-the-maximum-video-length","What's the maximum video length?",[10,6465,6466],{},"Seedance 2.0 supports 4 to 15 seconds per generation. For longer content beyond the 15-second limit, consider:",[1034,6468,6469,6472,6475],{},[210,6470,6471],{},"Breaking into multiple scenes and chaining them",[210,6473,6474],{},"Using shot-script format with clear timecodes",[210,6476,6477],{},"Focusing on single concepts per generation",[165,6479,6481],{"id":6480},"how-do-i-avoid-content-policy-violations","How do I avoid content policy violations?",[1034,6483,6484,6487,6490,6493],{},[210,6485,6486],{},"Don't upload realistic human face photos",[210,6488,6489],{},"Avoid copyrighted characters or celebrities",[210,6491,6492],{},"Use illustrated/stylized character references instead of photos",[210,6494,6495],{},"Focus on original concepts rather than recreating existing media",[165,6497,6499],{"id":6498},"why-do-some-prompts-cost-more-than-others","Why do some prompts cost more than others?",[10,6501,6502],{},"Generation cost factors:",[207,6504,6505,6511,6517,6523],{},[210,6506,6507,6510],{},[33,6508,6509],{},"Duration"," — longer videos cost more",[210,6512,6513,6516],{},[33,6514,6515],{},"Resolution"," — 720p costs more than 480p (Seedance 2.0 API exposes only the 480p and 720p tiers)",[210,6518,6519,6522],{},[33,6520,6521],{},"Number of references"," — video refs cost more than image refs",[210,6524,6525,6528],{},[33,6526,6527],{},"Complexity"," — multi-character scenes may use more compute",[165,6530,6532],{"id":6531},"how-do-i-get-the-best-results-from-shot-script-format","How do I get the best results from shot-script format?",[207,6534,6535,6538,6541,6544,6547],{},[210,6536,6537],{},"Keep each shot segment to 3-5 seconds maximum",[210,6539,6540],{},"Use specific style anchors (\"Christopher Nolan thriller\" vs \"cinematic\")",[210,6542,6543],{},"Describe physical actions, not abstract concepts",[210,6545,6546],{},"Include camera movement instructions for each shot",[210,6548,6549],{},"End with consistency constraints and physics requirements",[165,6551,6553],{"id":6552},"can-i-use-seedance-for-commercial-projects","Can I use Seedance for commercial projects?",[10,6555,6556,6557,6561],{},"Yes, with appropriate licensing. Check the current terms at ",[22,6558,6560],{"href":56,"rel":6559},[26],"EvoLink"," as policies may vary by subscription tier.",[165,6563,6565],{"id":6564},"how-do-i-troubleshoot-failed-generations","How do I troubleshoot failed generations?",[207,6567,6568,6574,6580,6586,6592],{},[210,6569,6570,6573],{},[33,6571,6572],{},"Check file limits"," — ≤9 images, ≤3 videos, ≤3 audio",[210,6575,6576,6579],{},[33,6577,6578],{},"Verify @tag numbering"," matches your uploaded files",[210,6581,6582,6585],{},[33,6583,6584],{},"Simplify the prompt"," if it's over 200 words",[210,6587,6588,6591],{},[33,6589,6590],{},"Remove conflicting instructions"," between text and references",[210,6593,6594,6597],{},[33,6595,6596],{},"Try text-only"," first, then add references gradually",[165,6599,6601],{"id":6600},"what-makes-a-prompt-professional-quality","What makes a prompt \"professional quality\"?",[10,6603,6604],{},"Professional prompts typically include:",[1034,6606,6607,6610,6613,6616,6619],{},[210,6608,6609],{},"Shot-script format with timecodes",[210,6611,6612],{},"Specific style anchors (director names, art movements)",[210,6614,6615],{},"Physical action descriptions rather than abstract concepts",[210,6617,6618],{},"Consistency constraints and physics requirements",[210,6620,6621],{},"Appropriate reference file selection and @tag usage",[61,6623],{},[64,6625,6627],{"id":6626},"conclusion","Conclusion",[10,6629,6630],{},"Mastering Seedance 2.0 prompts is about understanding the balance between text descriptions and multimodal references. The shot-script format gives you cinematic control, while @tag references provide visual consistency.",[10,6632,6633],{},"Start with the text-only templates in this guide, then gradually incorporate image and video references as you become comfortable with the syntax. Focus on clear, specific instructions rather than overly complex descriptions.",[10,6635,6636],{},"The templates here cover the most common use cases — from product commercials to character animations to style transformations. Adapt them to your specific needs by changing the style anchors, timecodes, and reference files.",[10,6638,6639,6640,6643,6644,6647],{},"Most importantly: ",[33,6641,6642],{},"experiment",". Each prompt teaches you something about how Seedance 2.0 interprets instructions. The community at ",[22,6645,313],{"href":311,"rel":6646},[26]," shares successful prompt patterns and breakthrough techniques.",[10,6649,6650,53,6653,6657],{},[33,6651,6652],{},"Ready to start creating?",[22,6654,6656],{"href":56,"rel":6655},[26],"Get your free EvoLink API key"," and run every template in this guide. The future of video creation is multimodal — and it's available today.",[10,6659,6660,6663,6664,6667,6668,6671,6672,6674],{},[33,6661,6662],{},"Next up:"," Master the @tag reference system → ",[22,6665,6666],{"href":1100},"Multimodal Guide"," | ",[22,6669,6670],{"href":2229},"Image-to-Video Tutorial"," | Learn ",[22,6673,3030],{"href":320}," with complete Python examples",[61,6676],{},[10,6678,6679],{},[182,6680,6681],{},"Last updated: February 19, 2026 | Written by J, Growth Lead at EvoLink",[6101,6683,6684],{},"html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .sDLfK, html code.shiki .sDLfK{--shiki-default:#79B8FF}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s9osk, html code.shiki .s9osk{--shiki-default:#FFAB70}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 pre.shiki code .svObZ, html code.shiki .svObZ{--shiki-default:#B392F0}",{"title":244,"searchDepth":394,"depth":394,"links":6686},[6687,6693,6700,6706,6707,6715,6720,6733],{"id":66,"depth":394,"text":67,"children":6688},[6689,6690,6691,6692],{"id":167,"depth":402,"text":168},{"id":195,"depth":402,"text":196},{"id":324,"depth":402,"text":325},{"id":356,"depth":402,"text":357},{"id":1021,"depth":394,"text":1022,"children":6694},[6695,6696,6697,6698,6699],{"id":1031,"depth":402,"text":1032},{"id":1104,"depth":402,"text":1105},{"id":1200,"depth":402,"text":1201},{"id":1278,"depth":402,"text":1279},{"id":1341,"depth":402,"text":1342},{"id":1462,"depth":394,"text":1463,"children":6701},[6702,6703,6704,6705],{"id":1466,"depth":402,"text":1467},{"id":2213,"depth":402,"text":2214},{"id":3386,"depth":402,"text":3387},{"id":4514,"depth":402,"text":4515},{"id":4892,"depth":394,"text":4893},{"id":5103,"depth":394,"text":5104,"children":6708},[6709,6710,6711,6712,6713,6714],{"id":5107,"depth":402,"text":5108},{"id":5414,"depth":402,"text":5415},{"id":5462,"depth":402,"text":5463},{"id":5497,"depth":402,"text":5498},{"id":5535,"depth":402,"text":5536},{"id":5657,"depth":402,"text":5658},{"id":5890,"depth":394,"text":5891,"children":6716},[6717,6718,6719],{"id":5894,"depth":402,"text":5895},{"id":6034,"depth":402,"text":6035},{"id":6186,"depth":402,"text":6187},{"id":6365,"depth":394,"text":6366,"children":6721},[6722,6723,6724,6725,6726,6727,6728,6729,6730,6731,6732],{"id":6369,"depth":402,"text":6370},{"id":6376,"depth":402,"text":6377},{"id":6415,"depth":402,"text":6416},{"id":6433,"depth":402,"text":6434},{"id":6462,"depth":402,"text":6463},{"id":6480,"depth":402,"text":6481},{"id":6498,"depth":402,"text":6499},{"id":6531,"depth":402,"text":6532},{"id":6552,"depth":402,"text":6553},{"id":6564,"depth":402,"text":6565},{"id":6600,"depth":402,"text":6601},{"id":6626,"depth":394,"text":6627},"Master Seedance 2.0 prompts with @tag syntax, multimodal references, and 15+ ready-to-use templates. Includes Python API code examples.","md",{"date":6737,"image":6738,"pinned":364},"2026-02-19","/111.png","/en/blog/seedance-2-prompt-guide",{"title":5,"description":6734},"en/blog/seedance-2-prompt-guide","Yr16_T8coAhj-Nk9FFp9_SX1qab_8a0e7iHuBwYtX3E",1776086325061]