> For the complete documentation index, see [llms.txt](https://docs.autocontentapi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autocontentapi.com/code-samples/explainer-videos/java/from-pdf.md).

# Create from a PDF Upload

This snippet recreates the [📄 Create from a PDF Upload](/quick-start/explainer-videos/from-pdf.md) 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 FromPdfSample {
    public static void main(String[] args) throws Exception {
        String token = System.getenv().getOrDefault("AUTOCONTENT_TOKEN", "YOUR_API_TOKEN");
        String payload = """
{
  "outputType": "video",
  "resources": [
    {
      "type": "pdf",
      "content": "BASE64_ENCODED_PDF"
    }
  ],
  "text": "Summarize the executive summary and cite supporting stats."
}
""";

        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](/quick-start/explainer-videos/from-pdf.md)
* [Java guide](https://github.com/miguelpieras/autocontentapi-docs/blob/main/code-samples/java.md)
