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

# Téléverser des médias

> Téléverse un fichier média à utiliser dans des Publications ou d’autres types de contenu.



## OpenAPI

````yaml /fr/openapi.json POST /2/media/upload
openapi: 3.0.0
info:
  description: Points de terminaison disponibles dans X API v2
  version: '2.157'
  title: X API v2
  termsOfService: https://developer.x.com/en/developer-terms/agreement-and-policy.html
  contact:
    name: X Developers
    url: https://developer.x.com/
  license:
    name: X Developer Agreement and Policy
    url: https://developer.x.com/en/developer-terms/agreement-and-policy.html
servers:
  - description: X API
    url: https://api.x.com
security: []
tags:
  - name: Account Activity
    description: >-
      Points de terminaison pour la récupération et la gestion des abonnements
      AAA
    externalDocs:
      description: En savoir plus
      url: >-
        https://docs.x.com/x-api/enterprise-gnip-2.0/fundamentals/account-activity
  - name: Bookmarks
    description: >-
      Points de terminaison permettant de récupérer et de gérer les signets d’un
      utilisateur
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/bookmarks
  - name: Compliance
    description: >-
      Points de terminaison pour garantir la conformité des données X dans vos
      systèmes
    externalDocs:
      description: En savoir plus
      url: >-
        https://developer.twitter.com/en/docs/twitter-api/compliance/batch-tweet/introduction
  - name: Connections
    description: Points de terminaison pour les connexions de flux en continu
    externalDocs:
      description: En savoir plus
      url: https://developer.x.com/en/docs/x-api/connections
  - name: Direct Messages
    description: >-
      Points de terminaison permettant de récupérer et de gérer les Direct
      Messages
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/direct-messages
  - name: General
    description: Points de terminaison divers pour des fonctionnalités générales de l’API
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api
  - name: Lists
    description: Points de terminaison pour la récupération et la gestion des Listes
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/lists
  - name: Media
    description: Points de terminaison pour les médias
    externalDocs:
      description: En savoir plus
      url: https://developer.x.com
  - name: MediaUpload
    description: Points de terminaison pour le téléversement de médias
    externalDocs:
      description: En savoir plus
      url: https://developer.x.com
  - name: News
    description: Point de terminaison pour récupérer des articles d’actualité
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/news
  - name: Spaces
    description: Points de terminaison pour la récupération et la gestion des Spaces
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/spaces
  - name: Stream
    description: Points de terminaison pour le streaming
    externalDocs:
      description: En savoir plus
      url: https://developer.x.com
  - name: Tweets
    description: >-
      Points de terminaison pour la récupération, la recherche et la
      modification de Tweets
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/tweets/lookup
  - name: Users
    description: >-
      Points de terminaison pour la récupération et la gestion des relations des
      utilisateurs
    externalDocs:
      description: En savoir plus
      url: https://developer.twitter.com/en/docs/twitter-api/users/lookup
paths:
  /2/media/upload:
    post:
      tags:
        - Media
      summary: Téléverser des médias
      description: >-
        Téléverse un fichier média à utiliser dans des Publications ou d’autres
        types de contenu.
      operationId: mediaUpload
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MediaUploadRequestOneShot'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/MediaUploadRequestOneShot'
      responses:
        '200':
          description: La requête a réussi.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MediaUploadResponse'
        default:
          description: La requête a échoué.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Problem'
      security:
        - OAuth2UserToken:
            - media.write
        - UserToken: []
      externalDocs:
        url: https://docs.x.com/x-api/media/media-upload
components:
  schemas:
    MediaUploadRequestOneShot:
      type: object
      required:
        - media
        - media_category
      properties:
        additional_owners:
          type: array
          items:
            $ref: '#/components/schemas/UserId'
        media:
          anyOf:
            - $ref: '#/components/schemas/MediaPayloadBinary'
            - $ref: '#/components/schemas/MediaPayloadByte'
        media_category:
          $ref: '#/components/schemas/MediaCategoryOneShot'
        media_type:
          type: string
          description: Le type d’image ou de sous-titre.
          enum:
            - text/srt
            - text/vtt
            - image/jpeg
            - image/bmp
            - image/png
            - image/webp
            - image/pjpeg
            - image/tiff
          example: image/png
        shared:
          type: boolean
          description: Indique si ce média est partagé ou non.
          default: false
      additionalProperties: false
    MediaUploadResponse:
      type: object
      description: >-
        Réponse renvoyée lors de la récupération du statut d’une requête de
        téléversement de média.
      required:
        - meta
      properties:
        data:
          type: object
          required:
            - id
            - media_key
          properties:
            expires_after_secs:
              type: integer
              description: >-
                Nombre de secondes avant l’expiration de la session de
                téléversement.
              format: int32
            id:
              $ref: '#/components/schemas/MediaId'
            media_key:
              $ref: '#/components/schemas/MediaKey'
            processing_info:
              $ref: '#/components/schemas/ProcessingInfo'
            size:
              type: integer
              description: Taille du fichier téléversé.
              format: int32
        errors:
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/Problem'
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          format: int32
        message:
          type: string
    Problem:
      type: object
      description: >-
        Un objet HTTP Problem Details, tel que défini dans la RFC IETF 7807
        (https://tools.ietf.org/html/rfc7807).
      required:
        - type
        - title
      properties:
        detail:
          type: string
        status:
          type: integer
        title:
          type: string
        type:
          type: string
      discriminator:
        propertyName: type
        mapping:
          about:blank:
            $ref: '#/components/schemas/GenericProblem'
          https://api.twitter.com/2/problems/client-disconnected:
            $ref: '#/components/schemas/ClientDisconnectedProblem'
          https://api.twitter.com/2/problems/client-forbidden:
            $ref: '#/components/schemas/ClientForbiddenProblem'
          https://api.twitter.com/2/problems/conflict:
            $ref: '#/components/schemas/ConflictProblem'
          https://api.twitter.com/2/problems/disallowed-resource:
            $ref: '#/components/schemas/DisallowedResourceProblem'
          https://api.twitter.com/2/problems/duplicate-rules:
            $ref: '#/components/schemas/DuplicateRuleProblem'
          https://api.twitter.com/2/problems/invalid-request:
            $ref: '#/components/schemas/InvalidRequestProblem'
          https://api.twitter.com/2/problems/invalid-rules:
            $ref: '#/components/schemas/InvalidRuleProblem'
          https://api.twitter.com/2/problems/noncompliant-rules:
            $ref: '#/components/schemas/NonCompliantRulesProblem'
          https://api.twitter.com/2/problems/not-authorized-for-field:
            $ref: '#/components/schemas/FieldUnauthorizedProblem'
          https://api.twitter.com/2/problems/not-authorized-for-resource:
            $ref: '#/components/schemas/ResourceUnauthorizedProblem'
          https://api.twitter.com/2/problems/operational-disconnect:
            $ref: '#/components/schemas/OperationalDisconnectProblem'
          https://api.twitter.com/2/problems/resource-not-found:
            $ref: '#/components/schemas/ResourceNotFoundProblem'
          https://api.twitter.com/2/problems/resource-unavailable:
            $ref: '#/components/schemas/ResourceUnavailableProblem'
          https://api.twitter.com/2/problems/rule-cap:
            $ref: '#/components/schemas/RulesCapProblem'
          https://api.twitter.com/2/problems/streaming-connection:
            $ref: '#/components/schemas/ConnectionExceptionProblem'
          https://api.twitter.com/2/problems/unsupported-authentication:
            $ref: '#/components/schemas/UnsupportedAuthenticationProblem'
          https://api.twitter.com/2/problems/usage-capped:
            $ref: '#/components/schemas/UsageCapExceededProblem'
    UserId:
      type: string
      description: >-
        Identifiant unique de cet utilisateur. Il est renvoyé sous forme de
        chaîne de caractères afin d’éviter les problèmes avec les langages et
        outils qui ne prennent pas en charge les entiers de grande taille.
      pattern: ^[0-9]{1,19}$
      example: '2244994945'
    MediaPayloadBinary:
      type: string
      description: Fichier à téléverser.
      format: binary
    MediaPayloadByte:
      type: string
      description: Fichier à téléverser.
      format: byte
    MediaCategoryOneShot:
      type: string
      description: >-
        Une valeur d’énumération de type chaîne de caractères qui identifie un
        cas d’usage de média. Cet identifiant est utilisé pour imposer des
        contraintes spécifiques à ce cas d’usage (par exemple, taille de
        fichier) et activer des fonctionnalités avancées.
      enum:
        - tweet_image
        - dm_image
        - subtitles
      example: tweet_image
    MediaId:
      type: string
      description: L’identifiant unique de ce média.
      pattern: ^[0-9]{1,19}$
      example: '1146654567674912769'
    MediaKey:
      type: string
      description: L’identifiant Media Key pour cette pièce jointe.
      pattern: ^([0-9]+)_([0-9]+)$
    ProcessingInfo:
      type: object
      required:
        - type
      properties:
        check_after_secs:
          type: integer
          description: Nombre de secondes avant de vérifier à nouveau le statut.
          format: int32
        progress_percent:
          type: integer
          description: Pourcentage d’avancement du téléversement.
          format: int32
        state:
          type: string
          description: Statut du téléversement.
          enum:
            - succeeded
            - in_progress
            - pending
            - failed
    GenericProblem:
      description: >-
        Problème générique ne contenant aucune information supplémentaire
        au-delà de celle fournie par le code d’état HTTP.
      allOf:
        - $ref: '#/components/schemas/Problem'
    ClientDisconnectedProblem:
      description: Votre client a été déconnecté.
      allOf:
        - $ref: '#/components/schemas/Problem'
    ClientForbiddenProblem:
      description: >-
        Un problème indiquant que votre client n’est pas autorisé à effectuer
        cette requête.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            reason:
              type: string
              enum:
                - official-client-forbidden
                - client-not-enrolled
            registration_url:
              type: string
              format: uri
    ConflictProblem:
      description: >-
        Vous ne pouvez pas créer de nouvelle tâche si une tâche est déjà en
        cours.
      allOf:
        - $ref: '#/components/schemas/Problem'
    DisallowedResourceProblem:
      description: >-
        Objet Problem qui indique que la ressource demandée enfreint les
        principes de cette API.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - resource_id
            - resource_type
            - section
          properties:
            resource_id:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
            section:
              type: string
              enum:
                - data
                - includes
    DuplicateRuleProblem:
      description: La règle que vous avez soumise est un doublon.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            id:
              type: string
            value:
              type: string
    InvalidRequestProblem:
      description: Un Problem qui indique que cette requête est invalide.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            errors:
              type: array
              minItems: 1
              items:
                type: object
                properties:
                  message:
                    type: string
                  parameters:
                    type: object
                    additionalProperties:
                      type: array
                      items:
                        type: string
    InvalidRuleProblem:
      description: La règle que vous avez soumise est invalide.
      allOf:
        - $ref: '#/components/schemas/Problem'
    NonCompliantRulesProblem:
      description: >-
        Un Problem indiquant que l'ensemble de règles de l'utilisateur n'est pas
        conforme.
      allOf:
        - $ref: '#/components/schemas/Problem'
    FieldUnauthorizedProblem:
      description: >-
        Un problème indiquant que vous n’êtes pas autorisé à voir un champ
        particulier d’un Tweet, d’un utilisateur, etc.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - resource_type
            - field
            - section
          properties:
            field:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
            section:
              type: string
              enum:
                - data
                - includes
    ResourceUnauthorizedProblem:
      description: >-
        Un problème indiquant que vous n’êtes pas autorisé à voir un Tweet, un
        utilisateur, etc. donné.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - value
            - resource_id
            - resource_type
            - section
            - parameter
          properties:
            parameter:
              type: string
            resource_id:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
            section:
              type: string
              enum:
                - data
                - includes
            value:
              type: string
    OperationalDisconnectProblem:
      description: Vous avez été déconnecté pour des raisons opérationnelles.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            disconnect_type:
              type: string
              enum:
                - OperationalDisconnect
                - UpstreamOperationalDisconnect
                - ForceDisconnect
                - UpstreamUncleanDisconnect
                - SlowReader
                - InternalError
                - ClientApplicationStateDegraded
                - InvalidRules
    ResourceNotFoundProblem:
      description: >-
        Un Problem qui indique qu’un Tweet, un utilisateur, etc. donné n’existe
        pas.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - parameter
            - value
            - resource_id
            - resource_type
          properties:
            parameter:
              type: string
              minLength: 1
            resource_id:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
            value:
              type: string
              description: La valeur sera conforme au schéma du champ.
    ResourceUnavailableProblem:
      description: >-
        Un problème indiquant qu’un Tweet, un utilisateur, etc. donné n’est pas
        disponible pour vous.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          required:
            - parameter
            - resource_id
            - resource_type
          properties:
            parameter:
              type: string
              minLength: 1
            resource_id:
              type: string
            resource_type:
              type: string
              enum:
                - user
                - tweet
                - media
                - list
                - space
    RulesCapProblem:
      description: Vous avez dépassé le nombre maximal de règles autorisées.
      allOf:
        - $ref: '#/components/schemas/Problem'
    ConnectionExceptionProblem:
      description: >-
        Un objet Problem indiquant qu’il y a un dysfonctionnement avec la
        connexion.
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            connection_issue:
              type: string
              enum:
                - TooManyConnections
                - ProvisioningSubscription
                - RuleConfigurationIssue
                - RulesInvalidIssue
    UnsupportedAuthenticationProblem:
      description: >-
        Un Problem indiquant que le mécanisme d’authentification utilisé n’est
        pas pris en charge.
      allOf:
        - $ref: '#/components/schemas/Problem'
    UsageCapExceededProblem:
      description: Un Problem qui indique qu’un plafond d’utilisation a été dépassé
      allOf:
        - $ref: '#/components/schemas/Problem'
        - type: object
          properties:
            period:
              type: string
              enum:
                - Daily
                - Monthly
            scope:
              type: string
              enum:
                - Account
                - Product
  securitySchemes:
    OAuth2UserToken:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.x.com/2/oauth2/authorize
          tokenUrl: https://api.x.com/2/oauth2/token
          scopes:
            block.read: View accounts you have blocked.
            bookmark.read: Read your bookmarked Posts.
            bookmark.write: Create and delete your bookmarks.
            dm.read: Read all your Direct Messages.
            dm.write: Send and manage your Direct Messages.
            follows.read: View accounts you follow and accounts following you.
            follows.write: Follow and unfollow accounts on your behalf.
            like.read: View Posts you have liked and likes you can see.
            like.write: Like and unlike Posts on your behalf.
            list.read: >-
              View Lists, members, and followers of Lists you created or are a
              member of, including private Lists.
            list.write: Create and manage Lists on your behalf.
            media.write: Upload media, such as photos and videos, on your behalf.
            mute.read: View accounts you have muted.
            mute.write: Mute and unmute accounts on your behalf.
            offline.access: Request a refresh token for the app.
            space.read: View all Spaces you have access to.
            timeline.read: >-
              View all Custom Timelines you can see, including public Custom
              Timelines from other developers.
            tweet.moderate.write: Hide and unhide replies to your Posts.
            tweet.read: >-
              View all Posts you can see, including those from protected
              accounts.
            tweet.write: Post and repost on your behalf.
            users.read: View any account you can see, including protected accounts.
    UserToken:
      type: http
      scheme: OAuth

````