Note de l'auteur : Guide détaillé des deux méthodes de création de personnages avec l'API Sora 2 Character : extraction par URL vidéo et réutilisation d'ID de tâche, maîtrisez les astuces du paramètre timestamps pour obtenir une cohérence des personnages dans vos vidéos IA
Dans la génération de vidéos par IA, la cohérence des personnages a toujours été l'un des plus grands défis. Un même personnage peut "changer de visage" d'une vidéo à l'autre, nuisant gravement à la narration continue. L'API Sora 2 Character est justement conçue pour résoudre ce problème, vous permettant d'extraire les caractéristiques d'un personnage depuis une vidéo, de créer un ID de personnage réutilisable et de maintenir l'apparence cohérente du personnage dans les générations suivantes.
Valeur clé : À la fin de cet article, vous maîtriserez les deux méthodes de création de personnages de l'API Sora 2 Character, et pourrez implémenter une cohérence professionnelle des personnages pour vos projets vidéo IA.

Points clés de l'API Sora 2 Character
| Point clé | Description | Valeur |
|---|---|---|
| Extraction de personnage | Extraire les caractéristiques depuis une vidéo | Créer des ressources personnages réutilisables |
| ID personnage | Obtenir un identifiant unique | Appeler le même personnage dans plusieurs vidéos |
| Paramètre timestamps | Spécifier la plage temporelle d'apparition | Cibler précisément le personnage souhaité |
| Deux méthodes | URL vidéo ou ID de tâche | S'adapter flexiblement à différents scénarios |
Qu'est-ce que l'API Sora 2 Character ?
L'API Sora 2 Character est l'interface de gestion des personnages de Sora 2 d'OpenAI, qui permet aux développeurs de :
- Extraire un personnage depuis une vidéo : Spécifier un personnage apparaissant dans une période donnée et extraire ses caractéristiques
- Obtenir un ID personnage : Le système retourne un identifiant unique (character_id)
- Réutiliser entre vidéos : Appeler ce personnage via @character_id dans les générations vidéo suivantes
- Maintenir la cohérence : Le même personnage garde une apparence cohérente dans différentes scènes et vidéos
C'est une fonctionnalité révolutionnaire pour les créateurs qui produisent des séries vidéo, des animations de marque, ou du contenu narratif continu.
Sora 2 Character API : deux méthodes de création
Méthode 1 : Extraction de personnage depuis une URL vidéo
C'est la méthode la plus directe, idéale quand vous disposez déjà d'une vidéo.
Paramètres de la requête :
| Paramètre | Type | Requis | Description |
|---|---|---|---|
model |
string | ✅ | Valeur fixe sora-2-character |
url |
string | ✅ | URL publique accessible de la vidéo |
timestamps |
string | ✅ | Plage temporelle d'apparition du personnage, format "début_sec,fin_sec" |
Exemple de requête complète :
curl https://api.apiyi.com/sora/v1/characters \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-api-key" \
-d '{
"model": "sora-2-character",
"url": "https://your-cdn.com/video/character-source.mp4",
"timestamps": "5,8"
}'
⚠️ Points importants :
- L'URL vidéo doit être accessible publiquement : les serveurs OpenAI doivent pouvoir lire la vidéo
- CDN configuré en global : si vous utilisez un OSS/CDN, configurez-le en accélération globale pour que les serveurs OpenAI (généralement à l'étranger) puissent y accéder
- Plage temporelle timestamps :
- Différence minimale : 1 seconde
- Différence maximale : 3 secondes
- Exemple :
"5,8"représente la vidéo de la 5ème à la 8ème seconde
Méthode 2 : Réutilisation d'un personnage via l'ID de tâche
Si vous avez déjà généré une vidéo via l'API Sora 2, vous pouvez directement utiliser l'ID de cette tâche pour extraire le personnage, sans avoir à re-télécharger la vidéo.
Paramètres de la requête :
| Paramètre | Type | Requis | Description |
|---|---|---|---|
model |
string | ✅ | Valeur fixe sora-2-character |
from_task |
string | ✅ | ID de la tâche de génération vidéo précédente |
timestamps |
string | ✅ | Plage temporelle d'apparition du personnage |
Exemple de requête complète :
curl https://api.apiyi.com/sora/v1/characters \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-api-key" \
-d '{
"model": "sora-2-character",
"from_task": "video_f751abfd-87a9-46e2-9236-1d94743c5e3e",
"timestamps": "5,8"
}'
Avantages de cette méthode :
- ✅ Pas besoin de télécharger à nouveau la vidéo, économie de bande passante
- ✅ Réutilisation directe des ressources vidéo déjà générées
- ✅ Workflow plus fluide, adapté au traitement en masse
- ✅ Évite les problèmes d'expiration ou d'accès aux URL vidéo
Conseil : Passez par APIYI apiyi.com pour appeler l'API Sora 2 Character, la plateforme offre un accès stable et des crédits de test gratuits.
Comparaison des deux méthodes de l'API Sora 2 Character
| Critère | Méthode URL vidéo | Méthode ID de tâche |
|---|---|---|
| Cas d'usage | Vidéo existante disponible | Réutiliser une vidéo Sora générée |
| Paramètre | url |
from_task |
| Upload requis | URL vidéo publique accessible | Non, référence directe via ID |
| Réseau requis | CDN accessible mondialement | Aucune exigence supplémentaire |
| Workflow | Traitement de ressources indépendantes | Intégration au processus de génération |
| Recommandé pour | Importer un personnage de vidéo externe | Générer une série de vidéos en masse |
Comment choisir ?
Optez pour la méthode URL vidéo :
- Vous avez une vidéo existante (vidéo filmée, téléchargée d'une autre plateforme)
- Vous devez extraire un personnage d'une vidéo non générée par Sora
Optez pour la méthode ID de tâche :
- Vous utilisez l'API Sora 2 pour générer des vidéos en masse
- Vous souhaitez extraire un personnage d'une vidéo déjà générée pour créer une suite
- Vous recherchez un workflow automatisé plus fluide
Explication détaillée du paramètre timestamps de l'API Character de Sora 2
timestamps est le paramètre le plus crucial de l'API Character, car il détermine à quel moment de la vidéo extraire le personnage.
Règles de format des timestamps
| Règle | Description | Exemple |
|---|---|---|
| Format | "seconde_début,seconde_fin" |
"5,8" |
| Type | string (chaîne de caractères) | Attention aux guillemets |
| Écart minimum | 1 seconde | "3,4" ✅ |
| Écart maximum | 3 secondes | "5,8" ✅ |
| Dépassement | Provoque une erreur | "1,10" ❌ |
Conseils pour configurer timestamps
- Choisir un segment où le personnage est clairement visible : Le personnage doit apparaître entièrement à l'écran, sans obstruction
- Éviter les segments avec mouvements rapides : Privilégier les moments où le personnage est relativement immobile ou bouge lentement
- S'assurer d'un bon éclairage : Un segment bien éclairé permet d'extraire les caractéristiques du personnage plus précisément
- Privilégier les vues de face : Si possible, choisir un segment où le personnage fait face à la caméra
Exemple de scénario :
Imaginons que vous avez une vidéo de 10 secondes, où le personnage apparaît de face entre 2-4 secondes, puis de profil en mouvement entre 6-9 secondes :
// Recommandé : choisir le segment de face et net
{
"timestamps": "2,4"
}
// Non recommandé : personnage de profil en mouvement
{
"timestamps": "6,9"
}
Workflow complet de l'API Character de Sora 2
Exemple de code Python
import requests
import time
# Configuration de l'interface APIYI
API_BASE = "https://api.apiyi.com/sora/v1"
API_KEY = "sk-your-api-key"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}
def create_character_from_url(video_url: str, timestamps: str) -> dict:
"""Méthode 1 : Créer un personnage à partir d'une URL vidéo"""
response = requests.post(
f"{API_BASE}/characters",
headers=headers,
json={
"model": "sora-2-character",
"url": video_url,
"timestamps": timestamps
}
)
return response.json()
def create_character_from_task(task_id: str, timestamps: str) -> dict:
"""Méthode 2 : Créer un personnage à partir d'un ID de tâche"""
response = requests.post(
f"{API_BASE}/characters",
headers=headers,
json={
"model": "sora-2-character",
"from_task": task_id,
"timestamps": timestamps
}
)
return response.json()
# Exemple d'utilisation
# Méthode 1 : Créer depuis une URL vidéo
result1 = create_character_from_url(
video_url="https://your-cdn.com/video/hero.mp4",
timestamps="5,8"
)
print(f"Tâche de création de personnage : {result1}")
# Méthode 2 : Créer depuis un ID de tâche
result2 = create_character_from_task(
task_id="video_f751abfd-87a9-46e2-9236-1d94743c5e3e",
timestamps="2,4"
)
print(f"Tâche de création de personnage : {result2}")
Voir le code complet du processus de création et d’utilisation d’un personnage
import requests
import time
API_BASE = "https://api.apiyi.com/sora/v1"
API_KEY = "sk-your-api-key"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}
def create_character(video_url: str, timestamps: str) -> str:
"""Créer un personnage et retourner son ID"""
# 1. Lancer la requête de création de personnage
response = requests.post(
f"{API_BASE}/characters",
headers=headers,
json={
"model": "sora-2-character",
"url": video_url,
"timestamps": timestamps
}
)
task_data = response.json()
task_id = task_data.get("task_id")
# 2. Polling pour attendre la fin de la tâche
while True:
status_response = requests.get(
f"{API_BASE}/characters/{task_id}",
headers=headers
)
status_data = status_response.json()
if status_data.get("status") == "completed":
return status_data.get("character_id")
elif status_data.get("status") == "failed":
raise Exception(f"Échec de la création du personnage : {status_data}")
time.sleep(5) # Vérifier toutes les 5 secondes
def generate_video_with_character(prompt: str, character_id: str) -> str:
"""Générer une vidéo en utilisant un personnage"""
# Référencer le personnage dans le prompt via @character_id
full_prompt = f"@{character_id} {prompt}"
response = requests.post(
f"{API_BASE}/videos",
headers=headers,
json={
"model": "sora-2",
"prompt": full_prompt,
"duration": 8,
"resolution": "1080p"
}
)
return response.json()
# Exemple de processus complet
if __name__ == "__main__":
# Étape 1 : Créer le personnage
character_id = create_character(
video_url="https://your-cdn.com/video/hero.mp4",
timestamps="5,8"
)
print(f"Personnage créé avec succès, ID : {character_id}")
# Étape 2 : Utiliser le personnage pour générer une série de vidéos
scenes = [
"walking through a futuristic city at night",
"sitting in a coffee shop, reading a book",
"running on a beach at sunset"
]
for i, scene in enumerate(scenes):
result = generate_video_with_character(scene, character_id)
print(f"Tâche de génération vidéo {i+1} : {result}")
Astuce : En passant par APIYI apiyi.com pour accéder à l'API Character de Sora 2, la plateforme vous offre des fonctionnalités complètes de gestion des personnages et un support technique.
Foire aux questions
Q1 : Que faire si l’URL de la vidéo n’est pas accessible ?
Assurez-vous que l'URL de la vidéo répond aux conditions suivantes :
- Accessible publiquement : ne peut pas être une adresse réseau interne ou un lien nécessitant une connexion
- Accélération CDN globale : si vous utilisez Alibaba Cloud OSS, AWS S3, etc., activez l'accélération globale ou utilisez un CDN mondial
- URL non expirée : pour les URL signées temporaires, assurez-vous que la durée de validité est suffisante
- Format supporté : le format MP4 est recommandé
Q2 : Comment gérer les erreurs du paramètre timestamps ?
Erreurs courantes et solutions :
- Plage de temps supérieure à 3 secondes : réduisez la plage à 1-3 secondes, par exemple
"5,8"→"5,7" - Plage de temps inférieure à 1 seconde : assurez-vous qu'il y a au moins 1 seconde d'écart entre le début et la fin
- Erreur de format : doit être au format chaîne de caractères
"5,8", pas un tableau ou un nombre - Dépasse la durée de la vidéo : vérifiez que la plage de temps reste dans la durée totale de la vidéo
Q3 : Comment utiliser un personnage créé dans la génération vidéo ?
Une fois le personnage créé avec succès, vous obtenez un character_id. Dans vos futures requêtes de génération vidéo, référencez ce personnage via @character_id dans votre prompt. Par exemple :
@char_abc123xyz marche dans une ville futuriste avec des néons clignotants
Le système appliquera automatiquement les caractéristiques de ce personnage à la vidéo générée, en maintenant l'apparence cohérente du personnage.
Résumé
Les points clés de l'API Character de Sora 2 :
- Deux méthodes de création : extraction depuis une URL vidéo et réutilisation d'un ID de tâche, pour s'adapter à différents scénarios
- Paramètre timestamps : plage de temps de 1 à 3 secondes, choisissez un segment où le personnage est clairement visible
- Réutilisation du personnage : créez une fois, utilisez plusieurs fois à travers différentes vidéos, en maintenant la cohérence du personnage
- Configuration CDN : lors de l'utilisation d'URL vidéo, assurez l'accessibilité mondiale
Une fois que vous maîtrisez l'API Character, vous pouvez :
- Créer des personnages virtuels réutilisables pour vos IP de marque
- Produire des vidéos en série avec des personnages cohérents
- Réaliser des vidéos narratives continues de niveau professionnel
On vous recommande d'accéder à l'API Character de Sora 2 via APIYI apiyi.com, une plateforme offrant un service stable et des crédits de test gratuits pour vous aider à démarrer rapidement avec la fonctionnalité de création de personnages.
📚 参考资料
⚠️ 链接格式说明: 所有外链使用
资料名: domain.com格式,方便复制但不可点击跳转,避免 SEO 权重流失。
-
OpenAI Sora 2 官方发布: Sora 2 功能和特性介绍
- 链接:
openai.com/index/sora-2/ - 说明: 了解 Sora 2 的官方信息和角色功能
- 链接:
-
OpenAI 帮助中心 – Characters 功能: 角色创建和使用指南
- 链接:
help.openai.com/en/articles/12435986-generating-content-with-characters - 说明: 官方的角色功能使用说明
- 链接:
-
OpenAI API 文档 – Video Generation: Sora API 技术文档
- 链接:
platform.openai.com/docs/guides/video-generation - 说明: API 接口规格和参数说明
- 链接:
-
OpenAI Sora Characters 页面: 角色功能产品介绍
- 链接:
openai.com/sora/characters/ - 说明: 角色功能的产品定位和使用场景
- 链接:
作者: 技术团队
技术交流: 欢迎在评论区讨论,更多资料可访问 APIYI apiyi.com 技术社区
