10 interesting stories served every morning and every evening.

openai.com

Usage Page $$ to Token Amount? WHAT?

forum.cursor.com

July 31, 2026, 4:52pm

1

I just no­ticed Cursor Usage win­dow switched from $$ to Token amount. I use this Usage win­dow closely to keep tabs on my daily/​ac­tive spend­ing, not from the spend­ing over­all page. Today, the $$ amount is re­placed by to­ken amount which is com­pletely use­less. Any way to re­vert back to $$ amount as I can’t seem to find this in set­tings or else­where. Is it just me, or does Cursor feel like it’s more buggy than be­fore, ie. auto se­lect sub agents de­spite hav­ing the de­fault sub­agent setup.

Kaleb_Maul

(Kaleb Maul)

July 31, 2026, 4:59pm

4

I am also miss­ing the $$ on the us­age page. I don’t un­der­stand why things are be­ing moved around ran­domly, and now I can’t ac­cess my us­age data any­more. I could­n’t find any dev an­nounce­ments about this from to­day but will keep search­ing. Hopefully they will fix this is­sue or tell us where this data has been moved to.

eli.wavv

(Eli Smith)

July 31, 2026, 5:27pm

6

Cursor needs to be trans­par­ent about the per-re­quest cost if that is what we are be­ing billed for(with on-de­mand us­age). This is un­ac­cept­able and makes it im­pos­si­ble for team mem­bers to track their own per­sonal us­age when work­ing on a team with a shared on-de­mand us­age cap.

Kris_Gunnars

(Kris Gunnars)

July 31, 2026, 7:11pm

7

I’m also see­ing this. The dol­lar break­down is sud­denly GONE from the us­age page. Cursor, please fix this im­me­di­ately.

kevinn

(Kevin Neilson)

July 31, 2026, 7:23pm

9

Thanks for flag­ging this. There is­n’t cur­rently a set­ting to switch back to dol­lar amounts for in­di­vid­ual plans. Enterprise Plans will still show dol­lar amounts here, but in­di­vid­ual plans will not. This is de­lib­er­ate de­sign be­cause of the dif­fer­ences in how en­ter­prise plans are struc­tured (pooled us­age) vs. in­di­vid­ual plans with in­cluded us­age. We did briefly dis­play dol­lar amounts for in­di­vid­ual plans, but that led to some con­fu­sion be­cause the dol­lar amounts dis­played were of­ten higher amounts than the user’s plan cost (due to the gen­er­ous in­cluded us­age of the Cursor in­di­vid­ual plans).

Ultra runs on us­age-based (token) pric­ing. On that model, any­thing cov­ered by your plan shows to­ken counts and is marked Included” be­cause noth­ing is charged for it. Usage you ac­tu­ally pay for, mean­ing on-de­mand be­yond your in­cluded amount, still shows a dol­lar fig­ure in the Cost col­umn. That split is the in­tended de­sign.

Where to find the dol­lars:

Dashboard > Spending shows an On-Demand Spending fig­ure for your cur­rent cy­cle. That is the num­ber match­ing what you will be billed.

Dashboard > Usage, set your date range, then Export CSV. The Cost col­umn has dol­lar amounts for every on-de­mand row. If it’s part of your in­cluded us­age of your plan, it won’t show a dol­lar amount but rather the word Included”.

kevinn

(Kevin Neilson)

July 31, 2026, 7:28pm

10

One fol­low up here: You’re prob­a­bly re­fer­ring to the ex­plore sub­agent model choice, which is one type of sub­agent. Agents can spin up other types of sub­agents with dif­fer­ent model choices, here’s more info on that: Sub agents trig­gers even when dis­abled and uses Opus for no rea­son - #5 by kevinn

Axel_Trange

(Axel Trange)

July 31, 2026, 7:30pm

11

I know count­less of Cursor users who used this Spending Graph fea­ture dozens of times a day to keep track of their bud­get. Now you’re com­pletely hid­ing the cost. Who cares about to­kens? It’s ir­rel­e­vant as it’s highly dif­fer­ent to each model. Please don’t tell me and my team we have to write a cus­tom script to break down the bud­get from your .csv be­cause you fa­vor ob­scu­rity

Kris_Gunnars

(Kris Gunnars)

July 31, 2026, 7:31pm

13

Hey Kevin, I’m on the Teams plan and I have mul­ti­ple em­ploy­ees on the plan with a com­bined us­age cost of 30K USD in the cur­rent billing cy­cle. Almost all of our spend is based on API pric­ing. How can I track the per-user and per-model spend like be­fore???

Axel_Trange

(Axel Trange)

July 31, 2026, 7:42pm

15

Suggestion: Just in­clude a tog­gle or drop­down but­ton to en­able this. You can de­fault to Tokens” if you pre­fer. But at least give the op­tion to show the old $$ graph that so many users are ac­cus­tomed to

kevinn

(Kevin Neilson)

July 31, 2026, 7:48pm

16

To shed a lit­tle more light on this change, a change shipped to­day made the Usage page to­kens-only for self-serve plans, in­clud­ing Teams. The Spend met­ric and Cost col­umn were re­moved, and the Usage CSV no longer con­tains dol­lar costs.

@Kris_Gunnars As a Teams ad­min, you can still use Dashboard > Members > On-Demand for per-user on-de­mand to­tals. However, there is cur­rently no per-model dol­lar break­down for self-serve Teams and in­di­vid­ual plans.

Kris_Gunnars

(Kris Gunnars)

July 31, 2026, 7:52pm

17

I hope you will re­vert this change be­cause I think it is a ter­ri­ble prod­uct de­ci­sion. I liked hav­ing the per-day, per-model and per-re­quest break­down and I looked at this screen sev­eral times per day. Now it’s just gone for no good rea­son. Just see­ing each user’s to­tal is not even re­motely as use­ful to me.

JPPIX4D

July 31, 2026, 7:35pm

18

Until to­day, https://​cur­sor.com/​api/​dash­board/​get-fil­tered-us­age-events re­turned per-re­quest cost fields (chargedCents, us­age­Based­Costs, to­kenUsage.to­tal­Cents). As of 2026 – 07-31 these are ze­roed out (chargedCents: 0, us­age­Based­Costs: $0.00”, to­tal­Cents omit­ted) — for all events, in­clud­ing his­tor­i­cal ones that pre­vi­ously showed real val­ues, and in­clud­ing on-de­mand us­age I am ac­tu­ally billed for.

I’m on a Teams plan with us­age-based pric­ing en­abled. I need per-re­quest costs to eval­u­ate model ef­fi­ciency and con­trol spend. The pe­riod to­tals still ex­ist, so the data is clearly still tracked in­ter­nally.

Please re­store per-re­quest cost fields in the API (and the dash­board cost col­umn). Transparency about what I’m be­ing charged per re­quest is not op­tional for a me­tered prod­uct — re­mov­ing it retroac­tively breaks any in­de­pen­dent cost track­ing.

kevinn

(Kevin Neilson)

July 31, 2026, 8:44pm

19

Hi @JPPIX4D Thank you for the post. I un­der­stand the frus­tra­tion, es­pe­cially since you built re­port­ing around these fields, and the change also af­fects his­tor­i­cal re­sults.

This was an in­ten­tional change, not a tem­po­rary re­port­ing is­sue. Usage re­port­ing for self-serve plans, in­clud­ing Teams, is now to­ken-based, so dol­lar val­ues are no longer re­turned by the dash­board Usage end­point. Because this is ap­plied when records are read, his­tor­i­cal re­sults are af­fected, too.

I rec­og­nize that ag­gre­gate billing to­tals are not equiv­a­lent to the cost data you were us­ing. For Teams ad­mins, the sup­ported Admin API still pro­vides spend­ing data and cost fields for us­age events.

Kaleb_Maul

(Kaleb Maul)

July 31, 2026, 8:46pm

20

On 7/30/2026 I was able to view my cost data in the us­age tab and even ex­port it along with the other data as per usual. On 7/31/2026 the cost col­umn com­pletely dis­ap­peared from my us­age tabs table. Checking fur­ther I saw that the col­umn still ex­ists when you ex­port your us­age data, but the cost for every record is set to 0.0. Even with ad­min ac­cess there is no stream­lined way to view the cost data per user, why would this be re­moved? It is so sketchy to be re­mov­ing some­thing like this and very frus­trat­ing. Is any­one else ex­pe­ri­enc­ing this is­sue? If so, is there a workaround for it or do we just sit, suf­fer, and hope that cur­sor stops be­ing so shady?

Kaleb_Maul

(Kaleb Maul)

July 31, 2026, 9:09pm

22

This does not re­ally make a lot of sense for me. So, the Cursor team de­cided yes­ter­day that they want to hide all cost data for non-en­ter­prise cus­tomers when they had ac­cess to it pre­vi­ously? I would love an ex­pla­na­tion as to how this ben­e­fits cur­rent non-en­ter­prise cus­tomers and how this helps with any con­fu­sion re­gard­ing us­age costs. Additionally, can I get a di­rect link to the spe­cific end­point used to grab the cost data for a range of dates for a spe­cific user?

Archit

July 31, 2026, 9:12pm

23

I agree. This feels like a step back for trans­parency. Even on the Individual plan, the dol­lar fig­ure was some­thing I reg­u­larly re­lied on to gauge roughly how much $ worth I was us­ing on a daily, weekly, or monthly ba­sis.

If the worry is that peo­ple mis­take that num­ber for an ac­tual charge, maybe there’s a way to fix that with­out los­ing the dol­lar fig­ure al­to­gether. Eg: show­ing a clear split in the chart be­tween what’s in­cluded in the plan and what would ac­tu­ally show up on the bill. That way the num­ber stays use­ful, but it’s un­am­bigu­ous which part is cov­ered us­age and which part is a real charge.

@kevinn I hope the team re­con­sid­ers this de­ci­sion or im­proves the vi­su­al­iza­tion to re­duce con­fu­sion while be­ing trans­par­ent.

GeorgeRay

(George Ray)

July 31, 2026, 9:38pm

24

That is too bad. I liked see­ing the dol­lar amount. I looked at that dol­lar amount as the value (cost sav­ings) I was get­ting from us­ing Cursor.

Pavel_Savva

(Pavel Savva)

August 1, 2026, 3:32am

25

(post deleted by au­thor)

Mihai_Cracan

(Mihai Cracan)

August 1, 2026, 8:06am

A Surveillance Treaty in Disguise: The Trouble With Canada's Quiet Decision to Sign the UN Cybercrime Convention - Michael Geist

www.michaelgeist.ca

༒ Nhac Ny ༒, CC BY-SA 4.0 , via Wikimedia Commons

July 23, 2026

Last week, the gov­ern­ment an­nounced that Canada has signed the United Nations Convention against Cybercrime, with Ministers Anita Anand, Gary Anandasangaree and Sean Fraser tout­ing the treaty’s child pro­tec­tion pro­vi­sions and hu­man rights safe­guards, which were de­scribed as among the strongest found in an in­ter­na­tional crim­i­nal jus­tice treaty.” The an­nounce­ment, re­leased in mid-July with few pay­ing at­ten­tion, left out much of the story. The re­al­ity is that the con­ven­tion is not pri­mar­ily a cy­ber­crime treaty at all, but rather a sweep­ing cross-bor­der sur­veil­lance and elec­tronic ev­i­dence-shar­ing agree­ment that Canada orig­i­nally op­posed, that lead­ing hu­man rights groups and twenty Canadian or­ga­ni­za­tions and ex­perts urged the gov­ern­ment to re­ject, and that key al­lies have thus far de­clined to sign. While sign­ing the con­ven­tion does not cre­ate bind­ing oblig­a­tions (that re­quires rat­i­fi­ca­tion), the de­ci­sion to sign a treaty that the gov­ern­ment de­clined to sign at the of­fi­cial cer­e­mony less than a year ago raises trou­bling ques­tions. This post seeks to an­swer three of them: what is this treaty, what are the risks, and what, if any­thing, changed in the last nine months?

The treaty be­gan as a Russian ini­tia­tive in 2017, de­signed to dis­place the Council of Europe’s Budapest Convention, the long­stand­ing cy­ber­crime frame­work that Russia re­fuses to join. When the UN General Assembly voted in 2019 to launch ne­go­ti­a­tions, Canada joined the United States and European Union in op­pos­ing the res­o­lu­tion, warn­ing that the process was a ve­hi­cle for ex­pand­ing state sur­veil­lance pow­ers. Having lost that vote, the democ­ra­cies faced an un­com­fort­able choice: boy­cott the ne­go­ti­a­tions and let Russia, China, and Iran write the rules, or en­gage from within and try to limit the dam­age. They chose en­gage­ment with Canada among the most ac­tive del­e­ga­tions press­ing for hu­man rights safe­guards. The strat­egy suc­ceeded in keep­ing the au­thor­i­tar­ian bloc’s wish list of speech and con­tent crimes out of the fi­nal text be­fore the con­ven­tion was adopted by con­sen­sus in December 2024.

Yet de­spite lim­it­ing the dam­age, Canada was a no-show at the sign­ing cer­e­mony in Hanoi last October, joined by the U.S., New Zealand, Japan, the Netherlands, Italy, Norway, Denmark, and Finland. Signatories in­cluded Russia, China, Iran, North Korea, Belarus, Cuba, Venezuela, and Saudi Arabia, as well as the United Kingdom, Australia, France, Germany, and the European Union. Canada is­sued a state­ment that em­pha­sized the treaty’s suc­cess rests on states’ com­mit­ment to full ap­pli­ca­tion of the hu­man rights safe­guards in the text.” Nine months later, the gov­ern­ment signed with­out ex­plain­ing what had changed.

Canada’s pre­vi­ous con­cern with the treaty is well placed. While it enu­mer­ates a list of cy­ber­crime of­fences, its pro­ce­dural pow­ers ap­ply to elec­tronic ev­i­dence of any crim­i­nal of­fence, and its in­ter­na­tional co­op­er­a­tion oblig­a­tions ex­tend to any serious crime,” de­fined as any of­fence pun­ish­able by four or more years’ im­pris­on­ment un­der do­mes­tic law. Since some states im­pose such penal­ties for crit­i­cism of the gov­ern­ment, jour­nal­ism, blas­phemy, or same-sex re­la­tion­ships, the treaty ef­fec­tively con­verts re­pres­sive do­mes­tic laws into trig­gers for cross-bor­der ev­i­dence gath­er­ing. Further, the Electronic Frontier Foundation, Human Rights Watch and a coali­tion of lead­ing dig­i­tal rights groups have all warned that the con­ven­tion func­tions as a global sur­veil­lance pact since it re­quires states to es­tab­lish real-time in­ter­cep­tion and data col­lec­tion pow­ers while leav­ing out safe­guards such as prior ju­di­cial au­tho­riza­tion to the dis­cre­tion of do­mes­tic law, per­mit­ting gag or­ders on co­op­er­a­tion re­quests, and omit­ting a po­lit­i­cal of­fence ex­cep­tion.

In December 2024, nearly two dozen Canadian or­ga­ni­za­tions and ex­perts, in­clud­ing Amnesty International Canada, the Criminal Lawyers’ Association, PEN Canada, OpenMedia, and the Citizen Lab’s Ron Deibert and Kate Robertson, is­sued a de­tailed let­ter urg­ing the gov­ern­ment not to sign. The let­ter warned that the treaty would cre­ate a stand­ing chan­nel for transna­tional re­pres­sion tar­get­ing di­as­pora com­mu­ni­ties in Canada and ex­plained how the con­ven­tion could sub­vert the safe­guards built into Canada’s mu­tual le­gal as­sis­tance frame­work. Robertson has sep­a­rately warned that the treaty is poised to be­come a ve­hi­cle for com­plic­ity in the mer­ce­nary spy­ware trade, while over 120 se­cu­rity re­searchers cau­tioned that its of­fences threaten to crim­i­nal­ize good-faith se­cu­rity re­search. Despite the con­cerns, the gov­ern­ment has said noth­ing, with no pub­lic con­sul­ta­tion pre­ced­ing the sig­na­ture and none of the let­ter’s con­cerns ad­dressed in the an­nounce­ment.

So what changed and why sign now? It is not clear that any­thing has changed and the con­cerns that an­i­mated Canada’s de­ci­sion to not sign nine months ago are still there. One the­ory is that this is linked to law­ful ac­cess. Indeed, the treaty and the law­ful ac­cess agenda are mu­tu­ally re­in­forc­ing, since rat­i­fi­ca­tion will re­quire im­ple­ment­ing leg­is­la­tion fea­tur­ing pre­cisely the ex­panded pro­duc­tion or­ders and cross-bor­der data shar­ing pow­ers found in Bill C-22. Lawful ac­cess was al­ready a source of con­cern, and this only makes it worse. Canada al­ready has the Budapest Convention and bi­lat­eral treaties cov­er­ing co­op­er­a­tion with the coun­tries it wants to work with, mean­ing the new con­ven­tion’s mar­ginal value lies chiefly in co­op­er­a­tion with the very states, in­clud­ing Russia, China, and Iran, that cre­ate its great­est risks. The en­tire de­ci­sion, in­clud­ing sign­ing in the mid­dle of the sum­mer when few are pay­ing at­ten­tion, is deeply trou­bling and re­quires far more than a sunny press re­lease that avoids the hard ques­tions the treaty raises.

Google News is just Forrest Gump's shrimp boat now

elgan.com

You know that scene in Forrest Gump where Forrest sees Lieutenant Dan on the shore and is so dis­tracted by him that he jumps off and swims to shore, al­low­ing the boat to crash into the dock?

Yeah, that’s Google News now. In this metaphor, Forrest is Google and Lieutenant Dan is AI.

As a jour­nal­ist, I have used Google News for many years to catch up on top­ics in which I am in­ter­ested. I am al­ways look­ing for news sto­ries from U.S. news or­ga­ni­za­tions pub­lished within a spe­cific pe­riod of time, usu­ally in the past week, but some­times in the past day.

Google News has a Tools menu, where you can spec­ify the range. You can also spec­ify the lan­guage and lo­ca­tion of the pub­li­ca­tion.

Bit by bit, all of this just stopped work­ing.

Now, when I do my tra­di­tional searches, a huge ma­jor­ity of some of my searches are from Instagram or other so­cial me­dia sites, not news pub­lish­ing sites.

Many of my re­sults are in for­eign lan­guages I can­not even iden­tify.

Many of my re­sults are pub­lished in for­eign coun­tries, not the U.S. as I spec­i­fied.

Now, the most re­cent fail­ure is that when I spec­ify news pub­lished in, say, the past week, it just ig­nores that set­ting and gives me news pub­lished weeks, months or years in the past.

Google has aban­doned Google News and let it crash into the dock.

x86_64-unknown-linux-musl binaries occasionally segfault during very-large searches

github.com

Please tick this box to con­firm you have re­viewed the above.

I have a dif­fer­ent is­sue.

What ver­sion of rip­grep are you us­ing?

rip­grep 15.2.0 (rev e89fff8)

fea­tures:+pcre2 simd(com­pile):+SSE2,-SSSE3,-AVX2 simd(run­time):+SSE2,+SSSE3,+AVX2

PCRE2 10.45 is avail­able (JIT is avail­able)

How did you in­stall rip­grep?

I orig­i­nally en­coun­tered this bug in the rg bun­dled with OpenAI Codex. That bi­nary is byte-for-byte iden­ti­cal with the one in https://​github.com/​BurntSushi/​rip­grep/​re­leases/​down­load/​15.2.0/​rip­grep-15.2.0-x86_64-un­known-linux-musl.tar.gz and I’ve re­pro­duced the bug from that in­de­pen­dently of any Codex de­pen­dency. For the analy­sis be­low, I built rg-15.2 with de­bug sym­bols in­cluded by way of CROSS_CONTAINER_ENGINE=podman CARGO_PROFILE_RELEASE_DEBUG=true ~/.cargo/bin/cross build –release –target x86_64-un­known-linux-musl.

What op­er­at­ing sys­tem are you us­ing rip­grep on?

OpenSUSE Tumbleweed Linux x86_64

Describe your bug.

Ripgrep built for x86_64-un­known-linux-musl oc­ca­sion­ally crashes with a SIGSEGV when search­ing very-large trees at a high de­gree of con­cur­rency. The crash­ing line is an in­tegrity as­ser­tion re­gard­ing heap meta­data in­side MUSLs mal­locng, in a cal­loc call made from opendir. The com­plete back­trace is be­low.

What are the steps to re­pro­duce the be­hav­ior?

Having a suf­fi­ciently large search tree seems to be es­sen­tial for re­pro­duc­tion. Run the at­tached gen­er­ate_re­pro_tree.py. This is an LLM-written pro­gram which pro­duces a tree full of ran­dom files which mimic the sta­tis­tics of the repo in which I orig­i­nally en­coun­tered the bug. It will pro­duce a tree con­tain­ing roughly 20GiB of data across 1.8M files.

Then from the root of that tree, run rg in a loop, search­ing for some ar­bi­trary lit­eral string that is­n’t pre­sent in the tree: while true; do rg tno­heue­unot­shis­nthukoethn­sueothn­si­uothone­suioseuinth; done. On my 24-core sys­tem, hav­ing enough free RAM for the search tree to fit in the ker­nel’s block cache, it typ­i­cally takes about a minute for the SIGSEGV to ap­pear.

What is the ac­tual be­hav­ior?

I get a core­dump with the fol­low­ing back­trace:

#0 get_meta () at ../src_musl/src/malloc/mallocng/meta.h:141 #1 __malloc_allzerop () at ../src_musl/src/malloc/mallocng/malloc.c:384 #2 0x00007f71f8381b2d in cal­loc () at ../src_musl/src/malloc/calloc.c:41 #3 0x00007f71f83810f4 in opendir () at ../src_musl/src/dirent/opendir.c:15 #4 0x00007f71f835c133 in std::sys::fs::unix::read­dir::{clo­sure#0} () at li­brary/​std/​src/​sys/​fs/​unix.rs:2081 #5 std::sys::helpers::smal­l­_c_string::run_with­_c­str_s­tack<*mut libc::unix::DIR> () at li­brary/​std/​src/​sys/​helpers/​smal­l­_c_string.rs:48 #6 std::sys::helpers::smal­l­_c_string::run_with­_c­str<*mut libc::unix::DIR> () at li­brary/​std/​src/​sys/​helpers/​smal­l­_c_string.rs:28 #7 std::sys::helpers::smal­l­_c_string::run_­path_with­_c­str<*mut libc::unix::DIR> () at li­brary/​std/​src/​sys/​helpers/​smal­l­_c_string.rs:18 #8 std::sys::fs::unix::read­dir () at li­brary/​std/​src/​sys/​fs/​unix.rs:2081 #9 std::sys::fs::read­_dir () at li­brary/​std/​src/​sys/​fs/​mod.rs:68 #10 0x00007f71f8206b5c in std::fs::read­_dir<&std::path::Path> (path=…) at /home/dfranke/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/fs.rs:3265 #11 ig­nore::walk::Work::read­_dir (self=0x7f71f5bfeb20) at crates/​ig­nore/​src/​walk.rs:1551 #12 ig­nore::walk::Worker::run_one (self=0x7f71f5bfef08, work=…) at crates/​ig­nore/​src/​walk.rs:1749 #13 ig­nore::walk::Worker::run (self=…) at crates/​ig­nore/​src/​walk.rs:1697 #14 0x00007f71f821c866 in ig­nore::walk::{impl#15}::visit::{clo­sure#0}::{clo­sure#1}::{clo­sure#0} () at crates/​ig­nore/​src/​walk.rs:1463 #15 std::sys::back­trace::__rust_be­gin_short­_back­trace<ig­nore::walk::{impl#15}::visit::{clo­sure#0}::{clo­sure#1}::{clo­sure_env#0}, ()> (f=…) at /home/dfranke/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:166 #16 0x00007f71f8224596 in std::thread::life­cy­cle::spawn_unchecked::{clo­sure#1}::{clo­sure#0}<ig­nore::walk::{impl#15}::visit::{clo­sure#0}::{clo­sure#1}::{clo­sure_env#0}, ()> () at /home/dfranke/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/lifecycle.rs:70 #17 core::panic::un­wind_safe::{impl#23}::cal­l_once<(), std::thread::life­cy­cle::spawn_unchecked::{clo­sure#1}::{clo­sure_env#0}<ig­nore::walk::{impl#15}::visit::{clo­sure#0}::{clo­sure#1}::{clo­sure_env#0}, ()>> (self=…) at /home/dfranke/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/panic/unwind_safe.rs:275 #18 std::pan­ick­ing::catch_un­wind::do_­call<core::panic::un­wind_safe::As­ser­tUn­wind­Safe<std::thread::life­cy­cle::spawn_unchecked::{clo­sure#1}::{clo­sure_env#0}<ig­nore::walk::{impl#15}::visit::{clo­sure#0}::{clo­sure#1}::{clo­sure_env#0}, ()>>, ()> (data=<error read­ing vari­able: Cannot ac­cess mem­ory at ad­dress 0x0>) at /home/dfranke/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:581 #19 std::pan­ick­ing::catch_un­wind<(), core::panic::un­wind_safe::As­ser­tUn­wind­Safe<std::thread::life­cy­cle::spawn_unchecked::{clo­sure#1}::{clo­sure_env#0}<ig­nore::walk::{impl#15}::visit::{clo­sure#0}::{clo­sure#1}::{clo­sure_env#0}, ()>>> (f=…) at /home/dfranke/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panicking.rs:544 #20 std::panic::catch_un­wind<core::panic::un­wind_safe::As­ser­tUn­wind­Safe<std::thread::life­cy­cle::spawn_unchecked::{clo­sure#1}::{clo­sure_env#0}<ig­nore::walk::{impl#15}::visit::{clo­sure#0}::{clo­sure#1}::{clo­sure_env#0}, ()>>, ()> (f=…) at /home/dfranke/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/panic.rs:359 #21 std::thread::life­cy­cle::spawn_unchecked::{clo­sure#1}<ig­nore::walk::{impl#15}::visit::{clo­sure#0}::{clo­sure#1}::{clo­sure_env#0}, ()> () at /home/dfranke/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/lifecycle.rs:68 #22 core::ops::func­tion::FnOnce::cal­l_once<std::thread::life­cy­cle::spawn_unchecked::{clo­sure_env#1}<ig­nore::walk::{impl#15}::visit::{clo­sure#0}::{clo­sure#1}::{clo­sure_env#0}, ()>, ()> () at /home/dfranke/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250 #23 0x00007f71f8361fcf in al­loc::boxed::{impl#31}::cal­l_once<(), (dyn core::ops::func­tion::FnOnce<(), Output=()> + core::marker::Send), al­loc::al­loc::Global> () at li­brary/​al­loc/​src/​boxed.rs:2275 #24 std::sys::thread::unix::{impl#2}::new::thread­_s­tart () at li­brary/​std/​src/​sys/​thread/​unix.rs:118 #25 0x00007f71f8388788 in start () at ../src_musl/src/thread/pthread_create.c:207 #26 0x00007f71f8389e6c in __clone () at ../src_musl/src/thread/x86_64/clone.s:22

Here is the core dump and the cor­re­spond­ing rg bi­nary which pro­duced it.

What is the ex­pected be­hav­ior?

Not a seg­fault.

The Prototype Isn't the Product

weeraman.com

Building soft­ware has never felt this ac­ces­si­ble. You de­scribe an idea in plain English, and within min­utes, a work­ing pro­to­type ap­pears on your screen. It has a UI. It con­nects to a data­base. It does the thing you imag­ined. For some­one who has never writ­ten a line of code, that mo­ment feels like magic. For some­one who has spent years wrestling with com­pil­ers and stack traces, it’s gen­uinely as­ton­ish­ing.

The pro­to­type runs on your lap­top. It breaks un­der load. It has no er­ror han­dling. You find out that it may be leak­ing your API to­kens. The data model made sense for the demo but falls apart the mo­ment you add a sec­ond user. The au­then­ti­ca­tion is held to­gether with as­sump­tions. There’s a nag­ging worry whether every­thing is se­cure. You want to de­ploy it, and sud­denly you’re star­ing at a chasm be­tween this works” and this is ready.”

Getting to a pro­to­type was never the hard part

Software en­gi­neers have al­ways been able to get some­thing run­ning quickly. What took time was every­thing else: de­sign­ing sys­tems that hold up at scale, han­dling the cases users weren’t sup­posed to en­counter but in­evitably do, build­ing in ob­serv­abil­ity so you know when things break, mak­ing de­lib­er­ate de­ci­sions about data ar­chi­tec­ture that you’ll re­gret less three years from now. None of that has changed. AI has dra­mat­i­cally ac­cel­er­ated the path to a first work­ing ver­sion. It has not short­ened the dis­tance be­tween a first work­ing ver­sion and some­thing pro­duc­tion-grade.

The con­fu­sion arises be­cause the feed­back loop for the early part of the jour­ney has be­come so fast and so re­ward­ing. You ask, you re­ceive, you see re­sults. That cy­cle is gen­uinely ex­cit­ing, and it cre­ates the im­pres­sion that the rest of soft­ware de­vel­op­ment must be sim­i­larly com­pressed. It is­n’t. The hard prob­lems of build­ing soft­ware were never pri­mar­ily about writ­ing syn­tax. They were about judg­ment: what to build, how to struc­ture it, what to de­fer, when to say no. That judge­ment is what turns a vibe-coder into a sculp­tor, and an ar­ti­san. It is also what dif­fer­en­ti­ates a pro­to­type from a pro­duc­tion-grade sys­tem.

The mis­guided case against learn­ing com­puter sci­ence

Predictably, the ac­ces­si­bil­ity of AI-generated code has sparked a wave of new en­trants to the in­dus­try who are ques­tion­ing whether it still makes sense to learn com­puter sci­ence. If you can de­scribe your way to a work­ing ap­pli­ca­tion, why spend years study­ing al­go­rithms, data struc­tures, op­er­at­ing sys­tems, and the­ory?

The value of a com­puter sci­ence ed­u­ca­tion was never purely in the abil­ity to pro­duce code. It was in de­vel­op­ing a men­tal model of how sys­tems be­have, how they fail, and why. That model is what al­lows you to look at AI-generated code and rec­og­nize that the query it wrote will cause a full table scan on a table with fifty mil­lion rows. It’s what al­lows you to see that the caching strat­egy it pro­posed will cre­ate a race con­di­tion un­der con­cur­rent load. It’s what tells you that the ar­chi­tec­ture it sug­gested solves the prob­lem you de­scribed but will make the next prob­lem sig­nif­i­cantly harder.

Without that foun­da­tion, you are en­tirely de­pen­dent on the mod­el’s judg­ment. And mod­els don’t have judg­ment. They have pat­tern match­ing, with an ea­ger­ness to pro­duce code that it be­lieves matches your in­tent. They will con­fi­dently gen­er­ate code that looks right, fol­lows con­ven­tion, and fails in pro­duc­tion in ways that take days to di­ag­nose if you don’t know what you’re look­ing for.

Now is ar­guably the best time in his­tory to learn com­puter sci­ence, be­cause the gap be­tween un­der­stand­ing and out­put has col­lapsed. A stu­dent who gen­uinely grasps how a dis­trib­uted sys­tem works can now build one in a frac­tion of the time it would have taken a decade ago.

What changes, and what does­n’t

The de­mand for en­gi­neers who can only write code me­chan­i­cally, and who trans­lates re­quire­ments into im­ple­men­ta­tions line by line, are gen­uinely de­clin­ing. That part of the job is be­ing au­to­mated.

What’s hap­pen­ing is a com­pres­sion of the lower end of the pro­duc­tiv­ity dis­tri­b­u­tion and an ex­pan­sion of the ceil­ing for those at the top. An ex­pe­ri­enced en­gi­neer us­ing mod­ern AI tools can move at a pace that would have been unimag­in­able five years ago. Not be­cause the hard prob­lems have dis­ap­peared, but be­cause the me­chan­i­cal work that con­sumed so much time and at­ten­tion is largely han­dled. More hours in the day for the work that ac­tu­ally re­quires ex­per­tise.

The en­gi­neers who will be left be­hind are not those who lack AI skills. They’re the ones who use AI as a sub­sti­tute for un­der­stand­ing, who vibe-code their way through sys­tems they can’t rea­son about, and then find them­selves un­able to fix what breaks, un­able to scale what grows, un­able to ex­plain what they built to any­one who needs to main­tain it.

Learning to op­er­ate at a dif­fer­ent level

The shift re­quired is­n’t about adopt­ing a new set of tools. It’s about op­er­at­ing at a higher level of ab­strac­tion while keep­ing your roots in the fun­da­men­tals. That com­bi­na­tion is gen­uinely pow­er­ful and gen­uinely rare.

The en­gi­neers who will leapfrog their peers in the next few years are the ones who treat AI as a force mul­ti­plier on deep knowl­edge rather than a re­place­ment for it. They un­der­stand what they’re ask­ing the model to pro­duce. They re­view gen­er­ated code with the same crit­i­cal eye they’d ap­ply to a ju­nior en­gi­neer’s pull re­quest. They bring ar­chi­tec­tural think­ing to the con­ver­sa­tion, not just fea­ture de­scrip­tions. They know when to push back on what the model sug­gests.

It’s the old skill set, ap­plied to a new con­text, with dra­mat­i­cally higher lever­age.

The pro­to­type is the easy part. The dif­fer­ence now is that every­one can see that clearly. What comes af­ter the pro­to­type is still hard, still re­quires real en­gi­neer­ing judg­ment, and still sep­a­rates the builders who ship re­li­able soft­ware from the ones who ship demos.

Learn the fun­da­men­tals. Then learn the new tools. In that or­der.

RamenHaus

ramen.haus

Welcome to RamenHaus, home of ro­tat­ing ra­men. So far, 114 bowls have been pho­tographed, slurped and posted. Start with the lat­est en­try, click a bowl to con­tinue, or browse the com­plete in­dex.

Inspired by Lauren’s Rotating Sandwiches and every­one at Naive Yearly. Ideas, col­lab­o­ra­tions, and ques­tions: chef@ra­men.haus.

No cook­ies. No tips. No JavaScript. Just ra­men.

© 2023 – 26 Ole Reissmann

BMW Spider-Man in-car advertising - Consumer Rights Wiki

consumerrights.wiki

From Consumer Rights Wiki

On July 27, 2026, BMW be­gan de­liv­er­ing a full-screen Spider-Man: Brand New Day movie ad­ver­tise­ment to the dash­board Control Display (the car’s main cen­ter screen) of cus­tomer BMW ve­hi­cles, plac­ing a branded third-party ad­ver­tise­ment in cars their own­ers had al­ready bought.[1][2] The ad­ver­tise­ment ap­pears as a ban­ner at car startup that the dri­ver clicks to play a full-screen an­i­ma­tion with back­ing mu­sic and an am­bi­ent-light­ing light show, and it has been avail­able in more than 70 mar­kets since July 27, 2026, sched­uled to run through August 10, 2026, on suit­ably equipped ve­hi­cles run­ning BMW Operating System 7, 8, 8.5, 9, or OS X built af­ter July 2020.[1][3] As re­cently as December 2023, BMWs con­nected-com­pany se­nior vice pres­i­dent Stephan Durach had stated on record that the com­pany would not sell in-car screen space to play a com­mer­cial, call­ing the car a pri­vate space.[4] BMW de­scribed the an­i­ma­tion to The Autopian as part of a broader brand part­ner­ship with the film, the au­to­mo­tive slice of a Sony Pictures pro­mo­tional cam­paign that Deadline val­ued at a record $309 mil­lion in world­wide me­dia value.[2][5]

BMW put an ad­ver­tise­ment in a car the owner al­ready paid for: a full-screen Spider-Man: Brand New Day movie ad de­liv­ered to the dash­board Control Display of cus­tomer ve­hi­cles.[1][2]

The ad has been avail­able in more than 70 mar­kets since July 27, 2026, sched­uled to run through August 10, 2026, on any suit­ably equipped BMW run­ning Operating System 7, 8, 8.5, 9, or OS X built af­ter July 2020.[1][3]

It ap­pears as a ban­ner at startup that the dri­ver clicks to play, with back­ing mu­sic and an am­bi­ent-light­ing light show.[1][2]

The an­i­ma­tion was the au­to­mo­tive part of a Sony Pictures pro­mo­tional cam­paign that Deadline val­ued at a record $309 mil­lion in world­wide me­dia value.[5]

BMW has a doc­u­mented pat­tern of mon­e­tiz­ing hard­ware and fea­tures af­ter the sale of the ve­hi­cle. In 2020 the com­pany an­nounced a sub­scrip­tion that charged dri­vers a re­cur­ring fee to ac­ti­vate the heated seats al­ready fit­ted to their cars.[6] Forbes de­scribed that heated-seat sub­scrip­tion as con­tro­ver­sial, and BMW dropped it in 2023 in a re­ver­sal of the prac­tice. Forbes re­ported the re­ver­sal, quot­ing BMW board mem­ber Pieter Nota on the prac­tices the com­pany would aban­don.[6] The heated-seat episode sits in the same fam­ily as Features on de­mand, the broader prac­tice of gat­ing ca­pa­bil­ity a buy­er’s car al­ready con­tains be­hind a pay­wall.

Two months af­ter drop­ping the heated-seat sub­scrip­tion, BMW ad­dressed a sep­a­rate ques­tion: whether it would put ad­ver­tis­ing on the screens in­side its cars. At a December 2023 round­table, Stephan Durach, se­nior vice pres­i­dent for con­nected com­pany de­vel­op­ment at BMW Group, ruled it out. BMWBLOG re­ported his po­si­tion, quot­ing the ex­ec­u­tive:

To say I’m sell­ing the screen to play a com­mer­cial. I don’t see it. It’s a pri­vate space.[4]

To say I’m sell­ing the screen to play a com­mer­cial. I don’t see it. It’s a pri­vate space.[4]

BMWs own PressClub re­lease de­scribed the ad­ver­tise­ment as a spe­cial sur­prise for dri­vers, timed to the Spider-Man: Brand New Day film, which pre­miered on July 27, 2026 and was re­leased ex­clu­sively in cin­e­mas on July 31, 2026.[1] Starting the car brings up a ban­ner in the Control Display; click­ing it ac­ti­vates a full-screen an­i­ma­tion with back­ing mu­sic and a light show de­liv­ered through the ve­hi­cle’s am­bi­ent light­ing sys­tem.[1] The Autopian’s Jason Torchinsky re­ported that the ban­ner ap­pears at startup with an op­tion to play the ad­ver­tise­ment or not, rather than au­to­play­ing.[2]

The an­i­ma­tion has been avail­able in more than 70 mar­kets since July 27, 2026, a lim­ited win­dow sched­uled to close on August 10, 2026.[1] Eligibility was broad. Any suit­ably equipped BMW run­ning BMW Operating System 7, 8, 8.5, 9, or OS X, with a pro­duc­tion date af­ter July 2020, could re­ceive it.[1] BMWBLOGs Horatiu Boeriu in­de­pen­dently con­firmed the same win­dow, the 70-market reach, and the op­er­at­ing-sys­tem and build-date re­quire­ment.[3]

BMW framed the ad­ver­tise­ment as a ben­e­fit rather than an in­tru­sion, pre­sent­ing it as tied to the film part­ner­ship rather than as com­mer­cial con­tent pushed into the ve­hi­cle. Asked about the de­ploy­ment, BMW told The Autopian in an emailed state­ment:

The in-ve­hi­cle an­i­ma­tion is part of a broader brand part­ner­ship with the film. A few of our ve­hi­cles, in­clud­ing the BMW iX3, were in the film, and a spe­cial edi­tion iX3 was fea­tured on the red car­pet dur­ing last night’s pre­miere in Los Angeles.[2]

The in-ve­hi­cle an­i­ma­tion is part of a broader brand part­ner­ship with the film. A few of our ve­hi­cles, in­clud­ing the BMW iX3, were in the film, and a spe­cial edi­tion iX3 was fea­tured on the red car­pet dur­ing last night’s pre­miere in Los Angeles.[2]

Torchinsky, writ­ing for The Autopian, ob­jected to the de­ploy­ment on own­er­ship grounds, fram­ing the ad­ver­tise­ment as some­thing im­posed on prop­erty the dri­ver had paid for. He drew a com­par­i­son to a home­owner mak­ing mort­gage pay­ments:

I own a house, and I make pay­ments to a mort­gage com­pany every month, and I’m pretty sure it would be il­le­gal for that mort­gage com­pany to put a fuck­ing Spider-Man bill­board in my yard, fac­ing my front win­dows. Is what BMW is do­ing any dif­fer­ent?[2]

I own a house, and I make pay­ments to a mort­gage com­pany every month, and I’m pretty sure it would be il­le­gal for that mort­gage com­pany to put a fuck­ing Spider-Man bill­board in my yard, fac­ing my front win­dows. Is what BMW is do­ing any dif­fer­ent?[2]

The Autopian also noted that BMW had al­ready been forced to walk back an ear­lier post-sale mon­e­ti­za­tion push, the heated-seat sub­scrip­tion, af­ter buy­ers re­acted against it.[2]

Torchinsky placed BMWs move along­side ear­lier in-car ad­ver­tis­ing from Stellantis, which he wrote had done the same be­fore BMW.[2] The Spider-Man an­i­ma­tion was the au­to­mo­tive com­po­nent of a Sony Pictures pro­mo­tional cam­paign that Deadline re­ported at a world­wide me­dia value of $309 mil­lion, de­scribed as an all-time record for any Hollywood film and ahead of Sony’s pre­vi­ous $288 mil­lion record set by Spider-Man: Far From Home.[5] Deadline named BMW as a global part­ner that wove its Neue Klasse iX3 and 5 Series Sedan into the film.[5]

BMW

BMWs heated seat sub­scrip­tion

Features on de­mand

↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 Phil DiIanni (2026 – 07-28). BMW brings mod­ern mo­bil­ity to the Sony Pictures film Spider-Man™: Brand New Day”″. BMW Group PressClub USA. Retrieved 2026 – 07-31.

↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 Jason Torchinsky (2026 – 07-28). BMW Is Showing Commercials On Their Car’s Dash Screens And They Want You To Think It’s A Treat”. The Autopian. Retrieved 2026 – 07-31.

↑ 3.0 3.1 3.2 Horatiu Boeriu (2026 – 07-28). BMW Built a One-Off iX3 for the New Spider-Man Movie”. BMWBLOG. Retrieved 2026 – 07-31.

↑ 4.0 4.1 4.2 4.3 Adrian Padeanu (2023 – 12-15). BMW Won’t Put Ads Inside Your Car”. BMWBLOG. Retrieved 2026 – 07-31.

↑ 5.0 5.1 5.2 5.3 5.4 Anthony D’Alessandro (2026 – 07-30). Spider-Man: Brand New Day’s $309 Million Promo Partner Campaign Is A Hollywood Record”. Deadline. Archived from the orig­i­nal on 2026 – 07-30. Retrieved 2026 – 07-31.

↑ 6.0 6.1 Alistair Charlton (2023 – 09-07). BMW Drops Controversial Heated Seats Subscription, To Refocus On Software Services”. Forbes. Retrieved 2026 – 07-31.

NetBSD Blog

blog.netbsd.org

NetBSD 11.0 re­leased!

August 01, 2026 posted by Martin Husemann

The NetBSD pro­ject is pleased to (finally) an­nounce the NetBSD 11.0 re­lease! See the re­lease an­nounce­ment for de­tails.

If you want to try out 11.0 please check the in­stal­la­tion notes for your ar­chi­tec­ture and down­load the pre­ferred in­stall im­age from the CDN. If you are us­ing an ARM based de­vice, ob­tain a netbsd-11 im­age pre-con­fig­ured with U-Boot from the bootable ARM im­ages page.

Please note that the var­i­ous ISO im­ages have been split into sep­a­rate <700MB im­ages for CD-ROM me­dia and full-sized DVD im­ages. If you are not re­stricted by the size lim­its of a CD-ROM, make sure to pick the im­age with -dvd.iso” in the name. If you are us­ing flash-based me­dia (e.g. a USB drive), you must use the .img files rather than the .iso im­ages. Note that they need to be de­com­pressed first, e.g. with gun­zip or 7-Zip.

If you have any is­sues with in­stal­la­tion or run into is­sues with the sys­tem dur­ing use, please con­tact us on one of the mail­ing lists or file a prob­lem re­port.

Important note about open se­cu­rity is­sues:

As you are prob­a­bly aware, the num­ber of se­cu­rity is­sues found or sus­pected every­where has mas­sively in­creased with the ad­vent of AI tools. As a con­se­quence, we can’t pub­lish a re­lease with­out open is­sues. Instead of de­lay­ing the re­lease fur­ther to fix them (new ones are be­ing re­ported all the time), we’ve in­stead cho­sen to be trans­par­ent about this.

This re­lease has been quite de­layed al­ready, since we’ve waited for third-party com­po­nents to make sta­ble re­leases so we can get the fixes. We have avoided pub­lish­ing any change with­out mak­ing a re­lease can­di­date to give users time to test it. Our re­lease process has been stream­lined and au­to­mated as far as pos­si­ble, but be­sides the time re­quired to build and gen­er­ate check­sums for every plat­form, man­ual in­ter­ven­tion is still re­quired (e.g. se­cu­rity of­fi­cer sign­ing the re­lease hashes). The over­all process is still lim­ited by the slow­est step - the time it takes to trans­fer every file for every ar­chi­tec­ture over the net­work.

The open se­cu­rity re­lated pullup re­quests (and as­so­ci­ated gnats prob­lem re­ports) are:

hdau­dio(4): Apply ac­cess checks to ioctl com­mands, PR 60492; miss­ing lo­cal user priv­i­lege check, easy man­ual workaround (remove /dev/hdaudio*; au­dio will still be func­tional).

ip­fil­ter: Fix re­motely trig­ger­able null pointer deref, PR 60484; IPF is not in­cluded in any re­leased ker­nel by de­fault.

pf: Fix use-af­ter-free in frag­ment re­assem­bly, PR 60485; PF is dep­re­cated and not in­cluded in any re­leased ker­nel by de­fault.

All the open pullup re­quests will be com­mit­ted to the sta­ble branch shortly af­ter the 11.0 re­lease, and be­come part of the up­com­ing 11.1 re­lease. We are cur­rently aim­ing to re­lease 11.1 within the next two months.

[8 com­ments]

Seed News - ByteDance Seed Team

seed.bytedance.com

Today, we are of­fi­cially launch­ing Seedance 2.5, the new-gen­er­a­tion video cre­ation model. Since the re­lease of Seedance 2.0, we have no­ticed a shift in what users ex­pect from video cre­ation mod­els: from merely gen­er­at­ing a clip to com­plet­ing a cre­ative work. Building on the uni­fied mul­ti­modal au­dio-video joint-gen­er­a­tion ar­chi­tec­ture of Seedance 2.0, Seedance 2.5 cen­ters on foun­da­tional gen­er­a­tion and ref­er­ence-based gen­er­a­tion, de­liv­er­ing ma­jor break­throughs in long-form sto­ry­telling, mul­ti­modal ref­er­ence, and edit­ing. Grounded in real-world use cases, it opens up greater cre­ative imag­i­na­tion and con­trol, and fur­ther un­locks pro­duc­tiv­ity.

Key high­lights in­clude:

Up to 30 sec­onds per gen­er­a­tion, with multi-round ex­ten­sions: Seedance 2.5 can gen­er­ate high-qual­ity, 30-second au­dio-video clips in a sin­gle pass and sup­ports mul­ti­ple rounds of ex­ten­sion. It also im­proves shot tran­si­tions and scene changes for stronger con­ti­nu­ity in longer videos, and de­liv­ers no­table gains in im­age, au­dio, and mo­tion qual­ity, re­sult­ing in a more nat­ural, pol­ished vi­sual qual­ity than com­monly seen in AI-generated video. As a re­sult, users can pro­duce high-qual­ity multi-minute con­tent with a con­sis­tent au­dio­vi­sual lan­guage, bring­ing a com­plete story to life in one take.

Fully up­graded mul­ti­modal ref­er­enc­ing: Users can now in­put up to 30 im­ages, 10 video clips, and 10 au­dio clips as ref­er­ence ma­te­ri­als in a sin­gle pass. The model also strength­ens a range of ref­er­ence ca­pa­bil­i­ties, in­clud­ing clay ren­der, mo­tion, and cre­ative ref­er­ences, en­abling it to bet­ter grasp the cre­ator’s in­tent and re­al­ize com­plex ideas that span mul­ti­ple sub­jects, scenes, and shot changes.

More pre­cise and sta­ble edit­ing ca­pa­bil­i­ties: Seedance 2.5 of­fers time­stamp-level con­trol for tar­geted edit­ing of au­dio and video con­tent, no­tably im­prov­ing ef­fi­ciency and con­trol­la­bil­ity. The model also en­hances ad­vanced edit­ing fea­tures, such as green screen, cam­era per­spec­tive, and ref­er­ence-based edit­ing, to meet the rig­or­ous de­mands of pro­fes­sional, com­plex fields like film and ad­ver­tis­ing.

With ad­vance­ments in long-form sto­ry­telling, mul­ti­modal ref­er­ence, and edit­ing, Seedance 2.5 goes be­yond longer sin­gle-pass video gen­er­a­tion. The model bet­ter un­der­stands cre­ative in­tent and de­liv­ers the jour­ney from idea to fin­ished video with greater con­trol. Now, we’d like to in­vite you to watch a short cre­ative film, pro­duced end-to-end by Seedance 2.5.

Today, Seedance 2.5 is rolling out on Jimeng AI, Doubao Pro, and other plat­forms, with API ac­cess com­ing soon via BytePlus ModelArk. We in­vite you to give it a try and share your feed­back.

Project home­page:https://​seed.bytedance.com/​seedance2_5Ac­cess:Ji­meng Web -> Video Generation -> Select Seedance 2.5Doubao Pro -> Video Generation -> Select Seedance 2.5

Project home­page:

https://​seed.bytedance.com/​seedance2_5

Access:

Jimeng Web -> Video Generation -> Select Seedance 2.5

Doubao Pro -> Video Generation -> Select Seedance 2.5

30-second long-form sto­ry­telling with multi-round ex­ten­sions: pre­sent­ing com­plete sto­ries in a sin­gle pass

Seedance 2.5 ex­tends sin­gle-pass video gen­er­a­tion from 15 to 30 sec­onds and fur­ther strength­ens its sto­ry­telling in longer videos. Within 30 sec­onds, the model can or­ga­nize mul­ti­ple log­i­cally con­nected shots so that a story un­folds through setup, de­vel­op­ment, turn­ing points, and res­o­lu­tion, rather than sim­ply ex­tend­ing a sin­gle mo­ment. For ex­am­ple, in a one-take clip of a singer’s stage per­for­mance, the model por­trays the full story of the singer in­ter­act­ing with staff in the dress­ing room, then walk­ing through the back­stage cor­ri­dor, meet­ing the dancers, and step­ping onto the stage with them for the per­for­mance, in­stead of only the mo­ment of walk­ing on stage.

T2V prompt: One-take hand­held gim­bal track­ing shot. The cam­era slowly pushes in through a gap in a heavy red cur­tain and en­ters a warm-toned back­stage dress­ing room. A young fe­male singer, with her back to the cam­era, is ad­just­ing her ear­piece as a staff mem­ber re­minds her it’s time to go on. She turns to­ward the cam­era and starts singing city­pop. The cam­era pulls back and tracks her as she passes through the cur­tain into a dim back­stage cor­ri­dor, in­ter­act­ing nat­u­rally with her dancers along the way; one staff mem­ber hands her a mi­cro­phone. She and the dancers then step onto the stage, and the cam­era arcs around to the back, grad­u­ally re­veal­ing the red-and-black stage de­sign, LED screens, spot­lights, haze, and re­flec­tive floor. The cam­era fi­nally pulls out to a wide shot of the arena, show­ing the packed au­di­ence, light boards, glow sticks, and cheer­ing crowd, cap­tur­ing the youth­ful, free-spir­ited cli­max of the con­cert.

T2V prompt: One-take hand­held gim­bal track­ing shot. The cam­era slowly pushes in through a gap in a heavy red cur­tain and en­ters a warm-toned back­stage dress­ing room. A young fe­male singer, with her back to the cam­era, is ad­just­ing her ear­piece as a staff mem­ber re­minds her it’s time to go on. She turns to­ward the cam­era and starts singing city­pop. The cam­era pulls back and tracks her as she passes through the cur­tain into a dim back­stage cor­ri­dor, in­ter­act­ing nat­u­rally with her dancers along the way; one staff mem­ber hands her a mi­cro­phone. She and the dancers then step onto the stage, and the cam­era arcs around to the back, grad­u­ally re­veal­ing the red-and-black stage de­sign, LED screens, spot­lights, haze, and re­flec­tive floor. The cam­era fi­nally pulls out to a wide shot of the arena, show­ing the packed au­di­ence, light boards, glow sticks, and cheer­ing crowd, cap­tur­ing the youth­ful, free-spir­ited cli­max of the con­cert.

Thanks to the mod­el’s multi-round ex­ten­sion ca­pa­bil­ity, users can smoothly ap­pend sub­se­quent shots to ex­ist­ing video out­puts. Throughout the ex­ten­sion process, it main­tains the con­sis­tency of main char­ac­ters, en­vi­ron­ments, and nar­ra­tive pac­ing. This al­lows users to out­put videos last­ing sev­eral min­utes at once, re­duc­ing the ef­fort re­quired to split clips, re­peat­edly splice footage, and fix tran­si­tions.

R2V prompt: Extend the video. Continue from the vi­su­als and sub­jects in @Video 1 and gen­er­ate an­other 30-second clip, keep­ing the char­ac­ter sub­jects, scene, vi­sual style, and sound ef­fects con­sis­tent. The lit­tle boy runs along the train car­riage hold­ing a soc­cer ball. When the sub­way stops, the side door opens and he im­me­di­ately dashes out, with the male lead chas­ing af­ter him. The two run across the plat­form and out onto the street, star­tling passersby and ve­hi­cles along the way. The male lead fi­nally catches up and grabs him. The boy looks up, ag­grieved. The male lead’s anger slowly fades; he pats the boy’s head and shows a help­less smile.

R2V prompt: Extend the video. Continue from the vi­su­als and sub­jects in @Video 1 and gen­er­ate an­other 30-second clip, keep­ing the char­ac­ter sub­jects, scene, vi­sual style, and sound ef­fects con­sis­tent. The lit­tle boy runs along the train car­riage hold­ing a soc­cer ball. When the sub­way stops, the side door opens and he im­me­di­ately dashes out, with the male lead chas­ing af­ter him. The two run across the plat­form and out onto the street, star­tling passersby and ve­hi­cles along the way. The male lead fi­nally catches up and grabs him. The boy looks up, ag­grieved. The male lead’s anger slowly fades; he pats the boy’s head and shows a help­less smile.

In terms of vi­sual pre­sen­ta­tion, the model achieves smoother tran­si­tions be­tween cam­era move­ments. The main sub­ject re­mains sta­ble across mul­ti­ple cuts, and the au­dio and vi­su­als re­main in sync, re­sult­ing in highly co­her­ent long-form videos. For ex­am­ple, in a Peking Opera scene, the cam­era ex­e­cutes a grace­ful cir­cu­lar pan fol­low­ing the lead ac­tor’s flow­ing sleeves, while the main sub­ject and back­ground re­main en­tirely con­sis­tent. The swing­ing of the sleeves forms nat­ural arcs in the air, closely ad­her­ing to real-world physics.

R2V prompt: 16:9 widescreen, cin­e­matic tex­ture, sin­gle con­tin­u­ous take, smooth cam­era move­ment, no cuts. Scene ref­er­ence: @Image 4. 0 – 5s: Open with a close-up of the Overlord from @Image 2. The cam­era slowly cir­cles his up­per body and tran­si­tions into a medium shot. The Overlord spins and turns, his body and back flags sweep­ing quickly past the lens to form a nat­ural oc­clu­sion, and the cam­era fol­lows through to Consort Yu’s side in @Image 1. 6 – 10s: The cam­era steadily cir­cles Consort Yu in a medium shot from @Image 1, fol­low­ing her wa­ter sleeves through the arc. She raises her arm, flicks her wrist, un­furls the sleeves, and half-turns. She then draws the sleeves back, holds the pose, and looks side­ways to­ward the Overlord. 11 – 20s: The male war­rior from @Image 3 en­ters with an aer­ial flip. The Overlord takes cen­ter stage while the war­rior ad­vances and re­treats on the op­po­site side in a com­bat ex­change. Consort Yu stands slightly be­hind and to the side of the Overlord, weav­ing in wa­ter-sleeve move­ments to set soft­ness against strength. The cam­era slowly pulls back from a medium-close shot of the war­rior to a full stage view. At the end, all three face the au­di­ence and strike a syn­chro­nized Peking opera fi­nale pose.

R2V prompt: 16:9 widescreen, cin­e­matic tex­ture, sin­gle con­tin­u­ous take, smooth cam­era move­ment, no cuts. Scene ref­er­ence: @Image 4. 0 – 5s: Open with a close-up of the Overlord from @Image 2. The cam­era slowly cir­cles his up­per body and tran­si­tions into a medium shot. The Overlord spins and turns, his body and back flags sweep­ing quickly past the lens to form a nat­ural oc­clu­sion, and the cam­era fol­lows through to Consort Yu’s side in @Image 1. 6 – 10s: The cam­era steadily cir­cles Consort Yu in a medium shot from @Image 1, fol­low­ing her wa­ter sleeves through the arc. She raises her arm, flicks her wrist, un­furls the sleeves, and half-turns. She then draws the sleeves back, holds the pose, and looks side­ways to­ward the Overlord. 11 – 20s: The male war­rior from @Image 3 en­ters with an aer­ial flip. The Overlord takes cen­ter stage while the war­rior ad­vances and re­treats on the op­po­site side in a com­bat ex­change. Consort Yu stands slightly be­hind and to the side of the Overlord, weav­ing in wa­ter-sleeve move­ments to set soft­ness against strength. The cam­era slowly pulls back from a medium-close shot of the war­rior to a full stage view. At the end, all three face the au­di­ence and strike a syn­chro­nized Peking opera fi­nale pose.

Additionally, to ad­dress the overly ar­ti­fi­cial look of­ten seen in AI-generated videos, Seedance 2.5 sys­tem­at­i­cally op­ti­mizes de­tails such as ob­ject tex­tures, skin and eye fea­tures, light­ing, and color sat­u­ra­tion. The model also min­i­mizes un­con­trolled oc­cur­rences in sub­ti­tles and back­ground mu­sic, de­liv­er­ing fi­nal prod­ucts that closely re­sem­ble the cin­e­matic qual­ity of live-ac­tion footage.

Comprehensive up­grades to mul­ti­modal ref­er­ence, bring­ing greater con­trol to com­plex cre­ative tasks

Seedance 2.5 fur­ther strength­ens its mul­ti­modal ref­er­ence gen­er­a­tion ca­pa­bil­i­ties. It al­lows users to in­put up to 30 im­ages, 10 video clips, and 10 au­dio clips as ref­er­ence ma­te­ri­als in a sin­gle pass. A larger vol­ume and wider va­ri­ety of ref­er­ences can bet­ter cap­ture the user’s in­tent, pro­duc­ing com­plex videos with more sub­jects, richer scenes, and more flex­i­ble cam­era work.

The model com­pre­hen­sively un­der­stands el­e­ments such as vi­sual com­po­si­tion, scenes, styles, char­ac­ters, and props across all ma­te­ri­als, ap­ply­ing them to the video gen­er­a­tion process as in­structed. Even in com­plex sce­nar­ios like multi-char­ac­ter shots or group sto­ry­telling, it can pre­serve the ap­pear­ances and voices of mul­ti­ple char­ac­ters while keep­ing each sub­jec­t’s char­ac­ter­is­tics sta­ble.

R2V prompt: A 30-second con­cert se­quence in 16:9 land­scape, with cin­e­matic re­al­ism, au­then­tic con­cert hall light­ing and shad­ows, warm golden stage light­ing, and the at­mos­phere of a for­mal clas­si­cal con­cert. Use @Image 1 for the venue. Reference @Image 2 for the pi­anist. Reference @Image 3 for the cello. Reference @Image 4 for the vi­o­lin. The lead vo­cal­ist must strictly fol­low @Image 5. Reference @Images 6 to 10 for the rest of the or­ches­tra. Reference @Images 11 to 14 for the choir. Reference @Images 15 to 18 for the au­di­ence seat­ing. The lead vo­cal­ist walks from cen­ter stage to­ward the front edge. The pi­anist is po­si­tioned by the pi­ano. The or­ches­tra is arranged on both sides and to­ward the rear. The choir stands at the back of the stage. Open with a high-an­gle wide shot of the full con­cert hall. The pi­anist strikes the keys, and the lead vo­cal­ist steps into the spot­light and be­gins singing. The cam­era nat­u­rally moves across the vi­o­lin, cello, and or­ches­tra as they per­form to­gether, with the vi­o­lin feel­ing bright and the cello warm. In the lat­ter part, the choir joins in. The lead vo­cal­ist briefly makes eye con­tact with front-row au­di­ence mem­bers, who re­spond with a smile and a slight nod. In the clos­ing shot, the cam­era pulls back. The singing ends, and the au­di­ence joins in the ap­plause.

R2V prompt: A 30-second con­cert se­quence in 16:9 land­scape, with cin­e­matic re­al­ism, au­then­tic con­cert hall light­ing and shad­ows, warm golden stage light­ing, and the at­mos­phere of a for­mal clas­si­cal con­cert. Use @Image 1 for the venue. Reference @Image 2 for the pi­anist. Reference @Image 3 for the cello. Reference @Image 4 for the vi­o­lin. The lead vo­cal­ist must strictly fol­low @Image 5. Reference @Images 6 to 10 for the rest of the or­ches­tra. Reference @Images 11 to 14 for the choir. Reference @Images 15 to 18 for the au­di­ence seat­ing. The lead vo­cal­ist walks from cen­ter stage to­ward the front edge. The pi­anist is po­si­tioned by the pi­ano. The or­ches­tra is arranged on both sides and to­ward the rear. The choir stands at the back of the stage. Open with a high-an­gle wide shot of the full con­cert hall. The pi­anist strikes the keys, and the lead vo­cal­ist steps into the spot­light and be­gins singing. The cam­era nat­u­rally moves across the vi­o­lin, cello, and or­ches­tra as they per­form to­gether, with the vi­o­lin feel­ing bright and the cello warm. In the lat­ter part, the choir joins in. The lead vo­cal­ist briefly makes eye con­tact with front-row au­di­ence mem­bers, who re­spond with a smile and a slight nod. In the clos­ing shot, the cam­era pulls back. The singing ends, and the au­di­ence joins in the ap­plause.

Seedance 2.5 also en­hances spe­cific ref­er­ence ca­pa­bil­i­ties in­clud­ing clay ren­der, mo­tion, and cre­ative ref­er­enc­ing, giv­ing users finer con­trol over sub­jects, ac­tions, and cam­era work in the frame. For in­stance, with clay ren­der ref­er­enc­ing, users can build a scene’s spa­tial struc­ture, char­ac­ter poses, mo­tion paths, and cam­era an­gles us­ing tex­ture­less 3D mod­els. The model then uses this struc­ture to gen­er­ate the video, en­sur­ing that the com­po­si­tion and block­ing of com­plex shots closely match the cre­ator’s ex­pec­ta­tions. Additionally, Seedance 2.5 im­proves light­ing con­trol. By lever­ag­ing the spa­tial in­for­ma­tion from the clay ren­der, it gen­er­ates re­al­is­tic light­ing ef­fects that fol­low phys­i­cal laws, such as light source di­rec­tion, color tem­per­a­ture, in­ten­sity, and shadow pro­jec­tion. This re­sults in more nat­ural light and shadow in the fi­nal out­put.

R2V prompt: Refer to @Clay Render 1 for cam­era move­ment, pac­ing, shot-size tran­si­tions, sub­ject tra­jec­tory, and block­ing. Refer to @Image 2 for char­ac­ter de­sign, scene, ma­te­ri­als, light­ing, color, and fairy-tale at­mos­phere, and ren­der the white model as a dreamy, warm, 3D an­i­mated short with a child­like fan­tasy feel. The story un­folds as fol­lows: flight through a fan­tasy sky → myth­i­cal beasts fly­ing along­side through a sea of clouds → a dive into the ocean → weav­ing through the deep with manta rays → pass­ing through a mir­rored rift in space­time → pick­ing stars from the cos­mos → trans­form­ing back into the bed­room → fa­ther tuck­ing in the blan­ket → the pic­ture book closes and holds on the fi­nal frame.

R2V prompt: Refer to @Clay Render 1 for cam­era move­ment, pac­ing, shot-size tran­si­tions, sub­ject tra­jec­tory, and block­ing. Refer to @Image 2 for char­ac­ter de­sign, scene, ma­te­ri­als, light­ing, color, and fairy-tale at­mos­phere, and ren­der the white model as a dreamy, warm, 3D an­i­mated short with a child­like fan­tasy feel. The story un­folds as fol­lows: flight through a fan­tasy sky → myth­i­cal beasts fly­ing along­side through a sea of clouds → a dive into the ocean → weav­ing through the deep with manta rays → pass­ing through a mir­rored rift in space­time → pick­ing stars from the cos­mos → trans­form­ing back into the bed­room → fa­ther tuck­ing in the blan­ket → the pic­ture book closes and holds on the fi­nal frame.

More pre­cise and re­li­able edit­ing for higher cre­ative ef­fi­ciency

In video cre­ation, users typ­i­cally need to con­trol pac­ing dur­ing the gen­er­a­tion process and also re­fine de­tails af­ter­ward. The ex­act sec­ond an ac­tion oc­curs, the pre­cise tim­ing of a cam­era cut, and whether a char­ac­ter’s move­ment in a spe­cific clip re­quires ad­just­ment all pro­foundly im­pact the fi­nal re­sult. More pre­cise and re­li­able edit­ing ca­pa­bil­i­ties al­low cre­ators to ac­cu­rately bring their ideas to life, im­prov­ing ef­fi­ciency and re­duc­ing the cost of repet­i­tive gen­er­a­tion.

Seedance 2.5 sup­ports pre­cise con­tent edit­ing via time­stamps. During the gen­er­a­tion phase, users can use prompts to con­trol the nar­ra­tive, cam­era per­spec­tive, move­ment, and over­all rhythm for a spe­cific time frame, align­ing the out­put more closely with their cre­ative in­tent. After gen­er­a­tion, users can make tar­geted mod­i­fi­ca­tions to char­ac­ters, ac­tions, or plot el­e­ments within spe­cific clips, all while main­tain­ing con­ti­nu­ity and re­al­ism be­fore and af­ter the ed­its.

Seedance 2.5 also el­e­vates mul­ti­ple edit­ing fea­tures, such as green screen edit­ing, cam­era per­spec­tive edit­ing, and ref­er­ence-based edit­ing, to meet the rig­or­ous de­mands of pro­fes­sional fields like film and ad­ver­tis­ing. In green screen edit­ing, for ex­am­ple, the model can re­place back­grounds and tell en­tirely dif­fer­ent sto­ries while keep­ing the main sub­ject in­tact. Furthermore, it ex­cels at ren­der­ing how the sub­ject re­sponds to the phys­i­cal rules of the new en­vi­ron­ment. This in­cludes the flut­ter­ing di­rec­tion of clothes, the state of hair, gait rhythm, and light­ing in­ter­ac­tion, en­sur­ing the sub­ject blends har­mo­niously with the scene.

R2V prompt: Using @Video 1, ren­der the green-screen back­ground, ob­sta­cles, wardrobe, and sup­port­ing char­ac­ters. 0 – 4s: out­door train­ing, re­place the ob­sta­cles with rocks, bricks, tires, and wooden crates. 4 – 10s: locker room, friends of­fer­ing en­cour­age­ment. 10 – 15s: in­ter­na­tional match, re­place the train­ing poles with orig­i­nal de­fend­ers and a goal­keeper, and the pro­tag­o­nist scores. Overall pho­to­re­al­is­tic, cin­e­matic qual­ity.

R2V prompt: Using @Video 1, ren­der the green-screen back­ground, ob­sta­cles, wardrobe, and sup­port­ing char­ac­ters. 0 – 4s: out­door train­ing, re­place the ob­sta­cles with rocks, bricks, tires, and wooden crates. 4 – 10s: locker room, friends of­fer­ing en­cour­age­ment. 10 – 15s: in­ter­na­tional match, re­place the train­ing poles with orig­i­nal de­fend­ers and a goal­keeper, and the pro­tag­o­nist scores. Overall pho­to­re­al­is­tic, cin­e­matic qual­ity.

R2V prompt: Edit @Video 1. Keep the char­ac­ters, ac­tions, and vi­sual style un­changed. Adjust only the cam­era move­ment. A 15-second seg­mented cam­era plan: 0 – 4s, a mi­cro-FPV move skims tightly past the pan, then fol­lows the pop­ping toast and whip-pans to the cof­fee; 4 – 7s, push in and track lat­er­ally along the rim of the pan, fol­low­ing the fried egg as it flips up and lands back in place; 7 – 11s, rapidly rise to a top-down view, then de­scend at a steady pace, sweep­ing across the plate and keys; 11 – 15s, use a hand­held close-up to fol­low the hands with a fast lat­eral whip, then push in on the break­fast and pull back to a medium two-shot. Keep the en­tire se­quence smooth, con­tin­u­ous, and sta­ble.

R2V prompt: Edit @Video 1. Keep the char­ac­ters, ac­tions, and vi­sual style un­changed. Adjust only the cam­era move­ment. A 15-second seg­mented cam­era plan: 0 – 4s, a mi­cro-FPV move skims tightly past the pan, then fol­lows the pop­ping toast and whip-pans to the cof­fee; 4 – 7s, push in and track lat­er­ally along the rim of the pan, fol­low­ing the fried egg as it flips up and lands back in place; 7 – 11s, rapidly rise to a top-down view, then de­scend at a steady pace, sweep­ing across the plate and keys; 11 – 15s, use a hand­held close-up to fol­low the hands with a fast lat­eral whip, then push in on the break­fast and pull back to a medium two-shot. Keep the en­tire se­quence smooth, con­tin­u­ous, and sta­ble.

Going deeper into broader in­dus­try sce­nar­ios, con­tin­u­ously ex­plor­ing real-world value

As the mod­el’s ca­pa­bil­i­ties evolve, Seedance 2.5 is reach­ing deeper into broader in­dus­try sce­nar­ios such as ed­u­ca­tion and man­u­fac­tur­ing. In ed­u­ca­tion, the model has be­gun to en­ter real learn­ing set­tings. For ex­am­ple, Seedance 2.5 can turn the his­tor­i­cal con­text, char­ac­ters, and sto­ry­lines be­hind a les­son into more vivid and im­mer­sive vi­su­als. It also helps teach­ers pro­duce in­struc­tional videos more ef­fi­ciently, turn­ing ab­stract con­tent — sci­en­tific prin­ci­ples, his­tor­i­cal events, ex­per­i­men­tal pro­ce­dures — into dy­namic demon­stra­tions. This not only low­ers the bar­rier to pro­duc­ing ed­u­ca­tional ma­te­ri­als but also al­lows for highly flex­i­ble con­tent cus­tomiza­tion.

An ex­am­ple of Doubao Learning ap­p’s Doubao Classroom” sce­nario

R2V prompt: Expressive Eastern painterly style. A street scene in Lin’an dur­ing the Southern Song dy­nasty. Several chil­dren run and shout through the bustling street, chant­ing, I turn around, and there he is, where the lantern lights grow dim.” The cam­era fol­lows the chil­dren as they run, sweep­ing past the lively street. The cam­era then tilts up to re­veal Xin Qiji from @Image 1. Xin Qiji turns his head, and in the dis­tance stands a man among the fad­ing lantern lights. The shot stays con­tin­u­ous through­out.

R2V prompt: Expressive Eastern painterly style. A street scene in Lin’an dur­ing the Southern Song dy­nasty. Several chil­dren run and shout through the bustling street, chant­ing, I turn around, and there he is, where the lantern lights grow dim.” The cam­era fol­lows the chil­dren as they run, sweep­ing past the lively street. The cam­era then tilts up to re­veal Xin Qiji from @Image 1. Xin Qiji turns his head, and in the dis­tance stands a man among the fad­ing lantern lights. The shot stays con­tin­u­ous through­out.

In sec­tors like in­dus­trial man­u­fac­tur­ing, em­bod­ied in­tel­li­gence, and au­tonomous dri­ving, Seedance 2.5 is be­com­ing in­te­grated into highly spe­cific pro­duc­tion work­flows. The model can gen­er­ate high-qual­ity syn­thetic video data that helps train ro­bots’ per­cep­tion and ma­nip­u­la­tion skills. It is also be­ing uti­lized for in­dus­trial sim­u­la­tions, process train­ing, and equip­ment demon­stra­tions. For au­tonomous dri­ving, the model can sim­u­late long-tail sce­nar­ios, such as ex­treme weather and com­plex traf­fic con­di­tions, pro­vid­ing more di­verse sam­ples for sys­tem test­ing and train­ing.

R2V prompt: Reference the cam­era work, com­po­si­tion, shot scale, spa­tial re­la­tion­ships, part po­si­tions, model struc­ture, as­sem­bly or­der, and mo­tion paths from @Clay Render 1. Reference the ma­te­ri­als, light­ing, color, re­flec­tions, and at­mos­phere from @Image 1, and turn the clay ren­der into a high-end, pho­to­re­al­is­tic car as­sem­bly se­quence.

R2V prompt: Reference the cam­era work, com­po­si­tion, shot scale, spa­tial re­la­tion­ships, part po­si­tions, model struc­ture, as­sem­bly or­der, and mo­tion paths from @Clay Render 1. Reference the ma­te­ri­als, light­ing, color, re­flec­tions, and at­mos­phere from @Image 1, and turn the clay ren­der into a high-end, pho­to­re­al­is­tic car as­sem­bly se­quence.

Summary and look­ing for­ward

Seedance 2.5 marks a sig­nif­i­cant step for­ward in un­der­stand­ing and ren­der­ing the real world, el­e­vat­ing video gen­er­a­tion from clip-level out­puts to com­pre­hen­sive cre­ative work­flows. At the same time, we rec­og­nize there is still room for im­prove­ment, par­tic­u­larly re­gard­ing the phys­i­cal plau­si­bil­ity of com­plex mo­tions and the sta­bil­ity of scenes in­volv­ing in­ter­ac­tions among mul­ti­ple sub­jects.

Looking ahead, the Seed team will con­tinue to ex­plore more co­her­ent sto­ry­telling, de­liver a more in­tu­itive gen­er­a­tion and edit­ing ex­pe­ri­ence, and fur­ther deepen the mod­el’s grasp of real-world physics. We hope the Seedance mod­els will be­come more vivid, more con­trol­lable, and bet­ter at un­der­stand­ing users’ in­tent, help­ing more users ex­press their cre­ative ideas while con­tin­u­ing to ex­plore and serve broader in­dus­try needs.

To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".

10HN is also available as an iOS App

If you visit 10HN only rarely, check out the the best articles from the past week.

Visit pancik.com for more.