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