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>"
}Cargar medios
Carga un archivo multimedia para usarlo en Publicaciones u otros contenidos.
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>"
}Autorizaciones
The access token received from the authorization server in the OAuth 2.0 flow.
Cuerpo
El archivo que se va a subir.
Un valor de enumeración de tipo cadena (string) que identifica un caso de uso de contenido multimedia. Este identificador se utiliza para aplicar restricciones específicas del caso de uso (por ejemplo, tamaño de archivo) y habilitar funciones avanzadas.
tweet_image, dm_image, subtitles "tweet_image"
Identificador único de este usuario. Se devuelve como una cadena para evitar complicaciones con lenguajes de programación y herramientas que no pueden manejar números enteros grandes.
^[0-9]{1,19}$El tipo de imagen o subtítulo.
text/srt, text/vtt, image/jpeg, image/bmp, image/png, image/webp, image/pjpeg, image/tiff "image/png"
Indica si este contenido multimedia se comparte o no.
Respuesta
La solicitud se ha completado correctamente.
Una respuesta al consultar el estado de una solicitud de carga de contenido multimedia.
Show child attributes
Show child attributes
1Un objeto HTTP Problem Details, tal como se define en el IETF RFC 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