๐ŸขApply Brand Logo with projectId

Follow the brand logo slide deck recipe in PHP. projectId pulls your saved brand package (logos) into the generated deck.

<?php

$token = getenv('AUTOCONTENT_TOKEN') ?: 'YOUR_API_TOKEN';
$endpoint = 'https://api.autocontentapi.com/content/Create';

$payload = [
  'outputType' => 'slide_deck',
  'projects' => ['YOUR_PROJECT_ID'],
  'topic' => 'Annual security posture update',
  'text' => 'Executive-level slides with KPIs, risks, mitigations, and a closing CTA.',
  'duration' => 'default',
  'slideDeckFormat' => 'detailed'
];

$body = json_encode($payload);
if ($body === false) {
    fwrite(STDERR, 'Failed to encode payload: ' . json_last_error_msg() . PHP_EOL);
    exit(1);
}

$ch = curl_init($endpoint);
curl_setopt_array($ch, [
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
        'Content-Type: application/json',
        'Accept: application/json',
    ],
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $body,
    CURLOPT_RETURNTRANSFER => true,
]);

$response = curl_exec($ch);
if ($response === false) {
    fwrite(STDERR, 'Request failed: ' . curl_error($ch) . PHP_EOL);
    curl_close($ch);
    exit(1);
}

$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($status >= 400) {
    fwrite(STDERR, "HTTP $status" . PHP_EOL . $response . PHP_EOL);
    exit(1);
}

echo "Slide deck request accepted:" . PHP_EOL . $response . PHP_EOL;

Set YOUR_API_TOKEN (or AUTOCONTENT_TOKEN) and YOUR_PROJECT_ID before running.

Last updated