基础信息
查看接口基本信息和返回格式 接口描述
七日请求统计
本周总请求: -
日均: -
请求方式
GET
请求地址
https://api.ahfi.cn/api/DoubaoVideoResolver
返回方式
JSON
默认返回格式,包含完整数据结构
返回预览
JSON
{
"code": 200,
"message": "解析成功,共 1 条视频直链",
"data": {
"videos": [
{
"url": "https://v3-default.douyin.com/727af12aa46ececb70b5b4262814c073/6a9309e8/video/tos/cn/tos-cn-v-9ecd54/789ef38bf7c64f0e8f9d93b2ea334059/?a=1938&ch=0&cr=4&dr=0&er=0&lr=unwatermarked&net=5&cd=0%7C0%7C0%7C4&cv=1&br=23238&bt=23238&cs=0&ds=3&ft=GZXB3qLMffPdXP~ka1jNvAq-fXzdPrKESYmuRkaUz5GSejVhWL6&mime_type=video_mp4&qs=13&rc=M3dqcDdvOmtpZDczNGY5M0BpM3dqcDdvOmtpZDczNGY5M0A0cjRqYWFuZzZhLS1kNi9zYSM0cjRqYWFuZzZhLS1kNi9zcw%3D%3D&btag=80000e00008000&dy_q=1788017614&l=202608292333344A311339AB2ABC73E85C",
"width": 1280,
"height": 720,
"definition": "720p",
"duration": 10.05,
"quality": "original",
"codec_type": "h264",
"size": 29894141,
"poster_url": "https://p26-sign.douyinpic.com/tos-cn-p-9ecd54/oI5lxqR1kMj2p80eARQ86SnRHwBgHaI1CeCBcv~tplv-noop.image?dy_q=1788017614&l=202608292333344A311339AB2ABC73E85C&x-expires=1788021224&x-signature=fuIGYWBW9BTQ96j9jX2PCpyB1Ts%3D",
"video_id": "v0269cg10004da9fjhq7dld4mm7gut70"
}
],
"thread_id": "x7sxJKzzgprLqNmDJ",
"count": 1
}
}计费标准
了解接口的计费方式和价格
付费接口定价
付费
每日免费
3
次
超出后计费
普通用户
余额扣费
0.02元/次
会员用户
余额扣费
0.01元/次
QPS限制
普通用户
不限
会员用户
不限
每日请求次数
普通用户
不限
会员用户
不限
安全认证
了解接口的认证方式和访问凭证管理 Token 认证
实名认证
无需实名认证
本接口对所有用户开放,无需实名认证即可访问
认证方式
推荐
Header 认证
通过 HTTP Header 传递认证信息
Authorization
Bearer {access_token}或通过curl请求参数传递:
curl
curl "https://api.ahfi.cn/api/DoubaoVideoResolver?token=YOUR_TOKEN"
参数文档
查看接口请求参数和返回字段说明 请求参数
| 参数名 | 类型 | 必填 | 默认值 | 可选值 | 说明 |
|---|---|---|---|---|---|
| token | string | 必填 | 无 | 登录后显示你的请求token | 接口请求唯一认证标识! |
| url | string | 可选 | json | json | 分享链接(doubao.com 的 /thread/{id} 或 video-sharing?video_id=xxx) |
返回参数
| 字段名 | 类型 | 说明 |
|---|---|---|
code
|
int | 状态码,200 成功,400 参数错误,404 未找到,500 查询失败,501 接口不存在 |
message
|
string | 响应说明 |
data
|
object | 层级对象 |
|
│
videos
|
array | 数组 |
|
│
│
videos[0]
|
object | 层级对象 |
|
│
│
│
├─
url
|
string | 无水印视频直链(含签名,会过期) |
|
│
│
│
├─
width
|
int | 宽度 |
|
│
│
│
├─
height
|
int | 高度 |
|
│
│
│
├─
definition
|
string | 清晰度 |
|
│
│
│
├─
duration
|
float | 时长(秒) |
|
│
│
│
├─
quality
|
string | 画质标识:original 原片 / normal 普通 |
|
│
│
│
├─
codec_type
|
string | 编码格式 |
|
│
│
│
├─
size
|
int | 文件大小(字节,接口侧声明值) |
|
│
│
│
├─
poster_url
|
string | 封面图 |
|
│
│
│
└─
video_id
|
string | 视频 ID |
|
│
├─
thread_id
|
string | thread 链接解析出的 id;非 thread 为空字符串 |
|
│
└─
count
|
int | 视频数量 |
状态码
了解接口返回的状态码含义及处理方式 接口状态码
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 201 | 请求失败 |
服务器状态码
| 状态码 | 说明 |
|---|---|
| 500 | 服务器错误 |
| 501 | 请求接口不存在 |
| 502 | 请求接口已下架 |
| 503 | 请求接口维护中 |
| 504 | 缺少请求token参数 |
| 505 | 请求token不存在 |
| 506 | 请求token已被封禁 |
| 507 | 请求token额度不足 |
| 508 | 今日请求token已达上限 |
| 509 | 请求ip不在token白名单内 |
| 510 | 请求token无权使用当前接口 |
| 511 | 接口请求频率过高,请稍后再试 |
| 512 | 该接口未开启在线测试功能 |
| 513 | 今日在线测试次数已达上限 |
| 514 | 今日该接口请求次数已达上限 |
| 515 | 该接口为会员专属接口,请携带会员token |
| 516 | 该接口为会员专属接口,请开通会员 |
| 517 | 接口请求过于频繁,已被临时限制 |
| 518 | 该接口需要实名认证,请先完成实名认证 |
| 519 | 当前Token今日请求次数已达上限 |
| 520 | 当前Token已被禁止使用 |
| 521 | 请求token余额不足 |
| 522 | 请求token额度和余额均不足 |
| 530 | 接口服务异常,请稍后再试 |
| 531 | 接口响应超时 |
| 532 | 接口返回数据格式错误 |
| 533 | 接口请求失败 |
在线测试
在线调试接口,实时查看响应结果 发起请求
GET
示例代码
多种语言的接口调用示例PHP
JavaScript
NodeJs
Python
Go
Java
C#
C
C++
易语言
PHP
<?php
$API_TOKEN = 'YOUR_TOKEN';
$API_URL = 'https://api.ahfi.cn/api/DoubaoVideoResolver';
$params = array(
'token' => 'YOUR_TOKEN',
'url' => 'json',
);
$res = api::send($API_URL, $params, 'GET');
print($res);
class api {
public static function send($url, $data, $type) {
$data = http_build_query($data);
$ch = curl_init();
if ($type == 'POST') {
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
} else {
curl_setopt($ch, CURLOPT_URL, $url . '?' . $data);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$res = curl_exec($ch);
curl_close($ch);
return $res;
}
}JavaScript
$.ajax({
url: 'https://api.ahfi.cn/api/DoubaoVideoResolver',
data: {
token: 'YOUR_TOKEN',
url: 'json',
},
type: 'GET',
dataType: 'json',
success: function(data) {
console.log(data);
},
error: function(err) {
console.log('请求失败', err);
}
});Python
import requests
url = "https://api.ahfi.cn/api/DoubaoVideoResolver"
data = {
"token": "YOUR_TOKEN",
"url": "json",
}
response = requests.get(url, params=data)
print(response.json())Java
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.*;
public class ApiRequest {
public static void main(String[] args) throws Exception {
URL url = new URL("https://api.ahfi.cn/api/DoubaoVideoResolver?token=YOUR_TOKEN&url=json");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(10000);
BufferedReader reader = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder result = new StringBuilder();
while ((line = reader.readLine()) != null) {
result.append(line);
}
reader.close();
System.out.println(result.toString());
}
}Go
package main
import (
"fmt"
"io/ioutil"
"net/http"
"net/url"
)
func main() {
params := url.Values{}
params.Add("token", "YOUR_TOKEN")
params.Add("url", "json")
resp, _ := http.Get("https://api.ahfi.cn/api/DoubaoVideoResolver?" + params.Encode())
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}C#
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
using var client = new HttpClient();
var url = "https://api.ahfi.cn/api/DoubaoVideoResolver?token=YOUR_TOKEN&url=json";
var response = await client.GetStringAsync(url);
Console.WriteLine(response);
}
}NodeJs
const https = require('https');
const querystring = require('querystring');
const params = querystring.stringify({
'token': 'YOUR_TOKEN',
'url': 'json',
});
https.get('https://api.ahfi.cn/api/DoubaoVideoResolver?' + params, res => {
let data = '';
res.on('data', d => data += d);
res.on('end', () => console.log(data));
});
C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <curl/curl.h>
static size_t WriteCallback(void *contents, size_t size, size_t nmemb, void *userp) {
((char*)userp)[0] = '\0';
strcat(userp, contents);
return size * nmemb;
}
int main() {
CURL *curl;
CURLcode res;
char response[4096] = {0};
curl_global_init(CURL_GLOBAL_DEFAULT);
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://api.ahfi.cn/api/DoubaoVideoResolver?token=YOUR_TOKEN&url=json");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, response);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10L);
res = curl_easy_perform(curl);
if(res == CURLE_OK) printf("%s\n", response);
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}C++
#include <iostream>
#include <string>
#include <curl/curl.h>
size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) {
userp->append((char*)contents, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl = curl_easy_init();
std::string response;
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://api.ahfi.cn/api/DoubaoVideoResolver?token=YOUR_TOKEN&url=json");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &response);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 10L);
CURLcode res = curl_easy_perform(curl);
if (res == CURLE_OK) std::cout << response << std::endl;
curl_easy_cleanup(curl);
}
curl_global_cleanup();
return 0;
}易语言
.版本 2 .支持库 spec .局部变量 url, 文本型 .局部变量 params, 文本型 .局部变量 result, 文本型 url = "https://api.ahfi.cn/api/DoubaoVideoResolver" params = "token=YOUR_TOKEN&url=json" result = 编码_URL解码 (网页_访问 (url + "?" + params)) 调试输出 (result)
AI开发文档
导出接口文档供AI助手快速理解接口结构
复制下方内容粘贴给AI助手,即可快速生成对接代码。
JSON 格式
0 KB