# Create from Raw Text

This snippet recreates the [📝 Create from Raw Text](https://docs.autocontentapi.com/quick-start/explainer-videos/from-text) 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/Create";

var payloadJson = """
{
  "outputType": "video",
  "resources": [
    {
      "type": "text",
      "content": "Paragraph one... Paragraph two..."
    }
  ],
  "text": "Transform this memo into a conversational segment."
}
""";

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);
request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

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/explainer-videos/from-text)
* [C# guide](https://github.com/miguelpieras/autocontentapi-docs/blob/main/code-samples/csharp.md)
