# Create from a Topic Prompt

This snippet recreates the [💡 Create from a Topic Prompt](https://docs.autocontentapi.com/quick-start/explainer-videos/from-topic) recipe using Java. Review the [Java guide](https://github.com/miguelpieras/autocontentapi-docs/blob/main/code-samples/java.md) for environment setup before running it.

```java
// Requires Java 17+ (text blocks) and the java.net.http module.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class FromTopicSample {
    public static void main(String[] args) throws Exception {
        String token = System.getenv().getOrDefault("AUTOCONTENT_TOKEN", "YOUR_API_TOKEN");
        String payload = """
{
  "outputType": "video",
  "topic": "How remote teams can stay productive",
  "text": "Focus on tactics for hybrid startups."
}
""";

        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://api.autocontentapi.com/content/Create"))
                .header("Authorization", "Bearer " + token)
                .header("Accept", "application/json")
                .header("Content-Type", "application/json")
                .POST(HttpRequest.BodyPublishers.ofString(payload))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        if (response.statusCode() >= 400) {
            System.err.println("Request failed: " + response.statusCode());
            System.err.println(response.body());
            System.exit(1);
        }

        System.out.println("Request accepted: " + response.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-topic)
* [Java guide](https://github.com/miguelpieras/autocontentapi-docs/blob/main/code-samples/java.md)
