> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evolink.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sora-2-Pro Génération de vidéos

> - Le modèle Sora 2 Pro (sora-2-pro-preview) prend en charge les modes texte-vers-vidéo, image-vers-vidéo et autres
- Mode de traitement asynchrone, utilisez l'ID de tâche retourné pour [interroger](/fr/api-manual/task-management/get-task-detail)
- Les liens vidéo générés sont valides pendant 24 heures, veuillez les enregistrer rapidement

**Remarque :**
- Actuellement, le mécanisme de modération de contenu de Sora2Pro est très strict, les tâches peuvent échouer pour cette raison
- L'entrée d'image contenant de vraies figures humaines n'est actuellement pas prise en charge



## OpenAPI

````yaml fr/api-manual/video-series/sora2pro/sora-2-pro-preview-video-generate.json POST /v1/videos/generations
openapi: 3.1.0
info:
  title: Interface sora-2-pro-preview
  description: >-
    Utiliser des modèles IA pour créer des tâches de génération vidéo, prenant
    en charge les modes texte-vers-vidéo, image-vers-vidéo et autres modes de
    génération
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.evolink.ai
    description: Environnement de production
security:
  - bearerAuth: []
tags:
  - name: Génération vidéo
    description: APIs liées à la génération vidéo par IA
paths:
  /v1/videos/generations:
    post:
      tags:
        - Génération vidéo
      summary: Interface sora-2-pro-preview
      description: >-
        - Le modèle Sora 2 Pro (sora-2-pro-preview) prend en charge les modes
        texte-vers-vidéo, image-vers-vidéo et autres

        - Mode de traitement asynchrone, utilisez l'ID de tâche retourné pour
        [interroger](/fr/api-manual/task-management/get-task-detail)

        - Les liens vidéo générés sont valides pendant 24 heures, veuillez les
        enregistrer rapidement


        **Remarque :**

        - Actuellement, le mécanisme de modération de contenu de Sora2Pro est
        très strict, les tâches peuvent échouer pour cette raison

        - L'entrée d'image contenant de vraies figures humaines n'est
        actuellement pas prise en charge
      operationId: createVideoGeneration
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VideoGenerationRequest'
            examples:
              text_to_video:
                summary: Texte vers vidéo
                value:
                  model: sora-2-pro-preview
                  prompt: A cat playing piano
      responses:
        '200':
          description: Tâche de génération vidéo créée avec succès
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoGenerationResponse'
        '400':
          description: Paramètres de requête invalides
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: invalid_request
                  message: Invalid request parameters
                  type: invalid_request_error
        '401':
          description: Non authentifié, jeton invalide ou expiré
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: unauthorized
                  message: Invalid or expired token
                  type: authentication_error
        '402':
          description: Quota insuffisant, recharge requise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: insufficient_quota
                  message: Insufficient quota. Please top up your account.
                  type: insufficient_quota
        '403':
          description: Accès refusé
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: model_access_denied
                  message: 'Token does not have access to model: sora-2-pro-preview'
                  type: invalid_request_error
        '429':
          description: Limite de débit dépassée
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: rate_limit_exceeded
                  message: Too many requests, please try again later
                  type: rate_limit_error
        '500':
          description: Erreur interne du serveur
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: internal_error
                  message: Internal server error
                  type: api_error
components:
  schemas:
    VideoGenerationRequest:
      type: object
      required:
        - model
        - prompt
      properties:
        model:
          type: string
          description: Nom du modèle de génération vidéo
          enum:
            - sora-2-pro-preview
          default: sora-2-pro-preview
          example: sora-2-pro-preview
        prompt:
          type: string
          description: Prompt décrivant le type de vidéo à générer, limité à 5000 tokens
          example: A cat playing piano
          maxLength: 5000
        aspect_ratio:
          type: string
          description: >-
            Rapport d'aspect vidéo, `16:9` génère une vidéo en paysage, `9:16`
            génère une vidéo en portrait
          enum:
            - '16:9'
            - '9:16'
          example: '16:9'
        duration:
          type: integer
          description: >-
            Spécifie la durée de la vidéo générée (secondes)


            **Remarque :**

            - Prend actuellement en charge uniquement les valeurs `4`, `8`,
            `12`, représentant respectivement `4 secondes`, `8 secondes`, `12
            secondes`

            - La facturation est basée sur la valeur `duration`, une durée plus
            élevée coûte plus cher
          example: 4
        quality:
          type: string
          description: |-
            Qualité vidéo

            **Remarque :**
            - `720p` : Qualité standard, tarification standard
            - `1080p` : Haute qualité, le multiplicateur de prix est de 1.667x
          enum:
            - 720p
            - 1080p
          example: 720p
        image_urls:
          type: array
          description: >-
            Liste d'URLs d'images de référence pour la fonctionnalité
            image-vers-vidéo


            **Note :**

            - Les images contenant des figures humaines réelles ne sont pas
            prises en charge

            - Une requête prend en charge : `1` image

            - Taille de l'image : pas plus de `10MB`

            - Formats de fichiers pris en charge : `.jpg`, `.jpeg`, `.png`,
            `.webp`

            - Les URLs des images doivent être directement consultables par le
            serveur, ou l'URL de l'image doit déclencher un téléchargement
            direct lors de l'accès (généralement ces URLs se terminent par des
            extensions de fichier image, comme `.png`, `.jpg`)
          items:
            type: string
            format: uri
          maxItems: 1
          example:
            - http://example.com/image1.jpg
        callback_url:
          type: string
          description: >-
            Adresse de rappel HTTPS après l'achèvement de la tâche


            **Moment du rappel :**

            - Déclenché lorsque la tâche est terminée, échouée ou annulée

            - Envoyé après confirmation de la facturation


            **Restrictions de sécurité :**

            - Seul le protocole HTTPS est pris en charge

            - Les rappels vers les adresses IP internes sont interdits
            (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)

            - La longueur de l'URL ne doit pas dépasser `2048` caractères


            **Mécanisme de rappel :**

            - Délai d'expiration : `10` secondes

            - Maximum `3` tentatives en cas d'échec (tentatives après `1`
            seconde/`2` secondes/`4` secondes)

            - Le format du corps de réponse du rappel est cohérent avec le
            format de réponse de l'API de requête de tâche

            - Un code de statut 2xx renvoyé par l'adresse de rappel est
            considéré comme un succès, les autres codes de statut déclenchent
            une nouvelle tentative
          format: uri
          example: https://your-domain.com/webhooks/video-task-completed
    VideoGenerationResponse:
      type: object
      properties:
        created:
          type: integer
          description: Horodatage de création de la tâche
          example: 1757169743
        id:
          type: string
          description: ID de tâche
          example: task-unified-1757169743-7cvnl5zw
        model:
          type: string
          description: Nom du modèle réellement utilisé
          example: sora-2-pro-preview
        object:
          type: string
          enum:
            - video.generation.task
          description: Type de tâche spécifique
        progress:
          type: integer
          description: Pourcentage de progression de la tâche (0-100)
          minimum: 0
          maximum: 100
          example: 0
        status:
          type: string
          description: Statut de la tâche
          enum:
            - pending
            - processing
            - completed
            - failed
          example: pending
        task_info:
          $ref: '#/components/schemas/VideoTaskInfo'
          description: Informations détaillées de la tâche vidéo
        type:
          type: string
          enum:
            - text
            - image
            - audio
            - video
          description: Type de sortie de la tâche
          example: video
        usage:
          $ref: '#/components/schemas/VideoUsage'
          description: Informations d'utilisation et de facturation
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: Identifiant du code d'erreur
            message:
              type: string
              description: Description de l'erreur
            type:
              type: string
              description: Type d'erreur
    VideoTaskInfo:
      type: object
      properties:
        can_cancel:
          type: boolean
          description: Si la tâche peut être annulée
          example: true
        estimated_time:
          type: integer
          description: Temps d'achèvement estimé (secondes)
          minimum: 0
          example: 300
        video_duration:
          type: integer
          description: Durée de la vidéo (secondes)
          example: 9
    VideoUsage:
      type: object
      description: Informations d'utilisation et de facturation
      properties:
        billing_rule:
          type: string
          description: Règle de facturation
          enum:
            - per_call
            - per_token
            - per_second
          example: per_second
        credits_reserved:
          type: number
          description: Crédits estimés consommés
          minimum: 0
          example: 7
        user_group:
          type: string
          description: Catégorie de groupe d'utilisateurs
          example: default
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        ##Toutes les API nécessitent une authentification Bearer Token##


        **Obtenir une clé API :**


        Visitez la [Page de gestion des clés
        API](https://evolink.ai/dashboard/keys) pour obtenir votre clé API


        **Ajouter à l'en-tête de requête :**

        ```

        Authorization: Bearer YOUR_API_KEY

        ```

````