curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"mediaUrls": ["https://example.com/watermark.png"],
"timingType": "offsetFromStart",
"offsetMs": 15000,
"durationMs": 30000
}' \
-X POST https://api.ayrshare.com/api/post/youTubeWatermark
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/post/youTubeWatermark", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`
},
body: JSON.stringify({
mediaUrls: ["https://example.com/watermark.png"],
timingType: "offsetFromStart",
offsetMs: 15000,
durationMs: 30000
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {
'mediaUrls': ['https://example.com/watermark.png'],
'timingType': 'offsetFromStart',
'offsetMs': 15000,
'durationMs': 30000
}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'
}
r = requests.post('https://api.ayrshare.com/api/post/youTubeWatermark',
json=payload,
headers=headers)
print(r.json())
<?php
$apiUrl = 'https://api.ayrshare.com/api/post/youTubeWatermark';
$apiKey = 'API_KEY'; // Replace 'API_KEY' with your actual API key
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
];
$data = json_encode([
'mediaUrls' => ['https://example.com/watermark.png'],
'timingType' => 'offsetFromStart',
'offsetMs' => 15000,
'durationMs' => 30000
]);
$curl = curl_init($apiUrl);
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
if ($response === false) {
echo 'Curl error: ' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace SetYouTubeWatermark_csharp
{
class SetYouTubeWatermark
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/post/youTubeWatermark";
// Set up request headers
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
// Prepare JSON content
string json = @"{
""mediaUrls"": [""https://example.com/watermark.png""],
""timingType"": ""offsetFromStart"",
""offsetMs"": 15000,
""durationMs"": 30000
}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
// Send POST request
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
// Read response
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
{
"status": "success",
"message": "Watermark set successfully",
"mediaUrls": [
"https://example.com/watermark.png"
],
"timingType": "offsetFromStart",
"offsetMs": 1000,
"durationMs": 5000
}
{
"action": "post",
"status": "error",
"code": 140,
"message": "The image aspect ratio must be between 1 and 1. Current image aspect ratio: 1085/723 (1.50). https://www.ayrshare.com/docs/media-guidelines/youtube "
}
{
"status": "error",
"code": 307,
"message": "Media type 'image/webp' is not supported. "
}
{
"status": "error",
"code": 250,
"message": "The watermark cannot be set for this channel. Please check that you have proper permissions and the channel is valid."
}
YouTube
Establecer una marca de agua en YouTube
Establece una marca de agua en tu canal de YouTube
POST
/
post
/
youTubeWatermark
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"mediaUrls": ["https://example.com/watermark.png"],
"timingType": "offsetFromStart",
"offsetMs": 15000,
"durationMs": 30000
}' \
-X POST https://api.ayrshare.com/api/post/youTubeWatermark
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/post/youTubeWatermark", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`
},
body: JSON.stringify({
mediaUrls: ["https://example.com/watermark.png"],
timingType: "offsetFromStart",
offsetMs: 15000,
durationMs: 30000
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {
'mediaUrls': ['https://example.com/watermark.png'],
'timingType': 'offsetFromStart',
'offsetMs': 15000,
'durationMs': 30000
}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'
}
r = requests.post('https://api.ayrshare.com/api/post/youTubeWatermark',
json=payload,
headers=headers)
print(r.json())
<?php
$apiUrl = 'https://api.ayrshare.com/api/post/youTubeWatermark';
$apiKey = 'API_KEY'; // Replace 'API_KEY' with your actual API key
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
];
$data = json_encode([
'mediaUrls' => ['https://example.com/watermark.png'],
'timingType' => 'offsetFromStart',
'offsetMs' => 15000,
'durationMs' => 30000
]);
$curl = curl_init($apiUrl);
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
if ($response === false) {
echo 'Curl error: ' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace SetYouTubeWatermark_csharp
{
class SetYouTubeWatermark
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/post/youTubeWatermark";
// Set up request headers
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
// Prepare JSON content
string json = @"{
""mediaUrls"": [""https://example.com/watermark.png""],
""timingType"": ""offsetFromStart"",
""offsetMs"": 15000,
""durationMs"": 30000
}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
// Send POST request
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
// Read response
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
{
"status": "success",
"message": "Watermark set successfully",
"mediaUrls": [
"https://example.com/watermark.png"
],
"timingType": "offsetFromStart",
"offsetMs": 1000,
"durationMs": 5000
}
{
"action": "post",
"status": "error",
"code": 140,
"message": "The image aspect ratio must be between 1 and 1. Current image aspect ratio: 1085/723 (1.50). https://www.ayrshare.com/docs/media-guidelines/youtube "
}
{
"status": "error",
"code": 307,
"message": "Media type 'image/webp' is not supported. "
}
{
"status": "error",
"code": 250,
"message": "The watermark cannot be set for this channel. Please check that you have proper permissions and the channel is valid."
}
Establece una imagen de marca de agua en tu canal de YouTube que aparecerá en todos tus vídeos. La marca de agua puede configurarse para aparecer en momentos concretos durante la reproducción del vídeo.
- La posición se establece automáticamente en la esquina inferior derecha (valor por defecto de la API de YouTube)
- Todos los parámetros de tiempo
timingType,offsetMsydurationMsson obligatorios al establecer una marca de agua - Las marcas de agua se aplican a todos los vídeos del canal (existentes y futuros)
- La imagen de la marca de agua debe cumplir las directrices de contenido de marca de agua de YouTube
- Debes tener los permisos adecuados para gestionar el canal de YouTube
Parámetros de cabecera
Parámetros del cuerpo
Array con la URL de la imagen de la marca de agua. Solo se utilizará la primera URL.
Cuándo mostrar la marca de agua durante la reproducción del vídeo.Opciones disponibles de timingType:
offsetFromStart- Muestra la marca de agua a partir de un momento específico después de que empiece el vídeooffsetFromEnd- Muestra la marca de agua a partir de un momento específico antes de que termine el vídeo
Desfase temporal en milisegundos. Debe ser un número positivo.
- Para
offsetFromStart: tiempo después del inicio del vídeo para mostrar la marca de agua - Para
offsetFromEnd: tiempo antes del final del vídeo para mostrar la marca de agua
Durante cuánto tiempo se muestra la marca de agua, en milisegundos. Debe ser un número positivo.
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"mediaUrls": ["https://example.com/watermark.png"],
"timingType": "offsetFromStart",
"offsetMs": 15000,
"durationMs": 30000
}' \
-X POST https://api.ayrshare.com/api/post/youTubeWatermark
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/post/youTubeWatermark", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`
},
body: JSON.stringify({
mediaUrls: ["https://example.com/watermark.png"],
timingType: "offsetFromStart",
offsetMs: 15000,
durationMs: 30000
}),
})
.then((res) => res.json())
.then((json) => console.log(json))
.catch(console.error);
import requests
payload = {
'mediaUrls': ['https://example.com/watermark.png'],
'timingType': 'offsetFromStart',
'offsetMs': 15000,
'durationMs': 30000
}
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer API_KEY'
}
r = requests.post('https://api.ayrshare.com/api/post/youTubeWatermark',
json=payload,
headers=headers)
print(r.json())
<?php
$apiUrl = 'https://api.ayrshare.com/api/post/youTubeWatermark';
$apiKey = 'API_KEY'; // Replace 'API_KEY' with your actual API key
$headers = [
'Content-Type: application/json',
'Authorization: Bearer ' . $apiKey,
];
$data = json_encode([
'mediaUrls' => ['https://example.com/watermark.png'],
'timingType' => 'offsetFromStart',
'offsetMs' => 15000,
'durationMs' => 30000
]);
$curl = curl_init($apiUrl);
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => $data
]);
$response = curl_exec($curl);
if ($response === false) {
echo 'Curl error: ' . curl_error($curl);
} else {
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
}
curl_close($curl);
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
namespace SetYouTubeWatermark_csharp
{
class SetYouTubeWatermark
{
private static readonly HttpClient client = new HttpClient();
static async Task Main(string[] args)
{
string API_KEY = "API_KEY";
string url = "https://api.ayrshare.com/api/post/youTubeWatermark";
// Set up request headers
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + API_KEY);
// Prepare JSON content
string json = @"{
""mediaUrls"": [""https://example.com/watermark.png""],
""timingType"": ""offsetFromStart"",
""offsetMs"": 15000,
""durationMs"": 30000
}";
var content = new StringContent(json, Encoding.UTF8, "application/json");
try
{
// Send POST request
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
// Read response
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch (HttpRequestException e)
{
Console.WriteLine($"Error: {e.Message}");
}
}
}
}
{
"status": "success",
"message": "Watermark set successfully",
"mediaUrls": [
"https://example.com/watermark.png"
],
"timingType": "offsetFromStart",
"offsetMs": 1000,
"durationMs": 5000
}
{
"action": "post",
"status": "error",
"code": 140,
"message": "The image aspect ratio must be between 1 and 1. Current image aspect ratio: 1085/723 (1.50). https://www.ayrshare.com/docs/media-guidelines/youtube "
}
{
"status": "error",
"code": 307,
"message": "Media type 'image/webp' is not supported. "
}
{
"status": "error",
"code": 250,
"message": "The watermark cannot be set for this channel. Please check that you have proper permissions and the channel is valid."
}
⌘I
