For the complete documentation index, see llms.txt. This page is also available as Markdown.

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