Vous voulez générer des vidéos de plus de 8 secondes avec l'IA, mais vous vous heurtez aux limites de durée par génération ? C'est un obstacle fréquent pour les créateurs de vidéos IA. Cet article analyse en profondeur la capacité d'extension (extend) de Google Veo 3.1, pour vous aider à maîtriser la solution technique complète permettant de passer d'une courte vidéo de 8 secondes à une vidéo longue de 148 secondes via API.
Valeur ajoutée : Après avoir lu cet article, vous saurez utiliser l'API d'extension de Veo 3.1, vous comprendrez le mécanisme d'extension incrémentielle de 7 secondes et serez capable de réaliser de manière autonome des vidéos générées par IA allant jusqu'à 148 secondes.

Points clés de l'API d'extension vidéo Veo 3.1
Avant d'entrer dans les détails techniques, voici les paramètres clés et les conditions de restriction de la capacité d'extension (extend) de Veo 3.1.
| Paramètre | Valeur | Description |
|---|---|---|
| Durée d'une seule extension | 7 secondes | Chaque appel à extend ajoute une durée fixe de 7 secondes à la vidéo |
| Nombre maximal d'extensions | 20 fois | Jusqu'à 20 extensions peuvent être effectuées à partir de la vidéo originale |
| Durée de sortie maximale | 148 secondes | 8 s originales + 20 × 7 s d'extension = 148 secondes |
| Résolution d'entrée | 720p / 1080p | Prend en charge deux niveaux de clarté en entrée |
| Résolution de sortie | 720p | La sortie de l'extension est actuellement limitée à 720p |
| Rapports d'aspect supportés | 16:9 / 9:16 | Formats paysage et portrait pris en charge |
| Exigence de fréquence d'images | 24 fps | La vidéo d'entrée doit être à 24 images/seconde |
| Format de fichier | MP4 | L'entrée et la sortie sont au format MP4 |
Fonctionnement détaillé de l'extension vidéo Veo 3.1
La fonctionnalité Scene Extension de Veo 3.1 utilise un mécanisme de génération continue ingénieux :
- Échantillonnage de la dernière seconde : Le système extrait les caractéristiques visuelles de la dernière seconde (24 images) de la vidéo d'entrée.
- Modélisation de la continuité : Basé sur ces caractéristiques, il prédit le contenu vidéo des 7 secondes suivantes.
- Fusion fluide : La nouvelle vidéo de 7 secondes est fusionnée avec la vidéo originale pour former un fichier complet.
- Accumulation itérative : Le résultat de chaque extension peut servir d'entrée pour l'extension suivante.
Cette conception garantit que la vidéo maintient une continuité visuelle même après plusieurs extensions, notamment :
- L'enchaînement fluide des mouvements des personnages
- La transition naturelle de l'éclairage de la scène
- La cohérence des éléments d'arrière-plan
- La continuité de l'audio (le cas échéant)
🎯 Conseil technique : Si vous avez besoin d'appeler l'API d'extension vidéo Veo 3.1, vous pouvez passer par la plateforme APIYI (apiyi.com) qui propose une interface unifiée pour appeler facilement la série de grands modèles de langage de génération vidéo de Google.
Spécifications techniques détaillées de l'API Veo 3.1 Extend
Conditions de restriction d'entrée
Avant d'appeler l'API extend de Veo 3.1, vous devez vous assurer que la vidéo d'entrée respecte les spécifications suivantes :
| Restriction | Exigence | Comportement en cas de non-conformité |
|---|---|---|
| Source | Doit être une vidéo générée par Veo | Retourne une erreur de validation (validation error) |
| Format | MP4 | Erreur de format non pris en charge |
| Durée | 1-30 secondes | Erreur de dépassement de plage |
| Fréquence d'images | 24 fps | Erreur de non-correspondance de fréquence |
| Résolution | 720p ou 1080p | Échec de la validation de la résolution |
| Rapport d'aspect | 16:9 ou 9:16 | Erreur de proportion non supportée |
Note importante : La fonction extend de l'API Gemini ne supporte que les vidéos générées par Veo comme entrée. Si vous essayez d'utiliser une vidéo provenant d'une autre source (comme une vidéo filmée avec un smartphone ou générée par une autre IA), l'API renverra une erreur de validation.
Spécifications de sortie
| Élément de sortie | Spécification |
|---|---|
| Format de fichier | MP4 |
| Durée d'extension | Fixe à 7 secondes |
| Résolution | 720p (limite actuelle) |
| Fréquence d'images | 24 fps |
| Audio | Supporte la continuation des effets sonores d'ambiance |
| Validité du stockage | Conservé 2 jours sur le serveur |

Guide de démarrage rapide de l'API d'extension vidéo Veo 3.1
Prérequis
Avant de commencer, assurez-vous de :
- Posséder un compte Google AI Studio ou Vertex AI
- Avoir accès à l'API Gemini
- Avoir installé un environnement Python 3.8+
- Avoir installé le SDK
google-genai
pip install google-genai
Exemple de code minimaliste
Voici le code le plus simple pour appeler l'API d'extension (extend) de Veo 3.1 :
from google import genai
import time
# 初始化客户端
client = genai.Client(
api_key="YOUR_API_KEY"
# 也可使用 APIYI apiyi.com 统一接口
)
# 步骤1: 先生成原始视频
print("正在生成原始视频...")
initial_operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
prompt="一只金色的猎鹰在蓝天中翱翔,阳光穿透云层",
)
# 等待生成完成
while not initial_operation.done:
time.sleep(30)
initial_operation = client.operations.get(initial_operation)
initial_video = initial_operation.result.generated_videos[0]
print(f"原始视频生成完成,时长: 8秒")
# 步骤2: 扩展视频
print("正在扩展视频...")
extend_operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
prompt="猎鹰继续在空中盘旋,俯冲捕捉猎物",
video=initial_video
)
# 等待扩展完成
while not extend_operation.done:
time.sleep(30)
extend_operation = client.operations.get(extend_operation)
extended_video = extend_operation.result.generated_videos[0]
print(f"视频扩展完成,总时长: 15秒")
🚀 Démarrage rapide : Nous vous recommandons d'utiliser la plateforme APIYI (apiyi.com) pour tester rapidement l'API Veo 3.1. Elle propose une interface prête à l'emploi, permettant une intégration sans configurations complexes.
Voir le code complet : Générer une vidéo allant jusqu’à 148 secondes
from google import genai
import time
import os
class Veo31VideoExtender:
"""Veo 3.1 视频扩展器 - 支持最长 148 秒视频生成"""
def __init__(self, api_key: str):
self.client = genai.Client(api_key=api_key)
self.model = "veo-3.1-generate-preview"
self.max_extensions = 20 # 最大扩展次数
self.extension_duration = 7 # 每次扩展 7 秒
def generate_initial_video(self, prompt: str, aspect_ratio: str = "16:9"):
"""生成初始视频"""
print(f"[1/2] 生成初始视频...")
print(f" 提示词: {prompt[:50]}...")
operation = self.client.models.generate_videos(
model=self.model,
prompt=prompt,
config={
"aspect_ratio": aspect_ratio,
"number_of_videos": 1
}
)
video = self._wait_for_completion(operation)
print(f" 初始视频生成完成 (8秒)")
return video
def extend_video(self, video, prompt: str, target_duration: int = 148):
"""
扩展视频到目标时长
Args:
video: 输入视频对象
prompt: 扩展提示词
target_duration: 目标时长(秒),最大 148 秒
Returns:
扩展后的视频对象
"""
# 计算需要的扩展次数
initial_duration = 8
needed_duration = target_duration - initial_duration
extensions_needed = min(
(needed_duration + self.extension_duration - 1) // self.extension_duration,
self.max_extensions
)
print(f"[2/2] 开始视频扩展...")
print(f" 目标时长: {target_duration}秒")
print(f" 需要扩展: {extensions_needed}次")
current_video = video
current_duration = initial_duration
for i in range(extensions_needed):
print(f" 扩展进度: {i+1}/{extensions_needed}")
operation = self.client.models.generate_videos(
model=self.model,
prompt=prompt,
video=current_video
)
current_video = self._wait_for_completion(operation)
current_duration += self.extension_duration
print(f" 当前时长: {current_duration}秒")
final_duration = min(current_duration, 148)
print(f"视频扩展完成! 最终时长: {final_duration}秒")
return current_video
def _wait_for_completion(self, operation, check_interval: int = 30):
"""等待操作完成"""
while not operation.done:
time.sleep(check_interval)
operation = self.client.operations.get(operation)
if operation.result.generated_videos:
return operation.result.generated_videos[0]
raise Exception("视频生成失败")
def download_video(self, video, output_path: str):
"""下载视频到本地"""
print(f"下载视频到: {output_path}")
# 获取视频内容
video_data = self.client.files.download(video.video)
with open(output_path, 'wb') as f:
f.write(video_data)
print(f"下载完成! 文件大小: {os.path.getsize(output_path) / 1024 / 1024:.2f} MB")
# 使用示例
if __name__ == "__main__":
# 初始化扩展器
extender = Veo31VideoExtender(api_key="YOUR_API_KEY")
# 生成初始视频
initial_video = extender.generate_initial_video(
prompt="夕阳下的海边,金色的阳光洒在波光粼粼的海面上,一艘帆船缓缓驶向远方",
aspect_ratio="16:9"
)
# 扩展到 60 秒
extended_video = extender.extend_video(
video=initial_video,
prompt="帆船继续前行,天空逐渐变成橙红色,海鸥在船边盘旋",
target_duration=60
)
# 下载视频
extender.download_video(extended_video, "extended_video_60s.mp4")
Astuces avancées pour l'API d'extension vidéo Veo 3.1
Stratégies d'invite : assurer la continuité de la vidéo
Lors de l'extension d'une vidéo, la rédaction de l'invite (prompt) influence directement la qualité du résultat. Voici quelques meilleures pratiques :
| Stratégie | Description | Exemple |
|---|---|---|
| Continuité de l'action | Décrire la phase suivante du mouvement | "Le faucon continue de plonger, se rapprochant du sol" |
| Évolution de la scène | Décrire les changements naturels de l'environnement | "Le ciel s'assombrit progressivement, les premières étoiles apparaissent" |
| Maintenir le sujet | Garder le sujet principal inchangé | "Le même faucon plane au-dessus d'une forêt dense" |
| Éviter les ruptures | Ne pas changer brusquement de décor | ❌ "Changement vers une scène en intérieur" |
Points d'attention pour le traitement audio
Veo 3.1 prend en charge la génération audio native, mais il existe certaines limitations lors de l'utilisation de la fonction extend :
- Effets sonores d'ambiance : Le système prolonge assez bien les bruits environnementaux et la musique de fond.
- Dialogues / Voix humaine : Si la dernière seconde de la vidéo originale ne contient pas de voix, l'extension n'en contiendra pas non plus.
- Cohérence audio : Le système s'efforce de maintenir un style sonore cohérent tout au long de la séquence.
💡 Conseil : Si votre vidéo nécessite des dialogues continus, assurez-vous que la dernière seconde de la vidéo originale contient de l'audio parlé, sinon la partie étendue ne conservera que l'ambiance sonore.
Extension par lots et optimisation des coûts
Lorsque vous devez générer un grand nombre de vidéos longues, vous pouvez envisager les stratégies d'optimisation suivantes :

# 批量扩展优化示例
def batch_extend_videos(video_list, prompts, target_duration=60):
"""
批量扩展视频
通过 APIYI apiyi.com 平台可以获得更优惠的批量调用价格
"""
results = []
for i, (video, prompt) in enumerate(zip(video_list, prompts)):
print(f"处理视频 {i+1}/{len(video_list)}")
extended = extender.extend_video(
video=video,
prompt=prompt,
target_duration=target_duration
)
results.append(extended)
# 避免触发速率限制
time.sleep(5)
return results
Comparaison entre l'extension vidéo Veo 3.1 et les autres solutions
Il existe plusieurs solutions de génération de vidéo par IA sur le marché. Voici un comparatif entre les capacités d'extension (extend) de Veo 3.1 et les autres solutions majeures :
| Critères de comparaison | Veo 3.1 Extend | Sora | Kling | Runway Gen-3 |
|---|---|---|---|---|
| Durée maximale | 148 secondes | 60 secondes | 120 secondes | 40 secondes |
| Mécanisme d'extension | Incrément de 7s | Pas d'extension | Incrément de 5s | Pas d'extension |
| Résolution maximale | 4K (génération) / 720p (extension) | 1080p | 1080p | 1080p |
| Audio natif | Supporté | Supporté | Support partiel | Non supporté |
| Format vertical | 9:16 | 9:16 | 9:16 | 9:16 |
| Disponibilité API | Gemini API | Limitée | Ouverte | Ouverte |
| Plateformes | APIYI apiyi.com, Google AI Studio | Officiel | Officiel, APIYI | Officiel |
Conseils de choix
- Pour la durée la plus longue : Choisissez Veo 3.1, qui supporte jusqu'à 148 secondes.
- Pour une qualité d'image stable : Optez pour Veo 3.1, qui offre la meilleure continuité.
- Budget limité : Vous pouvez obtenir de meilleurs tarifs via la plateforme APIYI apiyi.com.
- Besoin d'une production rapide : La version Veo 3.1 Fast offre un temps de réponse plus court.
FAQ sur l'extension vidéo avec Veo 3.1
Q1 : Pourquoi ma vidéo ne s’étend-elle pas, avec un message « validation error » ?
C'est généralement parce que la vidéo d'entrée n'a pas été générée par Veo. La fonction d'extension de l'API Gemini ne supporte que les vidéos générées par Veo comme source.
Solutions :
- Assurez-vous d'utiliser Veo 3.1 pour générer la vidéo originale.
- Vérifiez que le format de la vidéo est bien MP4.
- Confirmez que la fréquence d'images est de 24 fps et la résolution de 720p ou 1080p.
- La plateforme APIYI apiyi.com peut vous aider à obtenir un diagnostic d'erreur détaillé.
Q2 : Comment maintenir la cohérence du style après l’extension ?
La clé pour maintenir un style cohérent réside dans votre stratégie d'invite :
- Prolongez l'invite originale : Utilisez des descriptions similaires à celles de la vidéo initiale dans votre invite d'extension.
- Évitez les sauts de style : N'ajoutez pas de nouvelles descriptions de style visuel lors de l'extension.
- Gardez le même sujet : Précisez explicitement que c'est le "même" sujet qui continue son action.
- Transition de scène fluide : Les changements de décor doivent être progressifs, évitez les coupures nettes.
Exemple :
- Original : "Un chat blanc joue dans l'herbe"
- Extension : "Le même chat blanc continue de courir dans l'herbe, poursuivant un papillon" ✅
- Extension : "Un chien noir apparaît dans l'image" ❌
Q3 : La qualité de la vidéo va-t-elle baisser après 20 extensions ?
En théorie, après de multiples extensions, la vidéo peut présenter une certaine dérive de qualité. Cependant, Veo 3.1 a été optimisé pour répondre à ce problème :
- Chaque extension se réfère aux caractéristiques de style d'origine.
- La modélisation de la continuité assure la fluidité des mouvements.
- La résolution reste stable à 720p en sortie.
Conseil : Si vous avez des exigences de qualité très élevées, vous pouvez réévaluer le résultat après 10 à 15 extensions. La plateforme APIYI apiyi.com permet de réaliser facilement plusieurs tests comparatifs.
Q4 : Quelle est la durée de conservation des vidéos étendues ?
Les vidéos générées sont conservées sur les serveurs de Google pendant 2 jours. Passé ce délai, elles sont automatiquement supprimées.
Rappel important :
- Une vidéo étendue est considérée comme une nouvelle génération et n'est conservée que 2 jours également.
- Il est conseillé de télécharger la vidéo localement immédiatement après sa génération.
- L'utilisation de la méthode
download_videodans le code permet d'automatiser le téléchargement.
Q5 : Comment obtenir l’accès à l’API Veo 3.1 ?
Actuellement, l'API Veo 3.1 est en phase de "Paid Preview". Voici comment y accéder :
- Google AI Studio : Les développeurs peuvent postuler directement.
- Vertex AI : Les entreprises peuvent l'activer via la console Google Cloud.
- APIYI apiyi.com : Fournit une interface API unifiée supportant les appels Veo 3.1, disponible dès l'inscription.
Gestion des erreurs de l'API d'extension vidéo Veo 3.1
En pratique, vous pouvez rencontrer diverses erreurs lors de l'utilisation de l'API. Voici les erreurs les plus courantes et leurs solutions :
| Type d'erreur | Message d'erreur | Cause | Solution |
|---|---|---|---|
| Erreur de validation | Video validation failed | La vidéo d'entrée ne respecte pas les spécifications | Vérifier la source, le format et la résolution |
| Erreur de délai | Operation timed out | La génération prend trop de temps | Augmenter le temps d'attente, réessayer |
| Erreur de quota | Quota exceeded | Limite d'appels API dépassée | Attendre la réinitialisation du quota ou passer à un forfait supérieur |
| Erreur de format | Unsupported format | Format vidéo non pris en charge | Convertir au format MP4 |
| Erreur de fréquence | Invalid frame rate | La fréquence d'images n'est pas de 24 fps | Réencoder la vidéo |
# Exemple de gestion des erreurs
def safe_extend_video(video, prompt, max_retries=3):
"""Extension de vidéo avec mécanisme de tentative (retry)"""
for attempt in range(max_retries):
try:
operation = client.models.generate_videos(
model="veo-3.1-generate-preview",
prompt=prompt,
video=video
)
while not operation.done:
time.sleep(30)
operation = client.operations.get(operation)
return operation.result.generated_videos[0]
except Exception as e:
print(f"Tentative {attempt + 1} échouée : {e}")
if attempt < max_retries - 1:
time.sleep(60) # Attendre avant de réessayer
else:
raise
Cas d'utilisation de l'API d'extension vidéo Veo 3.1
Création de vidéos courtes
Étendez un clip de 8 secondes en une vidéo complète de plus de 60 secondes, idéal pour :
- La création de contenu Douyin/TikTok
- La production de YouTube Shorts
- Les assets publicitaires pour les réseaux sociaux
Prévisualisation cinématographique
Générez rapidement des vidéos conceptuelles de 1 à 2 minutes pour :
- La visualisation de scénario
- L'animation de storyboard
- La démonstration de concepts créatifs
Présentation de produits
Créez des vidéos de présentation dynamique de produits :
- Rotation de produit à 360°
- Simulation de scénarios d'utilisation
- Animation de démonstration de fonctionnalités

Résumé
La fonctionnalité d'extension vidéo « extend » de Google Veo 3.1 apporte des possibilités de durée inédites pour la génération de vidéos par IA :
- Mécanisme d'incrémentation de 7 secondes : Chaque extension ajoute une durée fixe de 7 secondes, en se basant sur l'échantillonnage de la dernière seconde pour garantir une parfaite continuité.
- Limite de 20 itérations : Il est possible d'effectuer jusqu'à 20 opérations d'extension successives.
- Sortie maximale de 148 secondes : 8 secondes initiales + 140 secondes d'extension = 148 secondes de durée totale.
- Restrictions strictes sur les entrées : Seuls les fichiers MP4 générés par Veo sont pris en charge, au format 24 fps et en résolutions 720p ou 1080p.
Pour les développeurs et les créateurs qui ont besoin de produire des vidéos longues, maîtriser l'API extend de Veo 3.1 boostera considérablement l'efficacité de la production de contenu. Nous vous recommandons d'utiliser APIYI (apiyi.com) pour tester rapidement les résultats et accéder à un service d'appel API stable.
Cet article a été rédigé par l'équipe technique d'APIYI Team. Pour plus de tutoriels sur l'utilisation des API d'IA, rendez-vous sur apiyi.com.
