David Cameron has issued an ultimatum over the TV debates ahead of the general election, after being attacked by Labour over the issue.

The prime minister said he will take part in only one 90-minute long debate and it would have to feature the leaders of all seven established British political parties.

The move, if agreed by the broadcasters, would rule out a head-to-head clash with Labour leader Ed Miliband.

Liberal Democrat leader Nick Clegg accused his Coalition partner of holding Channel 4, Sky News, BBC and ITV "to ransom".

"Stop holding them to ransom by trying to dictate the terms," Clegg said.

Alastair Campbell, former Downing Street director of communications under Tony Blair, blasted Cameron for being "morally, cowardly and democratically wrong".

The spin doctor made the remarks on BBC 4's Today Programme, where he conceded that he blocked Blair from doing the same in the run-up to the 1997 General Election.

The TV debate issue was reignited after Miliband pushed Cameron on the matter during Prime Minister's Questions.

"So it's all about leadership. There's a very good chance to discuss these issues. The broadcasters have proposed a live head-to-head debate between the prime minister and me on 30 April, a week before polling day. I will be at that debate, will he be at that debate?" Miliband said.

The exchange came after the broadcasters repackaged their joint proposal and also included the Scottish National Party (SNP) and Plaid Cymru in the debates.

The plan would have seen Cameron and Miliband go head-to-head on Sky and Channel 4 on 30 April, just days before the general election on 7 May.

But the prime minister's latest demand would change the broadcasters' plan once again.

Channel 4, Sky News, BBC and ITV said they would respond to Cameron's proposal in due course.