curl --request POST \
--url https://api.x.com/2/media/upload \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"media": "<string>",
"media_category": "tweet_image",
"additional_owners": [
"2244994945"
],
"media_type": "image/png",
"shared": false
}
'import requests
url = "https://api.x.com/2/media/upload"
payload = {
"media": "<string>",
"media_category": "tweet_image",
"additional_owners": ["2244994945"],
"media_type": "image/png",
"shared": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
media: '<string>',
media_category: 'tweet_image',
additional_owners: ['2244994945'],
media_type: 'image/png',
shared: false
})
};
fetch('https://api.x.com/2/media/upload', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.x.com/2/media/upload",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'media' => '<string>',
'media_category' => 'tweet_image',
'additional_owners' => [
'2244994945'
],
'media_type' => 'image/png',
'shared' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.x.com/2/media/upload"
payload := strings.NewReader("{\n \"media\": \"<string>\",\n \"media_category\": \"tweet_image\",\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_type\": \"image/png\",\n \"shared\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.x.com/2/media/upload")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"media\": \"<string>\",\n \"media_category\": \"tweet_image\",\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_type\": \"image/png\",\n \"shared\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/media/upload")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"media\": \"<string>\",\n \"media_category\": \"tweet_image\",\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_type\": \"image/png\",\n \"shared\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "1146654567674912769",
"media_key": "<string>",
"expires_after_secs": 123,
"processing_info": {
"check_after_secs": 123,
"progress_percent": 123,
"state": "succeeded"
},
"size": 123
},
"errors": [
{
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"status": 123
}
]
}{
"code": 123,
"message": "<string>"
}Téléverser des médias
Téléverse un fichier média à utiliser dans des Publications ou d’autres types de contenu.
curl --request POST \
--url https://api.x.com/2/media/upload \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"media": "<string>",
"media_category": "tweet_image",
"additional_owners": [
"2244994945"
],
"media_type": "image/png",
"shared": false
}
'import requests
url = "https://api.x.com/2/media/upload"
payload = {
"media": "<string>",
"media_category": "tweet_image",
"additional_owners": ["2244994945"],
"media_type": "image/png",
"shared": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
media: '<string>',
media_category: 'tweet_image',
additional_owners: ['2244994945'],
media_type: 'image/png',
shared: false
})
};
fetch('https://api.x.com/2/media/upload', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.x.com/2/media/upload",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'media' => '<string>',
'media_category' => 'tweet_image',
'additional_owners' => [
'2244994945'
],
'media_type' => 'image/png',
'shared' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.x.com/2/media/upload"
payload := strings.NewReader("{\n \"media\": \"<string>\",\n \"media_category\": \"tweet_image\",\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_type\": \"image/png\",\n \"shared\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.x.com/2/media/upload")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"media\": \"<string>\",\n \"media_category\": \"tweet_image\",\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_type\": \"image/png\",\n \"shared\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/media/upload")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"media\": \"<string>\",\n \"media_category\": \"tweet_image\",\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_type\": \"image/png\",\n \"shared\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "1146654567674912769",
"media_key": "<string>",
"expires_after_secs": 123,
"processing_info": {
"check_after_secs": 123,
"progress_percent": 123,
"state": "succeeded"
},
"size": 123
},
"errors": [
{
"title": "<string>",
"type": "<string>",
"detail": "<string>",
"status": 123
}
]
}{
"code": 123,
"message": "<string>"
}Autorisations
The access token received from the authorization server in the OAuth 2.0 flow.
Corps
Fichier à téléverser.
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.
tweet_image, dm_image, subtitles "tweet_image"
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.
^[0-9]{1,19}$Le type d’image ou de sous-titre.
text/srt, text/vtt, image/jpeg, image/bmp, image/png, image/webp, image/pjpeg, image/tiff "image/png"
Indique si ce média est partagé ou non.
Réponse
La requête a réussi.
Réponse renvoyée lors de la récupération du statut d’une requête de téléversement de média.
Show child attributes
Show child attributes
1Un objet HTTP Problem Details, tel que défini dans la RFC IETF 7807 (https://tools.ietf.org/html/rfc7807).
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
- Option 12
- Option 13
- Option 14
- Option 15
- Option 16
- Option 17
- Option 18
Show child attributes
Show child attributes