> ## Documentation Index
> Fetch the complete documentation index at: https://www.ayrshare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate Alt Text

> Create AI-generated alt text for images by passing an image URL, with optional keywords to include and a language code for the output alt text.

Create AI-generated alt text for your images. Choose the language to write the alt text and keywords to include in the alt text.

## Header Parameters

**Authorization** `string` *required*

[API Key](https://www.ayrshare.com/docs/apis/overview.md#authorization) of the Primary Profile.

Format: `Authorization: Bearer API_KEY`

## Body Parameters

**url** `string` *required*

Image URL of the image to create the alt text. Must start with `https://`. Supports JPEG, PNG, GIF, WEBP, and BMP.

**keywords** `array`

String array of keywords or phrases to be considered when generating the alt text. Typically only one or two of the keywords from the array will be used in the alt text.

**lang** `string`

Language to output the alt text. Use one of the available [language codes](https://www.ayrshare.com/docs/iso-codes/language.md).

```bash cURL theme={"system"}
curl \
-H "Authorization: Bearer API_KEY" \
-H 'Content-Type: application/json' \
-d '{"url": "https://img.ayrshare.com/012/gb.jpg"}' \
-X POST https://api.ayrshare.com/api/generate/altText
```

```javascript JavaScript theme={"system"}
const API_KEY = "API_KEY";
fetch("https://api.ayrshare.com/api/generate/altText", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "Authorization": `Bearer ${API_KEY}`
      },
      body: JSON.stringify({
        url: "https://img.ayrshare.com/012/gb.jpg", // required
      }),
    })
      .then((res) => res.json())
      .then((json) => console.log(json))
      .catch(console.error);
```

```python Python theme={"system"}
import requests

payload = {'url': 'https://img.ayrshare.com/012/gb.jpg'}
headers = {'Content-Type': 'application/json',
        'Authorization': 'Bearer API_KEY'}

r = requests.post('https://api.ayrshare.com/api/generate/altText',
    json=payload,
    headers=headers)

print(r.json())
```

```php PHP theme={"system"}
    $curl = curl_init();
$data = array (
  "url" => "https://img.ayrshare.com/012/gb.jpg"
);

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://api.ayrshare.com/api/generate/altText',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => http_build_query($data),
  CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer API_KEY',
    'Accept-Encoding: gzip'
  ),
));

$response = curl_exec($curl);
curl_close($curl);
echo $response;
```

```csharp C# theme={"system"}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using System.Text.Json;

class Program
{
    // Replace 'YOUR_API_KEY' with your actual Ayrshare API key
    private const string API_KEY = "YOUR_API_KEY";
    private static readonly HttpClient client = new HttpClient();

    static async Task Main(string[] args)
    {
        string imageUrl = "https://img.ayrshare.com/012/gb.jpg";

        try
        {
            var result = await GenerateAltTextAsync(imageUrl);
            Console.WriteLine("Generated Alt Text:");
            Console.WriteLine(JsonSerializer.Serialize(result, new JsonSerializerOptions { WriteIndented = true }));
        }
        catch (Exception e)
        {
            Console.WriteLine($"An error occurred: {e.Message}");
        }
    }

    static async Task<JsonElement> GenerateAltTextAsync(string imageUrl)
    {
        var url = "https://api.ayrshare.com/api/generate/altText";
        var requestData = new { url = imageUrl };

        client.DefaultRequestHeaders.Clear();
        client.DefaultRequestHeaders.Add("Authorization", $"Bearer {API_KEY}");

        var json = JsonSerializer.Serialize(requestData);
        var content = new StringContent(json, Encoding.UTF8, "application/json");

        var response = await client.PostAsync(url, content);

        if (!response.IsSuccessStatusCode)
        {
            throw new HttpRequestException($"HTTP error! status: {response.StatusCode}");
        }

        var responseBody = await response.Content.ReadAsStringAsync();
        return JsonSerializer.Deserialize<JsonElement>(responseBody);
    }
}
```

```json 200: Alt Text Generated theme={"system"}
{
    "status": "success",
    "altText": "A ghostbusters vehicle driving through a field.",
    "url": "https://img.ayrshare.com/012/gb.jpg"
}
```

```json 500: Error with the Image File theme={"system"}
{
  "action": "upload",
  "status": "error",
  "code": 115,
  "message": "An error occurred uploading your file, such as a timeout at the social network. Please try your post again with the /retryPost endpoint."
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.