# Create from a Custom Script

This snippet recreates the [📜 Create from a Custom Script](https://docs.autocontentapi.com/quick-start/podcasts/from-custom-script) recipe using C#. Review the [C# guide](https://github.com/miguelpieras/autocontentapi-docs/blob/main/code-samples/csharp.md) for environment setup before running it.

```csharp
// Requires .NET 7+ for raw string literals.
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;

var token = Environment.GetEnvironmentVariable("AUTOCONTENT_TOKEN") ?? "YOUR_API_TOKEN";
var endpoint = "https://api.autocontentapi.com/content/CreatePodcastCustomScript";

var payloadJson = """
{
  "outputType": "audio",
  "script": "SPEAKER_00: Welcome back!\\nSPEAKER_01: Today we dig into productivity hacks..."
}
""";

using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Post, endpoint)
{
    Content = new StringContent(payloadJson, Encoding.UTF8, "application/json")
};
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);

var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();

if (!response.IsSuccessStatusCode)
{
    Console.Error.WriteLine("Request failed: " + (int)response.StatusCode + " " + response.ReasonPhrase);
    Console.Error.WriteLine(body);
    Environment.Exit(1);
}

Console.WriteLine("Request accepted:");
Console.WriteLine(body);
```

Replace `YOUR_API_TOKEN` (or set the `AUTOCONTENT_TOKEN` environment variable) before running the request.

**See also**

* [Scenario overview](https://docs.autocontentapi.com/quick-start/podcasts/from-custom-script)
* [C# guide](https://github.com/miguelpieras/autocontentapi-docs/blob/main/code-samples/csharp.md)
