Skip to content

Image Captioning ​

Analyze image content and automatically generate descriptive text. Useful for large-scale image library tagging, search summary generation, and accessibility optimization.

Typical Application Scenarios ​

  • Smart Asset Management: Automatically generate tags, titles, and search summaries for massive image libraries.
  • Accessibility: Generate descriptive text for visually impaired users to enhance the accessibility experience.

API Reference used on this page POST /images/captions

Image Input Formats

Image parameters accept three formats — choose based on your workflow:

  • Previous task result: Use the asset_path returned by a prior task directly as the field value, ideal for chaining steps (e.g., generate → edit → process)
  • Base64 encoding: Format data:image/png;base64,<data>, suitable for local files or small images
  • Public URL: Any https:// accessible image link; the system downloads and processes it automatically

Basic Examples ​

bash
curl -X POST 'https://api.v2fun.ai/api/v1/images/captions' \
  -H 'Authorization: Bearer $V2FUN_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
      "input_image": "images/example.png",
      "language": "Chinese"
    }'
javascript
const response = await fetch('https://api.v2fun.ai/api/v1/images/captions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer $V2FUN_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "input_image": "images/example.png",
    "language": "Chinese"
  }),
});
const data = await response.json();
python
import requests

resp = requests.post(
    'https://api.v2fun.ai/api/v1/images/captions',
    headers={
        'Authorization': 'Bearer $V2FUN_API_KEY',
        'Content-Type': 'application/json',
    },
    json={
        "input_image": "images/example.png",
        "language": "Chinese"
    },
)
print(resp.json())
java
import java.net.URI;
import java.net.http.*;

HttpClient client = HttpClient.newHttpClient();
String body = "{\"input_image\":\"images/example.png\",\"language\":\"Chinese\"}";
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.v2fun.ai/api/v1/images/captions"))
    .header("Authorization", "Bearer $V2FUN_API_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
HttpResponse<String> response = client.send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

Core Use Cases ​

Smart Image Captioning ​

Supports specifying the output language. The AI will describe every detail of the image scene, helping you master core information even without seeing it.

bash
curl -X POST 'https://api.v2fun.ai/api/v1/images/captions' \
  -H 'Authorization: Bearer $V2FUN_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
      "input_image": "https://asset.v2fun.ai/upload/img-basic.png",
      "language": "en"
    }'
javascript
const response = await fetch('https://api.v2fun.ai/api/v1/images/captions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer $V2FUN_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    "input_image": "https://asset.v2fun.ai/upload/img-basic.png",
    "language": "en"
  }),
});
const data = await response.json();
python
import requests

resp = requests.post(
    'https://api.v2fun.ai/api/v1/images/captions',
    headers={
        'Authorization': 'Bearer $V2FUN_API_KEY',
        'Content-Type': 'application/json',
    },
    json={
        "input_image": "https://asset.v2fun.ai/upload/img-basic.png",
        "language": "en"
    },
)
print(resp.json())
java
import java.net.URI;
import java.net.http.*;

HttpClient client = HttpClient.newHttpClient();
String body = "{\"input_image\":\"https://asset.v2fun.ai/upload/img-basic.png\",\"language\":\"en\"}";
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.v2fun.ai/api/v1/images/captions"))
    .header("Authorization", "Bearer $V2FUN_API_KEY")
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(body))
    .build();
HttpResponse<String> response = client.send(
    request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
Input Image
Input Image
Output
Golden Sunburst Over Mountain Ridges