curl --request POST \
--url https://api.x.com/2/media/upload/initialize \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"additional_owners": [
"2244994945"
],
"media_category": "tweet_video",
"media_type": "video/mp4",
"shared": true,
"total_bytes": 8589934592
}
'import requests
url = "https://api.x.com/2/media/upload/initialize"
payload = {
"additional_owners": ["2244994945"],
"media_category": "tweet_video",
"media_type": "video/mp4",
"shared": True,
"total_bytes": 8589934592
}
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({
additional_owners: ['2244994945'],
media_category: 'tweet_video',
media_type: 'video/mp4',
shared: true,
total_bytes: 8589934592
})
};
fetch('https://api.x.com/2/media/upload/initialize', 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/initialize",
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([
'additional_owners' => [
'2244994945'
],
'media_category' => 'tweet_video',
'media_type' => 'video/mp4',
'shared' => true,
'total_bytes' => 8589934592
]),
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/initialize"
payload := strings.NewReader("{\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_category\": \"tweet_video\",\n \"media_type\": \"video/mp4\",\n \"shared\": true,\n \"total_bytes\": 8589934592\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/initialize")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_category\": \"tweet_video\",\n \"media_type\": \"video/mp4\",\n \"shared\": true,\n \"total_bytes\": 8589934592\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/media/upload/initialize")
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 \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_category\": \"tweet_video\",\n \"media_type\": \"video/mp4\",\n \"shared\": true,\n \"total_bytes\": 8589934592\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>"
}Initialiser le téléversement de médias
Initialise le téléversement d’un média.
curl --request POST \
--url https://api.x.com/2/media/upload/initialize \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"additional_owners": [
"2244994945"
],
"media_category": "tweet_video",
"media_type": "video/mp4",
"shared": true,
"total_bytes": 8589934592
}
'import requests
url = "https://api.x.com/2/media/upload/initialize"
payload = {
"additional_owners": ["2244994945"],
"media_category": "tweet_video",
"media_type": "video/mp4",
"shared": True,
"total_bytes": 8589934592
}
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({
additional_owners: ['2244994945'],
media_category: 'tweet_video',
media_type: 'video/mp4',
shared: true,
total_bytes: 8589934592
})
};
fetch('https://api.x.com/2/media/upload/initialize', 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/initialize",
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([
'additional_owners' => [
'2244994945'
],
'media_category' => 'tweet_video',
'media_type' => 'video/mp4',
'shared' => true,
'total_bytes' => 8589934592
]),
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/initialize"
payload := strings.NewReader("{\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_category\": \"tweet_video\",\n \"media_type\": \"video/mp4\",\n \"shared\": true,\n \"total_bytes\": 8589934592\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/initialize")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_category\": \"tweet_video\",\n \"media_type\": \"video/mp4\",\n \"shared\": true,\n \"total_bytes\": 8589934592\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.x.com/2/media/upload/initialize")
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 \"additional_owners\": [\n \"2244994945\"\n ],\n \"media_category\": \"tweet_video\",\n \"media_type\": \"video/mp4\",\n \"shared\": true,\n \"total_bytes\": 8589934592\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
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}$Une valeur d’énumération (enum) sous forme de chaîne permettant d’identifier un cas d’usage média. Cet identifiant est utilisé pour appliquer des contraintes spécifiques au cas d’usage (par exemple, taille de fichier, durée de la vidéo) et activer des fonctionnalités avancées.
amplify_video, tweet_gif, tweet_image, tweet_video, dm_gif, dm_image, dm_video, subtitles "tweet_video"
Type de média.
video/mp4, video/webm, video/mp2t, video/quicktime, text/srt, text/vtt, image/jpeg, image/gif, image/bmp, image/png, image/webp, image/pjpeg, image/tiff, model/gltf-binary, model/vnd.usdz+zip "video/mp4"
Indique si ce média est partagé ou non.
Taille totale du média téléversé, en octets.
0 <= x <= 17179869184Ré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