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
Définir un filigrane YouTube
Définissez un filigrane sur votre chaîne 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."
}
Définissez une image de filigrane sur votre chaîne YouTube qui apparaîtra sur toutes vos vidéos. Le filigrane peut être configuré pour apparaître à des moments spécifiques pendant la lecture de la vidéo.
- La position est automatiquement définie dans le coin inférieur droit (par défaut de l’API YouTube)
- Tous les paramètres de timing
timingType,offsetMsetdurationMssont requis lors de la définition d’un filigrane - Les filigranes s’appliquent à toutes les vidéos de la chaîne (existantes et futures)
- L’image du filigrane doit respecter les directives concernant les médias de filigrane de YouTube
- Vous devez disposer des autorisations appropriées pour gérer la chaîne YouTube
Paramètres d’en-tête
Paramètres du corps
array
requis
Tableau contenant l’URL de l’image du filigrane. Seule la première URL sera utilisée.
string
requis
Quand afficher le filigrane pendant la lecture de la vidéo.Options timingType disponibles :
offsetFromStart- Afficher le filigrane à partir d’un moment spécifique après le début de la vidéooffsetFromEnd- Afficher le filigrane à partir d’un moment spécifique avant la fin de la vidéo
number
requis
Décalage temporel en millisecondes. Doit être un nombre positif.
- Pour
offsetFromStart: temps après le début de la vidéo pour afficher le filigrane - Pour
offsetFromEnd: temps avant la fin de la vidéo pour afficher le filigrane
number
requis
Durée d’affichage du filigrane en millisecondes. Doit être un nombre positif.
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
