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_pathreturned 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

Output
Golden Sunburst Over Mountain Ridges
